-
Notifications
You must be signed in to change notification settings - Fork 100
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
[Ubuntu 14.04] libpthread.so.0: error adding symbols: DSO missing from command line #2
Comments
Please try modifying the Makefile.flexDemoCUDA.mk ln57 as follows:
The order of linker libraries is important here. We'll fix this in the next release. |
Thanks for the reply. I removed the Stack Overflow suggested change:
from Makefile, and added your suggested change in Makefile.flexDemoCUDA.mk by replacing line 57 with the above. Yet, I'm still getting the same error:
Below is my CUDA settings in .bashrc. Do I need to set CUDA_PATH somewhere? I noticed that variable name getting referenced in the Makefiles. Also, I made sure to check |
Yes you would need to have CUDA_PATH set in your environment. There is some indication that the order of libraries on the linker command line is involved, so you could try for instance putting -pthread as the final option. What Linux distro/version are you using? |
Is I'll give putting I'm using Ubuntu 14.04 (Trusty Tahr). |
Update on this issue. It seems like setting I'm now running into an issue where make complains nvcc not found when I clearly have a symlink
I'll look more into this issue. It may indeed be some dependency issue. |
Another update. I've resolved the issues above. There were two issues:
After doing the above two steps, Make was able to run for much longer... until it hit another DSO missing error. I think we are closer to the solution this time though!
Perhaps I need to modify some other linker flags in some other Makefiles? |
@renxinhe Were you ever able to get this compiled on Ubuntu? |
@djbutler nope. |
Gotcha. I'm on 16.04, seeing the same error. |
Hi guys, sorry I don't have an update on this yet. I can say that we build it internally on Ubuntu 14.04, and even 12.04 LTS. I don't think we've tried 16.04 here, but it seems like this is due to some other configuration difference. I'll try to find someone to look at this for the next release, but if you find a solution in the meantime please let me know. |
Okay thanks @mmacklin. A little README section on the steps for building for Linux would be great too - perhaps we're missing something obvious. |
Also worth noting - I can't even run the Linux binary. I've added FleX/lib/linux64 and FleX/external/glew/lib/linux to my LD_LIBRARY_PATH, but it fails here. |
I got it to compile. My Makefile.flexDemoCUDA.mk ln57 was changed to:
and ln42 was changed to:
Now I can run I'm running this on 16.04, with CUDA V8.0.61. Looks like maybe my CUDA version is too recent - I didn't notice before that it needs to be 8.0.44? |
Thanks Dan, Was the change to ln42 necessary? It looks like that would just re-arrange the order of Flex libraries to make the NvFlexDeviceRelease_x64.a appear after NvFlexExtReleaseCUDA_x64.a. I'm not sure why that would affect it, but the first change (to ln57) moves SDL before CUDA which could indeed be the culprit. Regarding runtime issues, what kind of GPU do you have? Have you run other CUDA apps successfully on this machine? If so, then you can try commenting out this whole section from main.cpp:
That will mean the demo will create a 'default' CUDA context. Let me know if it helps. |
I'm just getting around to trying this again now. At this stage I probably have enough to go on, but if you have any insights into why some of the scenes crash, that would be great. |
I'm trying to build the demo by running
make
inFleX/demo/compiler/makelinux64
. However, I keep running into this linking error, and I couldn't figure out the reason after 30 mins of Googling.Seems like it has to do with libpthread not linking properly. I added
to the beginning of
Makefile
as this StackOverflow link has suggested, and it doesn't work.The README doesn't say much about building FleX on Linux, so I assumed this Makefile is the way to go. Please let me know if I'm doing completely the wrong thing.
The text was updated successfully, but these errors were encountered: