Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packaging MetaCall as a portable tarball with all libs and binaries precompiled #4

Open
AkechiShiro opened this issue Jul 2, 2022 · 1 comment
Labels
enhancement New feature or request

Comments

@AkechiShiro
Copy link
Contributor

AkechiShiro commented Jul 2, 2022

I've tried to package MetaCall with Python support under an OSX-KVM VM using a bash script (build.sh).

This process has been stalled due to multiples issues encountered :

  • The following command sudo installer -pkg /path/to/package.pkg -target / does not care about the argument given to -target and always installs Python as a system dependency.

  • So I tried to package/make portable the system Python following this blog instruction, but ran into another issue, all files from the system Python installation are signed by Apple/Apple developers.

  • Tweaking the rpath of the libraries would throw this error :
    image

  • A quick search on Google about this error led us to this StackOverFlow answer :
    image

  • We disabled code signing on a few files of Python and tried again, gave us this error :
    image

  • We tried to use dtruss to trace system calls but met a bug in DTrace implementation from Apple which is at the moment closed source, and thus cannot be solved directly to understand what is going on.
    image

Hence, after discussion with @viferga and @giarve, we decided to work on Homebrew support so that we can figure out a solution later for this packaging approach.

Some solutions, we have yet to try :

Future steps

Next step should be to install python (or any other runtime in its relocatable form), here's some links about relocatable python and ruby distributions:

For Ruby support, we might want to use this :

@AkechiShiro AkechiShiro added the enhancement New feature or request label Jul 2, 2022
@viferga
Copy link
Member

viferga commented Nov 6, 2024

This has been partially solved towards a more general solution, I am leaving this here for reference: metacall/brew-pkg#4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants