binary package cannot be linked to, locally-rebuilt version works

Bug #193372 reported by Václav Šmilauer
6
Affects Status Importance Assigned to Milestone
libqglviewer (Ubuntu)
Expired
Undecided
Unassigned
Nominated for Hardy by gerwindehaan
Nominated for Intrepid by gerwindehaan

Bug Description

A mini-program to test presence of this lib on the system fails: the linker gives errors about unresolved vtables and such (can attach log if requested, would have to overwrite the local version).

However, after doing

 apt-get source libqglviewer
 cd libqglviewer-2.2.6-3
 fakeroot debian/rules binary
 cd ..
 dpkg -i libqglviewer*.deb

everything works fine. (The binaries in ubuntu probably need to be rebuilt with the current toolchain?)

Regards, Vaclav

current hardy on amd64 (had the same issue on i386 however).

Tags: opengl qt qtgl
Revision history for this message
Václav Šmilauer (eudoxos) wrote :

Ping... To be precise, this is the test program:

 #include "QGLViewer/qglviewer.h"
 int main(){
  QGLViewer(1);
  return 0;
 }

When compiling:

vaclav@falx:/tmp$ g++ qglviewer2-test.cc -lqglviewer -I/usr/share/qt3/include -o qglviewer2-test
/tmp/ccDbd9AJ.o: In function `main':
qglviewer2-test.cc:(.text+0x1d4): undefined reference to `QGLViewer::~QGLViewer()'
/tmp/ccDbd9AJ.o: In function `QGLViewer::QGLViewer(QGLFormat const&, QWidget*, char const*, QGLWidget const*, unsigned int)':
qglviewer2-test.cc:(.text._ZN9QGLViewerC1ERK9QGLFormatP7QWidgetPKcPK9QGLWidgetj[QGLViewer::QGLViewer(QGLFormat const&, QWidget*, char const*, QGLWidget const*, unsigned int)]+0x4d): undefined reference to `vtable for QGLViewer'
qglviewer2-test.cc:(.text._ZN9QGLViewerC1ERK9QGLFormatP7QWidgetPKcPK9QGLWidgetj[QGLViewer::QGLViewer(QGLFormat const&, QWidget*, char const*, QGLWidget const*, unsigned int)]+0x59): undefined reference to `vtable for QGLViewer'
qglviewer2-test.cc:(.text._ZN9QGLViewerC1ERK9QGLFormatP7QWidgetPKcPK9QGLWidgetj[QGLViewer::QGLViewer(QGLFormat const&, QWidget*, char const*, QGLWidget const*, unsigned int)]+0x1a4): undefined reference to `QGLViewer::defaultConstructor()'
collect2: ld returned 1 exit status

I can provide more info as needed. Please recompile that, as sais, it fixes this thing.

Revision history for this message
Philipp Bönhof (phboe-launchpad) wrote :

I can confirm this. I actually had the same problem and had to compile from the sources again to fix it.

My release:
Linux noname 2.6.24-19-generic #1 SMP Wed Jun 4 16:35:01 UTC 2008 i686 GNU/Linux

`lsb_release -a`:
Distributor ID: Ubuntu
Description: Ubuntu 8.04
Release: 8.04
Codename: hardy

Aside:
What I think a bit problematic is the renaming of the library from QGLViewer to lower case qglviewer. This should also be corrected in the documentation. Besides: anyone searching for help on the net, would find the original authors page and wonder why it does not find the library. But that's quite a philosophical problem.

Revision history for this message
gerwindehaan (4-launchpad-gerwindehaan-nl) wrote :

It appears the libqglviewer.so.2.2.6 from the binary install does not export any qglviewer symbols.

if you run nm to display the qlviewer symbol entries:
nm -D /usr/lib/libqglviewer.so.2.2.6 | grep -i qglviewer

returns nothing for the version installed from binary package, but contains 694 lines for the from source compilation.
A simple rebuild from source would provide a new lib that can be added to the binary package libqglviewer2.

Revision history for this message
Artur R. Czechowski (arturcz) wrote :

I believe the bug has been fixed by uploading new releases of qglviewer package. Please confirm if it's ok and bug can be closed.

Changed in libqglviewer (Ubuntu):
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for libqglviewer (Ubuntu) because there has been no activity for 60 days.]

Changed in libqglviewer (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.