-
Notifications
You must be signed in to change notification settings - Fork 18.7k
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
make pycaffe/make distribute: undefined symbols boost::python #444
Comments
This seems to be an issue with some libraries still being linked again libstdc++ and other with libc++. The output of otool shows:
When it should be linked against libstdc++ instead. Despite adding the code as shown on caffe's website, you should modify the b2 call in the ruby script. I've done it like so:
And now everything works. |
A change in the latest homebrew seems to be guilty here. Switching the formula edits to use |
Yes the new convention for editing ENV effects every package except boost. Though also for boost, I found that you have to edit the b2 call, using the args command pasted above. |
Hi, I'm compiling the pycaffe on Redhat linux. I met the similar problem. Do you have any suggestions on how to deal with that? I use libboost 1.5.5. Thx |
@pkmital I did not find I had to edit the b2 call; instead editing ENV was sufficient. Perhaps we compiled different versions or platforms (I did boost 1.55 on Ubuntu 12.04 and OS X 10.9). @liuxianming you have to be very careful to compile with the correct standard library and to make sure boost::python is built. See the latest docs in the dev branch https://github.com/BVLC/caffe/blob/dev/docs/installation.md Good luck! |
@shelhamer Thx, I fixed it. Yes, need to compile very carefully, especially when you are using anaconda. |
@liuxianming Still have the same error, how did you fixed ? |
How did you solve this issue? Need to compile Caffe on OSX Mojave. Thanks. |
I'm on OSX Mavericks, have installed dependencies with brew and edited all ruby files to include the libstdc++ flags. I've run make all, test and runtest successfully. When trying to make the python interface, though, I get linker errors referring to the boost python interface. This is the output of file on the boost python lib:
/usr/local/lib$file libboost_python.dylib libboost_python.dylib: Mach-O 64-bit dynamically linked shared library x86_64
And the output of the make script:
This is the header for function_object:
It doesn't seem to have any function like the one the linker error mentioned (3 arguments?)... I'm using boost 1.55 as per the brew installation (1.55.0 git checkout c91d4d5 Library/Formula/boost.rb)
I've also tried recompiling boost with and without c++11 with no success.
Any help appreciated!
The text was updated successfully, but these errors were encountered: