Message: previous - next
Month: February 2014

Re: [trinity-devel] R: [trinity-devel] KXMLedit is MISSING from TDE - Slavek can you convert/add?

From: François Andriot <francois.andriot@...>
Date: Sat, 22 Feb 2014 20:31:02 +0100
Le 22/02/2014 20:18, David C. Rankin a �crit :
> Slavek,
>    I will let you do it. Obviously I am missing something simple. Both the build
> I did (the long way) and the build done by:
> # ~/tde/tde/experimental/qt3-tqt3/convert_existing_qt3_app_to_tqt3
> # ~/tde/tde/experimental/kde-tde/convert_existing_kde3_app_to_tde
> # cp -r ~/tde/tde/main/common/admin .
>    Build for 1:12 seconds to what looks like the final linking steps and then
> fail. It looks like it is really close, but there is a library missing from the
> final link command - which one?? The error is:
> libtool: link: g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500
> -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -O2
> -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4
> -fpermissive -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor
> -fno-exceptions -fno-check-new -fno-common -I/usr/include/tqt -Wl,-O1
> -Wl,--sort-common -Wl,--as-needed -Wl,-z -Wl,relro -o kxmleditor
> dcopiface_shell.o kxmleditorshell.o main.o kxeshellmanager.o
> dcopiface_shell_skel.o kxmleditorshell.moc.o  -L/opt/trinity/lib -L/opt/tqt3/lib
> -L/opt/trinity/lib/trinity /opt/trinity/lib/
> /opt/trinity/lib/ /opt/trinity/lib/
> /opt/tqt3/lib/ -L/usr/lib/mysql -L/usr/X11R6/lib -luuid -lpq
> -lmysqlclient -lXrender -lXrandr -lXcursor -lXinerama -lXft -lfreetype
> -lfontconfig -ldl -lpng -lz -lm -lXext -lX11 -lSM -lICE /usr/lib/
> -lpthread -Wl,-rpath -Wl,/opt/trinity/lib -Wl,-rpath -Wl,/opt/tqt3/lib
> -Wl,-rpath -Wl,/opt/trinity/lib/trinity
> /usr/bin/ld: kxmleditorshell.o: undefined reference to symbol
> '_ZN11KFileDialog10getOpenURLERK8TQStringS2_P8TQWidgetS2_'
> /opt/trinity/lib/ error adding symbols: DSO missing from command line
> collect2: error: ld returned 1 exit status
> Makefile:629: recipe for target 'kxmleditor' failed
> make[2]: *** [kxmleditor] Error 1
> make[2]: Leaving directory '/build/tde-kxmleditor/src/kxmleditor/kxmleditor'
> Makefile:575: recipe for target 'all-recursive' failed
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory '/build/tde-kxmleditor/src/kxmleditor'
> Makefile:492: recipe for target 'all' failed
> make: *** [all] Error 2
>    How to fix?

It's really common with these old programes that there are missing 
linker flags in the Makefile.
It looks like nowaday's compiler are much stricter, we must specify 
every library to link, there is no auto-detection at all.

On some distribution (like Mageia :-) ) the error message that I get 
from the linker tells exactly what library is required, whereas yours 
only shows the missing symbol, which is not really helpful.
I'll try to build this tool and see what is wrong here.