-
Notifications
You must be signed in to change notification settings - Fork 37
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
Library not loaded: @rpath/libffi.6.dylib #286
Comments
What installation of Python do you use (Python.org installer, homebrew, ...)? py2app currently doesn't handle @rpath correctly, fixing this will require changes to the way py2app and macholib build standalone bundles. |
I've been building from a virtualenv populated by pip, but originating from anaconda. Here is my sequence...
|
Okay, so it seems that I've been able to get it to work by creating a virtual environment as before, except originating from homebrew.
Why should the creator of the virtual environment make a difference? Isn't that the whole purpose of a virtual environment? to isolate it from any other environment? Is there something I'm missing here or some way to establish the virtual environment properly from conda? |
as an additional note, if using pyenv to create a virtual environment, it is required to set the environment variable
|
@mrclary, you just became my new favorite plasma physicist |
Thankyou, what did I do to deserve such honor? Am I the only plasma physicist on your list? In that case I'm also your least favorite plasma physicist :-) |
Why would you ever assume you're the only plasma physicist on my list?! You solved my issue, hence you're the plasma physicist MVP. Out of curiosity, why does a plasma physicist need a GUI (assuming packaging goes hand-in-hand with GUIs)? |
I use Spyder for my IDE, as do several of my fellow physicists at TAE Technologies. Currently it is launched from command line but it is desirable to have Spyder built as a standalone Mac application. |
Virtual environments isolate different projects from each other, but don't isolate you from issues with the base interpreter. In this case there is nothing wrong with the way anaconda installs Python, but it uses a platform feature that py2app does not support. The TL/DR is to use a Python installation that doesn't use the Let my try to explain the issue without getting too technical:
This ensures that the generated application bundle is standalone and can be used on other machines. When py2app and macholib were created a shared library contained a list of absolute path names of their dependencies. Between that time and now Apple added some magic variables that could be used instead of absolute path names, in particular:
Py2app/macholib contains basic support for the first two, but not for the latter because that requires significant changes to the way py2app and macholib integrate. I definitely want to support the |
Please test if this resolves ronaldoussoren#494 ronaldoussoren#482 ronaldoussoren#286 ronaldoussoren#472 on arm
I don't know if this is a bug, but I'm having trouble building an application that will work on other computers.
I've successfully built the app bundle on one computer and the application runs properly. When moving the application to another computer, however, I get the following error upon launch:
I'm guessing that I'm not giving py2app the right information to link libffi.6.dylib (and possibly others?), but I'm not sure how to do that. Although, from the traceback, I see that none of the application code has executed yet, just the py2app generated boilerplate stuff in boot.py.
I've looked through py2app examples and done exhaustive google searches to no avail.
Perhaps someone here can help me out or tell me where to start and point me in the right direction?
The text was updated successfully, but these errors were encountered: