On Sunday 27 October 2002 11.33, Guillermo Ballester Valor wrote:
I've tried to build kdelibs3.rpm from sources, but I get a compiler error. I'm afraid I did something wrong. I think I installed all devel packages needed. This is what I made: 1) install the source file with 'apt-get source kdelibs3' 2) 'cd /usr/src/pcakages/SPECS' 3) rpm -ba kdelibs3.spec
The error is
g++ -shared -nostdlib /usr/lib/crti.o /usr/lib/gcc-lib/i486-suse-linux/2.95.3/crtbeginS.o
gcc 2.95.3
.libs/libDCOP_la.all_cpp.o -Wl,--whole-archive KDE-ICE/.libs/libkICE.a -Wl,--no-whole-archive -Wl,--rpath -Wl,/usr/local/lib -L/usr/local/i686-pc-linux-gnu/lib
What's this?
-L/usr/local/i686-pc-linux-gnu/bin -L/tmp/objdir/gcc
Not to mention this?
-L/tmp/objdir/i686-pc-linux-gnu/libstdc++-v3/src/.libs -L/tmp/objdir/i686-pc-linux-gnu/libstdc++-v3/src -L/usr/X11R6/lib -L/usr/lib/qt3/lib -L/opt/kde3/lib KDE-ICE/.libs/libkICE.a -lqt-mt -lpng -lz -lXext -lX11 -lresolv -lSM -lICE -lpthread -L/usr/lib/gcc-lib/i486-suse-linux/2.95.3 -L/usr/i486-suse-linux/lib /usr/local/lib/libstdc++.so -lgcc_s
Looks suspiciously like gcc 3.x
-lm -lc -lgcc -lc /usr/lib/gcc-lib/i486-suse-linux/2.95.3/crtendS.o /usr/lib/crtn.o -DNDEBUG -DNO_DEBUG -O2 -O2 -march=i486 -mcpu=i686 -DNDEBUG -fno-exceptions -fno-check-new -DQT_NO_TRANSLATION -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_COMPAT -Wl,-soname -Wl,libDCOP.so.4 -o .libs/libDCOP.so.4.0.0 /usr/i486-suse-linux/bin/ld: .libs/libDCOP.so.4.0.0: undefined versioned symbol name __dynamic_cast@@CXXABI_1 /usr/i486-suse-linux/bin/ld: failed to set dynamic section sizes: Bad value collect2: ld returned 1 exit status make[3]: *** [libDCOP.la] Error 1 make[3]: Saliendo directorio `/usr/src/packages/BUILD/kdelibs-3.0.4/dcop' make[2]: *** [all-recursive] Error 1 make[2]: Saliendo directorio `/usr/src/packages/BUILD/kdelibs-3.0.4/dcop' make[1]: *** [all-recursive] Error 1 make[1]: Saliendo directorio `/usr/src/packages/BUILD/kdelibs-3.0.4' make: *** [all] Error 2 Bad exit status from /var/tmp/rpm-tmp.16016 (%build)
Any suggestion?.
Yes. If you're going to customise your system, keep it consistent. Mixing compilers isn't a good idea. And storing executables in /tmp is downright stupid. Any program for any reason could blow it away at almost any time.
SuSE 8.0 pro.
heavily modified. Anders