-
Notifications
You must be signed in to change notification settings - Fork 10
Update of SNOPT version and use precompiled binary for libsnopt7 #16
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
base: master
Are you sure you want to change the base?
Conversation
What currently worksThe modified Makefile works and enables building Snopt.jl. Note that, in the case of dynamic linking, some dependencies may or may not be found at execution time. This may require to export a What currently doesn't workEven when all the dependencies are found, so far, I experienced issues with the precompiled library which throws a nice segfault. On MacOSUsing either the dynamic or static library compiled for MacOS with GCC, I currently get: This might be due to how the libs were compiled. I am thinking that the compilation may have used a I can only see On LinuxUsing the static lib compiled for Linux, this time the compilation throws an error: The error seems to indicate that Using the dynamic lib compiled for Linux, it compiles (of course) but then when I run, I get: One thing we can glean here is that this Julia (BYU supercomputer module Julia/v1.6) seems to be build on top of GCC10 and |
|
FYI: @tylercritchfield and I tried this on his MAC and we observed the same behavior. |
|
@DGCaprace should I merge this or hold? I know we were never able to get the supplied precompiled libraries to work. |
|
The code in this branch is backward compatible, i.e. the default behavior is still to compile from the user-provided source code. So yes it could be merged, unless you want to leave the PR open until someone figures out the issue with the binaries. |
Newer versions of SNOPT ship with precompiled libraries (static or dynamic), and not the source code anymore. This PR makes it possible for SNOPT.jl to either link to the provided dynamic library, or to include the content of the static library and repackage it for use with Julia.
The user can still copy the SNOPT source code files to
./deps/src, like before. However, if the source code is not available, the user can copy the binary to./deps/src. With a small modification of theMakefile(instructions provided in the README), themakecommand will be able to link to the dynamic library (libsnopt7.so/libsnopt7.dylib) or include the content of the static archive (libsnopt7.a).