[Josep, sorry for the very late answer] Hi Dan,
Josep reported the following bug against libOSMesa in Debian (see http://bugs.debian.org/494172), and I'm not quite sure how it's supposed to work, so I was hoping you'd know a bit more: On Thu, Aug 7, 2008 at 17:52:56 +0200, Josep wrote: > I'm integrating osmesa with an application that use Qt/OpenGl to do > Off Screen rendering. > > But there is somthing that fails. > First something strange happends in the link proces. The linking proces is: > > g++ -o qgreco release/com.o release/crono.o release/dbas.o release/dbasv2.o > release/error.o release/fam.o release/full_rt_rcs.o release/gid.o > release/grabar.o release/grecoPost.o release/ideas.o release/iges.o > release/image.o release/init.o release/input.o release/mialloc.o > release/neutral.o release/octree.o release/oiges.o release/param.o > release/po_rcs.o release/ptd_rcs.o release/qt_win.o release/rcs.o > release/reflexiones.o release/rt_rcs.o release/teselar.o > release/vertex_arrays.o release/xogdibuj.o release/glwidget.o > release/glwindow.o release/logowidget.o release/twindow.o release/gwindow.o > release/initrcs.o release/memoryrc.o release/moc_glwidget.o > release/moc_glwindow.o release/moc_logowidget.o release/moc_twindow.o > release/moc_gwindow.o release/moc_initrcs.o -L/usr/X11R6/lib -L/usr/lib > -lOSMesa -lXext -lX11 -lm -lQtXml -lQtOpenGL -lQtGui -lQtCore -lQtUiTools > -lGLU -lGL -lpthread > > The important part are the linked libraries, first I noticied that depending > on the order of the libraries the program fails with segmentation fault > (linking GL after OSMesa ) or drawing bad images (linking OSMesa after GL). > > Then I found that if I link with the Mesa Libraries compiled from the > original sources my program run well. > > The difference I noticied: > Using: > nm -D /usr/lib/libOSMesa.so (from Debian Packages) > Returns a lot of symbols included gl* > And ldd. > linux-vdso.so.1 => (0x00007fff1e7fe000) > libm.so.6 => /lib/libm.so.6 (0x00007fad15f38000) > libpthread.so.0 => /lib/libpthread.so.0 (0x00007fad15d1c000) > libc.so.6 => /lib/libc.so.6 (0x00007fad159c8000) > /lib64/ld-linux-x86-64.so.2 (0x00007fad16640000) > > > > nm -D mycompiledlibOSMesa.so (compiled from sources) > Returns only some symbols without gl* > And ldd. > linux-vdso.so.1 => (0x00007fff467fe000) > -> libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f6a3e297000) > libc.so.6 => /lib/libc.so.6 (0x00007f6a3df44000) > libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f6a3dc37000) > libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f6a3da26000) > libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00007f6a3d821000) > libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f6a3d61e000) > libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f6a3d519000) > libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007f6a3d310000) > libm.so.6 => /lib/libm.so.6 (0x00007f6a3d08c000) > libpthread.so.0 => /lib/libpthread.so.0 (0x00007f6a3ce70000) > libdl.so.2 => /lib/libdl.so.2 (0x00007f6a3cc6c000) > /lib64/ld-linux-x86-64.so.2 (0x00007f6a3e742000) > libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0x00007f6a3ca6a000) > libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f6a3c84e000) > libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f6a3c64c000) > libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f6a3c446000) > > > I think that libOSMesa.so have compiled in the same libgl code and then > there are symbols colision. > > Can you make the libOSMesa package didn't link libGL static? > Otherwise, can you explain myself how to build the package from Debian > sources but linking GL libraries dynamically? > There ara any other workarrounds to prevent this? > Is libOSMesa supposed to conflict with libGL? Josep, do you really need to link with -lGL in addition to -lOSMesa? Cheers, Julien
signature.asc
Description: Digital signature