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
Incompatible version of libcurl dylib on Mac OSX #17
Comments
Hmm, I looked into this for about 30 minutes, it seems that there is some kind of mismatch between the version of curl/libcurl detected at compile time, and the dynamic module that is being loaded at run time. I'm going to change the title of the issue, since it seems you do check the version of libcurl at compile time, but I still have this issue, I haven't been able to resolve it, so can't currently use |
So, it seems like during configure the "correct" version of libcurl is found on my system:
but when I load GAP, the system libcurl (which is version 7.0.0) is the one that I don't know if this is an issue with my system or with
|
Not that the above "fix" only works if I delete the system libcurl, which had some other rather dire consequences. |
So you’re saying I shouldn’t merge my PR that randomly deletes system libraries until the package loads? |
Maybe |
Markus suggested that @fingolfin might be able to shine some light on this. I'm well out of my depth. Perhaps also @ChrisJefferson? |
So this usually meand that no absolute (r)path for the library was linked in, so upon loading, it'll link against the first libcurl shared library it can find. This can be resolved via suitable linker flags; if you use libtool (am on phone right now, can't check), then using |
BTW what is the actual problem here? Sure, the wrong dylib is loaded; but why is that a problem? |
CurlInterface requires a newer version of libcurl than the system version of libcurl on my computer, this is the problem. At config time the "right" version of libcurl is detected (the one I installed with conda), then the "wrong" version (the system one) is linked against at link time. So, arguable this is a problem in the autohell setup of CurlInterface. |
I just noticed this ancient issue, had all but forgotten about it. I don't believe this is an issue with the "autohell" of this package, at least I don't see how. Rather, if one version of libcurl is linked at compile time and another is linked at runtime, this hints at either an issue with the compile time dylib, or one caused by global environment variables people used to override dylib search paths. Esp. on macOS, where shared library paths are by default hard linked into executables. E.g. for me, linking this package results in a linker command including the arguments Then I can run
Note the hardcoded path. I am guessing @james-d-mitchell has long since resolved the issue and/or moved to some other system config. But just in case the issue can still be reproduced, I'd be super keen on seeing the output of If it can't be reproduced by anybody right now, we should just close this :-) |
I get the following on Mac OSX:
which looks like
curlInterface
requires some specific version of libcurl, but that this isn't checked at compile time. So, the package compiles just fine, but this error occurs when I load the package in GAP.The text was updated successfully, but these errors were encountered: