← Back to team overview

desktop-packages team mailing list archive

[Bug 1248642] Re: dynamic library inconsistencies with OpenGL/C++

 

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 Desktop
Packages, which is subscribed to nvidia-graphics-drivers-319 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