Hi! I have packaged libsdl-mm0.1 and used sdl-config --library-libs output when compiling it. Well that works fine, but I am currently trying to package an other software that links against libsdl1.2, libsdl-mm0.1 and various other libs. When building the software gcc complains: /bin/sh ../../../libtool --mode=link c++ -O2 -Wno-sign-compare -funsigned-char -D_UNIX_ -D_SDL_ -D_string_compare_broken_ -D_UNICODE_BROKEN_ -I/usr/include/SDL -D_REENTRANT -I/usr/include/SDLmm -Dkarteneditor -DFREEMAPZOOM -DNEWKEYB -o asc_mapedit edevents.o edgen.o edglobal.o edmain.o edselfnt.o edmisc.o weather.o typen.o strtmesg.o stack.o spfst.o sgstream.o pd.o palette.o newfont.o misc.o loadpcxc.o loaders.o loadbi3.o dlg_box.o dialog.o basestrm.o basegfx.o attack.o CLoadable.o Property.o PropertyGroup.o gameoptions.o Named.o buildingtype.o vehicletype.o containerbase.o mapalgorithms.o viewcalculation.o gamemap.o password.o password_dialog.o research.o mapdisplay.o ascstring.o graphicset.o vehicle.o buildings.o networkdata.o resourcenet.o textfileparser.o terraintype.o objecttype.o textfiletags.o itemrepository.o stringtokenizer.o ../../../source/sdl/libsdl.la ../../../source/libs/triangul/libtriangul.la -L/usr/lib -lSDLmm -lbz2 -lbz2 mkdir .libs c++ -O2 -Wno-sign-compare -funsigned-char -D_UNIX_ -D_SDL_ -D_string_compare_broken_ -D_UNICODE_BROKEN_ -I/usr/include/SDL -D_REENTRANT -I/usr/include/SDLmm -Dkarteneditor -DFREEMAPZOOM -DNEWKEYB -o asc_mapedit edevents.o edgen.o edglobal.o edmain.o edselfnt.o edmisc.o weather.o typen.o strtmesg.o stack.o spfst.o sgstream.o pd.o palette.o newfont.o misc.o loadpcxc.o loaders.o loadbi3.o dlg_box.o dialog.o basestrm.o basegfx.o attack.o CLoadable.o Property.o PropertyGroup.o gameoptions.o Named.o buildingtype.o vehicletype.o containerbase.o mapalgorithms.o viewcalculation.o gamemap.o password.o password_dialog.o research.o mapdisplay.o ascstring.o graphicset.o vehicle.o buildings.o networkdata.o resourcenet.o textfileparser.o terraintype.o objecttype.o textfiletags.o itemrepository.o stringtokenizer.o ../../../source/sdl/.libs/libsdl.al -L/usr/lib -L/usr/X11R6/lib /usr/lib/libSDL_image.so -lXxf86dga -lXxf86vm -lXv -lpng -lz /usr/lib/libSDL_mixer.so -L/lib /usr/lib/libvorbisfile.so /usr/lib/libvorbis.so /usr/lib/libogg.so /usr/lib/libjpeg.so ../../../source/libs/triangul/.libs/libtriangul.al /usr/lib/libSDLmm.so /usr/lib/libSDL.so -lm -lX11 -lXext -ldl -lpthread -lbz2 (multiple input files, cache bypass) /usr/lib/libSDL.so: undefined reference to `XF86VidModeQueryVersion' /usr/lib/libSDL.so: undefined reference to `XF86VidModeSetViewPort' /usr/lib/libSDL.so: undefined reference to `XF86VidModeSetGamma' /usr/lib/libSDL.so: undefined reference to `XF86VidModeQueryExtension' /usr/lib/libSDL.so: undefined reference to `XF86VidModeGetViewPort' /usr/lib/libSDL.so: undefined reference to `XF86VidModeLockModeSwitch' /usr/lib/libSDL.so: undefined reference to `XF86VidModeGetGamma' /usr/lib/libSDL.so: undefined reference to `XF86VidModeSwitchToMode' /usr/lib/libSDL.so: undefined reference to `XF86VidModeGetAllModeLines' /usr/lib/libSDL.so: undefined reference to `XF86VidModeGetModeLine' collect2: ld returned 1 exit status make[5]: *** [asc_mapedit] Error 1 make[5]: Leaving directory `/home/mikem/fcvs/games/asc-1.9.5.4cvs20011208/source/unix/mapeditor' The funny thing is that those 'missing' symbols are found in libXxf86vm.a and gcc is handed over -lXxf86vm. I have tried to link libSDLmm-0.1 with libXxf86vm and then everything compiles fine. I have also tried to link libsdl1.2 with libXxf86vm and that works too. Both thing are not supposed to be done (according to Branden Robinson) - so they are not much of a choice. The only thing I can imagine is that there is some difference between .a and .so libraries that prevent gcc from working. But libXv and libXxf86dga are also static libraries. So who is to blame for that - me? libsdl1.2? libXxf86vm.a? gcc? P.s I have uploaded a libsdl-mm0.1 some days ago and it doesn't use sdl-config --library-libs. A version that utilizes that can be found at: http://idc19.itm.tuwien.ac.at/~mikem/debian/archive/ (take the .deb with debian revision -2) The other software (that fails to compile) is asc - you find some .debs at the same url - take the cvs snapshot cause it has got the _right_ build depends. -- kind regards, Michael Moerz pub 1024D/B651C436 2000-09-17 Michael Moerz <e9625136@stud3.tuwien.ac.at> Key fingerprint = 55DB 2F1A BF45 DBAB F542 4128 2173 8753 B651 C436 http://idc19.itm.tuwien.ac.at/~mike/private/mike.public.gpg.key
Attachment:
pgp3dtEpdNLoL.pgp
Description: PGP signature