Comment #33 worked for me for nvidia-352-updates on Ubuntu 14.04.3 LTS. Specifically, by linking with -L/usr/lib/nvidia-352-updates the following additional dependency was reported by ldd:
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb7302000) with all other dependencies appearing to be the same as when not linking the additional library path. what did not work was simply linking with -pthread -lpthread. gdb backtraces with the nvidia-352-updates packages present are similar to the problems described in this thread. preloading libpthread also worked as described: LD_PRELOAD=/lib/i386-linux-gnu/libpthread.so.0 ./a.out Any number of stringstream, ostringstream, string object instantiations in the openGL app using the nvidia proprietary driver led to the segfault as described above. It looks like the status of this has toggled at least a couple times. Is there still a binutils fix for this issue? -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to binutils in Ubuntu. https://bugs.launchpad.net/bugs/1248642 Title: dynamic library inconsistencies with OpenGL/C++ Status in binutils package in Ubuntu: Fix Released Status in glibc package in Ubuntu: Confirmed Status in nvidia-graphics-drivers-319 package in Ubuntu: Confirmed Status in nvidia-graphics-drivers-331 package in Ubuntu: Confirmed Status in nvidia-graphics-drivers-352-updates package in Ubuntu: New Status in binutils source package in Trusty: Fix Released Status in glibc source package in Trusty: Confirmed Status in nvidia-graphics-drivers-319 source package in Trusty: Confirmed Status in nvidia-graphics-drivers-331 source package in Trusty: Confirmed Status in nvidia-graphics-drivers-352-updates source package in Trusty: New Status in binutils package in Debian: Fix Released Bug description: While using the nvidia-319 driver, the following C++ program won't run: $ cat > test.cpp << EOF #include <string> #include <GL/gl.h> int main(int argc, char *argv[]) { std::string s; glEnable(GL_LIGHT0); } EOF Instead, it fails with the following error message: $ g++ test.cpp -lGL $ ./a.out Inconsistency detected by ld.so: dl-version.c: 224: _dl_check_map_versions: Assertion `needed != ((void *)0)' failed! Using the xserver-xorg-video-nouveau driver, the problem does not occur. Also, when std::string is not used, the program runs without problems. Using OpenGL from pure C programs is also not a problem. The problem can be reproduced with both g++-4.6 and g++-4.8. ProblemType: Bug DistroRelease: Ubuntu 13.10 Package: nvidia-319 319.32-0ubuntu7 ProcVersionSignature: Ubuntu 3.11.0-12.19-generic 3.11.3 Uname: Linux 3.11.0-12-generic x86_64 NonfreeKernelModules: openafs nvidia ApportVersion: 2.12.5-0ubuntu2.1 Architecture: amd64 Date: Wed Nov 6 18:25:48 2013 InstallationDate: Installed on 2013-11-01 (5 days ago) InstallationMedia: Ubuntu-GNOME 13.10 "Saucy Salamander" - Release amd64 (20131017) MarkForUpload: True SourcePackage: nvidia-graphics-drivers-319 UpgradeStatus: No upgrade log present (probably fresh install) modified.conffile..etc.modprobe.d.nvidia.319.hybrid.conf: [deleted] To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1248642/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp