Under some circumstances ld can complain that I haven't fulfilled the dependencies of a DSO given on the command line. This is of course absolute nonsense as I should only provide dependencies for my object files, not any DSOs I happen to use. The complaint is half right though as one of my object files actually needs this library. ld is just not telling me this. This is my link attempt: > /local/home/ossman/devel/tigervnc/builddir/solsparc/vncviewer > [ossman@ossman]$ cbrun solsparc /usr/bin/sparc-sun-solaris2.10-c++ -v -pg -g -nodefaultlibs -Wl,--no-copy-dt-needed-entries CMakeFiles/vncviewer.dir/menukey.cxx.o CMakeFiles/vncviewer.dir/CConn.cxx.o CMakeFiles/vncviewer.dir/DesktopWindow.cxx.o CMakeFiles/vncviewer.dir/FLTKPixelBuffer.cxx.o CMakeFiles/vncviewer.dir/UserDialog.cxx.o CMakeFiles/vncviewer.dir/ServerDialog.cxx.o CMakeFiles/vncviewer.dir/OptionsDialog.cxx.o CMakeFiles/vncviewer.dir/PlatformPixelBuffer.cxx.o CMakeFiles/vncviewer.dir/Viewport.cxx.o CMakeFiles/vncviewer.dir/parameters.cxx.o CMakeFiles/vncviewer.dir/keysym2ucs.c.o CMakeFiles/vncviewer.dir/vncviewer.cxx.o CMakeFiles/vncviewer.dir/X11PixelBuffer.cxx.o -o vncviewer ../common/rfb/librfb.a ../common/network/libnetwork.a ../common/rdr/librdr.a ../common/os/libos.a ../common/Xregion/libXregion.a -Wl,-Bstatic -lfltk_images -lpng -ljpeg -lfltk -Wl,-Bdynamic -lm -ldl -lXcursor /usr/sparc-sun-solaris2.10/sys-root/usr/sfw/lib/libXfixes.so -Wl,-Bstatic -lXft -Wl,-Bdynamic -lfontconfig -lXext -R/usr/sfw/lib -lX11 -lz -Wl,-Bstatic -ljpeg -Wl,-Bdynamic -lpam -Wl,-Bstatic -lgnutls -ltasn1 -lnettle -lhogweed -lgmp -Wl,-Bdynamic -lrt -lsocket /usr/sparc-sun-solaris2.10/sys-root/usr/lib/libz.so -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -lgcc -lgcc_eh -lc > Using built-in specs. > COLLECT_GCC=/usr/bin/sparc-sun-solaris2.10-c++ > COLLECT_LTO_WRAPPER=/usr/libexec/gcc/sparc-sun-solaris2.10/4.6.4/lto-wrapper > Target: sparc-sun-solaris2.10 > Configured with: ../configure --target=sparc-sun-solaris2.10 --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-sysroot=/usr/sparc-sun-solaris2.10/sys-root --with-system-zlib --with-gnu-as --with-gnu-ld --disable-nls --disable-multilib --disable-libquadmath --disable-libmudflap --disable-gnu-unique-object --host=i686-pc-linux-gnu --enable-threads=posix --enable-languages=c,c++ > Thread model: posix > gcc version 4.6.4 (GCC) > COMPILER_PATH=/usr/libexec/gcc/sparc-sun-solaris2.10/4.6.4/:/usr/libexec/gcc/sparc-sun-solaris2.10/4.6.4/:/usr/libexec/gcc/sparc-sun-solaris2.10/:/usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/:/usr/lib/gcc/sparc-sun-solaris2.10/:/usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/../../../../sparc-sun-solaris2.10/bin/ > LIBRARY_PATH=/usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/:/usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/../../../../sparc-sun-solaris2.10/lib/:/usr/sparc-sun-solaris2.10/sys-root/lib/:/usr/sparc-sun-solaris2.10/sys-root/usr/lib/ > COLLECT_GCC_OPTIONS='-v' '-pg' '-g' '-nodefaultlibs' '-o' 'vncviewer' '-R' '/usr/sfw/lib' '-shared-libgcc' '-mcpu=v9' > /usr/libexec/gcc/sparc-sun-solaris2.10/4.6.4/collect2 --sysroot=/usr/sparc-sun-solaris2.10/sys-root -V -R /usr/sfw/lib -Y P,/usr/sparc-sun-solaris2.10/sys-root/usr/ccs/lib/libp:/usr/sparc-sun-solaris2.10/sys-root/usr/lib/libp:/usr/sparc-sun-solaris2.10/sys-root/usr/ccs/lib:/usr/sparc-sun-solaris2.10/sys-root/usr/lib:/usr/sparc-sun-solaris2.10/sys-root/lib -rpath-link /usr/sparc-sun-solaris2.10/sys-root/usr/lib -Qy -o vncviewer /usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/gcrt1.o /usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/gmon.o /usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/crti.o /usr/sparc-sun-solaris2.10/sys-root/usr/lib/values-Xa.o /usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/crtbegin.o -L/usr/lib/gcc/sparc-sun-solaris2.10/4.6.4 -L/usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/../../../../sparc-sun-solaris2.10/lib -L/usr/sparc-sun-solaris2.10/sys-root/lib -L/usr/sparc-sun-solaris2.10/sys-root/usr/lib --no-copy-dt-needed-entries CMakeFiles/vncviewer.dir/menukey.cxx.o CMakeFiles/vncviewer.dir/CConn.cxx.o CMakeFiles/vncviewer.dir/DesktopWindow.cxx.o CMakeFiles/vncviewer.dir/FLTKPixelBuffer.cxx.o CMakeFiles/vncviewer.dir/UserDialog.cxx.o CMakeFiles/vncviewer.dir/ServerDialog.cxx.o CMakeFiles/vncviewer.dir/OptionsDialog.cxx.o CMakeFiles/vncviewer.dir/PlatformPixelBuffer.cxx.o CMakeFiles/vncviewer.dir/Viewport.cxx.o CMakeFiles/vncviewer.dir/parameters.cxx.o CMakeFiles/vncviewer.dir/keysym2ucs.c.o CMakeFiles/vncviewer.dir/vncviewer.cxx.o CMakeFiles/vncviewer.dir/X11PixelBuffer.cxx.o ../common/rfb/librfb.a ../common/network/libnetwork.a ../common/rdr/librdr.a ../common/os/libos.a ../common/Xregion/libXregion.a -Bstatic -lfltk_images -lpng -ljpeg -lfltk -Bdynamic -lm -ldl -lXcursor /usr/sparc-sun-solaris2.10/sys-root/usr/sfw/lib/libXfixes.so -Bstatic -lXft -Bdynamic -lfontconfig -lXext -lX11 -lz -Bstatic -ljpeg -Bdynamic -lpam -Bstatic -lgnutls -ltasn1 -lnettle -lhogweed -lgmp -Bdynamic -lrt -lsocket /usr/sparc-sun-solaris2.10/sys-root/usr/lib/libz.so -Bstatic -lstdc++ -Bdynamic -lgcc -lgcc_eh -lc /usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/crtend.o /usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/crtn.o > GNU ld (GNU Binutils) 2.25 > Supported emulations: > elf32_sparc_sol2 > elf32_sparc > elf64_sparc_sol2 > elf64_sparc > /usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/../../../../sparc-sun-solaris2.10/bin/ld: /usr/sparc-sun-solaris2.10/sys-root/usr/lib/libXcursor.so: undefined reference to symbol 'XRenderFindStandardFormat@@RENDER_0.5' > /usr/sparc-sun-solaris2.10/sys-root/usr/openwin/sfw/lib/libXrender.so.1: error adding symbols: DSO missing from command line > collect2: ld returned 1 exit status Absolutely confusing. But if I shuffle things around a bit I get at the real reason that things are failing: > /local/home/ossman/devel/tigervnc/builddir/solsparc/vncviewer > [ossman@ossman]$ cbrun solsparc /usr/bin/sparc-sun-solaris2.10-c++ -v -pg -g -nodefaultlibs -Wl,--no-copy-dt-needed-entries CMakeFiles/vncviewer.dir/menukey.cxx.o CMakeFiles/vncviewer.dir/CConn.cxx.o CMakeFiles/vncviewer.dir/DesktopWindow.cxx.o CMakeFiles/vncviewer.dir/FLTKPixelBuffer.cxx.o CMakeFiles/vncviewer.dir/UserDialog.cxx.o CMakeFiles/vncviewer.dir/ServerDialog.cxx.o CMakeFiles/vncviewer.dir/OptionsDialog.cxx.o CMakeFiles/vncviewer.dir/PlatformPixelBuffer.cxx.o CMakeFiles/vncviewer.dir/Viewport.cxx.o CMakeFiles/vncviewer.dir/parameters.cxx.o CMakeFiles/vncviewer.dir/keysym2ucs.c.o CMakeFiles/vncviewer.dir/vncviewer.cxx.o CMakeFiles/vncviewer.dir/X11PixelBuffer.cxx.o -o vncviewer ../common/rfb/librfb.a ../common/network/libnetwork.a ../common/rdr/librdr.a ../common/os/libos.a ../common/Xregion/libXregion.a -Wl,-Bstatic -lfltk_images -lpng -ljpeg -lfltk -Wl,-Bdynamic -lm -ldl -Wl,-Bstatic -lXft -Wl,-Bdynamic -lXcursor /usr/sparc-sun-solaris2.10/sys-root/usr/sfw/lib/libXfixes.so -lfontconfig -lXext -R/usr/sfw/lib -lX11 -lz -Wl,-Bstatic -ljpeg -Wl,-Bdynamic -lpam -Wl,-Bstatic -lgnutls -ltasn1 -lnettle -lhogweed -lgmp -Wl,-Bdynamic -lrt -lsocket /usr/sparc-sun-solaris2.10/sys-root/usr/lib/libz.so -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -lgcc -lgcc_eh -lc > Using built-in specs. > COLLECT_GCC=/usr/bin/sparc-sun-solaris2.10-c++ > COLLECT_LTO_WRAPPER=/usr/libexec/gcc/sparc-sun-solaris2.10/4.6.4/lto-wrapper > Target: sparc-sun-solaris2.10 > Configured with: ../configure --target=sparc-sun-solaris2.10 --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-sysroot=/usr/sparc-sun-solaris2.10/sys-root --with-system-zlib --with-gnu-as --with-gnu-ld --disable-nls --disable-multilib --disable-libquadmath --disable-libmudflap --disable-gnu-unique-object --host=i686-pc-linux-gnu --enable-threads=posix --enable-languages=c,c++ > Thread model: posix > gcc version 4.6.4 (GCC) > COMPILER_PATH=/usr/libexec/gcc/sparc-sun-solaris2.10/4.6.4/:/usr/libexec/gcc/sparc-sun-solaris2.10/4.6.4/:/usr/libexec/gcc/sparc-sun-solaris2.10/:/usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/:/usr/lib/gcc/sparc-sun-solaris2.10/:/usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/../../../../sparc-sun-solaris2.10/bin/ > LIBRARY_PATH=/usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/:/usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/../../../../sparc-sun-solaris2.10/lib/:/usr/sparc-sun-solaris2.10/sys-root/lib/:/usr/sparc-sun-solaris2.10/sys-root/usr/lib/ > COLLECT_GCC_OPTIONS='-v' '-pg' '-g' '-nodefaultlibs' '-o' 'vncviewer' '-R' '/usr/sfw/lib' '-shared-libgcc' '-mcpu=v9' > /usr/libexec/gcc/sparc-sun-solaris2.10/4.6.4/collect2 --sysroot=/usr/sparc-sun-solaris2.10/sys-root -V -R /usr/sfw/lib -Y P,/usr/sparc-sun-solaris2.10/sys-root/usr/ccs/lib/libp:/usr/sparc-sun-solaris2.10/sys-root/usr/lib/libp:/usr/sparc-sun-solaris2.10/sys-root/usr/ccs/lib:/usr/sparc-sun-solaris2.10/sys-root/usr/lib:/usr/sparc-sun-solaris2.10/sys-root/lib -rpath-link /usr/sparc-sun-solaris2.10/sys-root/usr/lib -Qy -o vncviewer /usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/gcrt1.o /usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/gmon.o /usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/crti.o /usr/sparc-sun-solaris2.10/sys-root/usr/lib/values-Xa.o /usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/crtbegin.o -L/usr/lib/gcc/sparc-sun-solaris2.10/4.6.4 -L/usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/../../../../sparc-sun-solaris2.10/lib -L/usr/sparc-sun-solaris2.10/sys-root/lib -L/usr/sparc-sun-solaris2.10/sys-root/usr/lib --no-copy-dt-needed-entries CMakeFiles/vncviewer.dir/menukey.cxx.o CMakeFiles/vncviewer.dir/CConn.cxx.o CMakeFiles/vncviewer.dir/DesktopWindow.cxx.o CMakeFiles/vncviewer.dir/FLTKPixelBuffer.cxx.o CMakeFiles/vncviewer.dir/UserDialog.cxx.o CMakeFiles/vncviewer.dir/ServerDialog.cxx.o CMakeFiles/vncviewer.dir/OptionsDialog.cxx.o CMakeFiles/vncviewer.dir/PlatformPixelBuffer.cxx.o CMakeFiles/vncviewer.dir/Viewport.cxx.o CMakeFiles/vncviewer.dir/parameters.cxx.o CMakeFiles/vncviewer.dir/keysym2ucs.c.o CMakeFiles/vncviewer.dir/vncviewer.cxx.o CMakeFiles/vncviewer.dir/X11PixelBuffer.cxx.o ../common/rfb/librfb.a ../common/network/libnetwork.a ../common/rdr/librdr.a ../common/os/libos.a ../common/Xregion/libXregion.a -Bstatic -lfltk_images -lpng -ljpeg -lfltk -Bdynamic -lm -ldl -Bstatic -lXft -Bdynamic -lXcursor /usr/sparc-sun-solaris2.10/sys-root/usr/sfw/lib/libXfixes.so -lfontconfig -lXext -lX11 -lz -Bstatic -ljpeg -Bdynamic -lpam -Bstatic -lgnutls -ltasn1 -lnettle -lhogweed -lgmp -Bdynamic -lrt -lsocket /usr/sparc-sun-solaris2.10/sys-root/usr/lib/libz.so -Bstatic -lstdc++ -Bdynamic -lgcc -lgcc_eh -lc /usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/crtend.o /usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/crtn.o > GNU ld (GNU Binutils) 2.25 > Supported emulations: > elf32_sparc_sol2 > elf32_sparc > elf64_sparc_sol2 > elf64_sparc > /usr/lib/gcc/sparc-sun-solaris2.10/4.6.4/../../../../sparc-sun-solaris2.10/bin/ld: /usr/sparc-sun-solaris2.10/sys-root/usr/lib/libXft.a(xftfreetype.o): undefined reference to symbol 'XRenderFindStandardFormat@@RENDER_0.5' > /usr/sparc-sun-solaris2.10/sys-root/usr/openwin/sfw/lib/libXrender.so.1: error adding symbols: DSO missing from command line > collect2: ld returned 1 exit status Hopefully you can fix this error message so it is easier to figure out what's going on. Thanks.