[kde-solaris] Building from 3.5.7

Michael Lindig michael.lindig at informatik.tu-chemnitz.de
Wed Jul 18 15:56:04 CEST 2007


Daniel Rawson wrote:
> Michael Lindig wrote:
>> Daniel Rawson wrote:
>>> I'm attempting to build from the modified 3.5.7 source code that was provided by Michael Lindig (thanks!!!), but I'm having problems with the dependency on libart_lgpl_2.
>>>
>>> I'm running Solaris 10 (01/06) and using gcc 3.4.3 as the compiler.  I re-built QT 3.3.8 and it is installed locally.
>>>
>>> When I build kdelibs, it complains about /usr/lib/libart_lgpl_2.so with a "Wrong ELFCLASS" message.  I re-built libart_lgpl_2 (version 2.3.19) from source; when I use the updated library, I get "Undefined symbol" errors on just three of the "art_*" symbols:
>>>
>>> Undefined                       first referenced
>>>  symbol                             in file
>>> art_free(void*)                     ./.libs/libkdecore.so
>>> art_alloc(unsigned long)            ./.libs/libkdecore.so
>>> art_realloc(void*, unsigned long)   ./.libs/libkdecore.so
>>>
>>> Any hints will be appreciated!!
>> is there any -lart_lgpl_2 option at linking? Can you provide the entire linking 
>> command line where libkdecore.so was build? What are you environment options 
>> (CFLAGS, CXXFLAGS, CC, ...)?
>>
>>> Thanks . . . .
>>>
>>> Dan
> Michael -
> 
> Here's the link line (sort of long, sorry!) - it does include libart_lgpl_2.so.  I tried manually modifying the link line so that it used -lart_lgpl_2 instead of the full path, but  I couldn't get it to work.  Environment is at the bottom.
> 
> The only other thing I wonder about is why the linker is being called with -nostdlib.
> 
> Thanks . . .
> 
> Dan
> ------ Cut here ---------
> g++ -shared -nostdlib -Wl,-i -m64 -L/usr/local/KDE/support/lib -L/usr/local/KDE/3.5.7/lib -L/cadappl/gcc/3.4.3/gcc/lib/sparcv9 -L/cadappl/gcc/3.4.3/gcc/lib/gcc/sparc-sun-solaris2.10/3.4.3/sparcv9 -L/usr/sfw/lib/64 -L/usr/openwin/lib/64 -L/home/rawsond/.caddir/SunOS_5.10/cadlib -Wl,-R/usr/local/KDE/support/lib:/usr/local/KDE/3.5.7/lib:/cadappl/gcc/3.4.3/gcc/lib/sparcv9:/usr/sfw/lib/64:/usr/openwin/lib/64  -mcpu=v9 -mtune=ultrasparc -mv8plus -m64 -Wl,-i -m64 -Wl,-R/usr/local/KDE/support/lib:/usr/local/KDE/3.5.7/lib:/cadappl/gcc/3.4.3/gcc/lib/sparcv9:/usr/sfw/lib/64:/usr/openwin/lib/64  -Wno-long-long -Wundef -Wall -W -Wpointer-arith -O2 -O3 -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION /home/cadappl/gcc/3.4.3/gcc/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.3/sparcv9/crti.o /usr/ccs/lib/sparcv9/values-Xa.o /home/cadappl/gcc/3.4.3/gcc/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.3
/s
> parcv9/crtbegin.o  .libs/fakes.o .libs/vsnprintf.o .libs/libkdecore_la.all_cpp.o .libs/libkdecore.lax/libklmalloc.a/malloc.o  .libs/libkdecore.lax/libkdecorenetwork.a/libkdecorenetwork_la.all_cpp.o  .libs/libkdecore.lax/libkdesvgicons.a/libkdesvgicons_la.all_cpp.o  .libs/libkdecore.lax/libltdlc.a/ltdl.o   -Wl,-R -Wl,/usr/local/KDE/3.5.7/lib -Wl,-R -Wl,/usr/local/KDE/support/lib -Wl,-R -Wl,/cadappl/gcc/3.4.3/gcc/lib/sparcv9 -Wl,-R -Wl,/home/rawsond/.caddir/SunOS_5.10/cadlib -L/usr/openwin/lib/sparcv9 -L/usr/local/KDE/support/lib -L/usr/local/KDE/3.5.7/lib -L/cadappl/gcc/3.4.3/gcc/lib/sparcv9 -L/cadappl/gcc/3.4.3/gcc/lib/gcc/sparc-sun-solaris2.10/3.4.3/sparcv9 -L/usr/sfw/lib/64 -L/usr/openwin/lib/64 -L/home/rawsond/.caddir/SunOS_5.10/cadlib -L/usr/local/tploegma/gcc.3.4.3/build-3.4.3/sparc-sun-solaris2.10/sparcv9/libstdc++-v3/src -L/usr/local/tploegma/gcc.3.4.3/build-3.4.3/sparc-sun-solaris2.10/sparcv9/libstdc++-v3/src/.libs -L/usr/local/tploegma/gcc.3.4.3/build-3.4.3/gcc/spa
rc
> v9 -L/usr/local/tploegma/gcc.3.4.3/build-3.4.3/gcc ../dcop/.libs/libDCOP.so /usr/local/KDE/support/lib/libart_lgpl_2.so /usr/local/KDE/support/lib/libidn.so ../kdefx/.libs/libkdefx.so /usr/local/KDE/support/lib/libqt-mt.so /usr/local/KDE/support/lib/libjpeg.so -lGL -lXmu -lXft -lfreetype -lfontconfig -lresolv -ldl -lrt -lpng -lz -lXext -lX11 -lsocket -lnsl -lSM -lICE -lpthread -lXrender -L/home/cadappl/gcc/3.4.3/gcc/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.3/sparcv9 -L/home/cadappl/gcc/3.4.3/gcc/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.3 -L/home/cadappl/gcc/3.4.3/gcc/bin/../lib/gcc -L/cadappl/gcc/3.4.3/gcc/lib/gcc/sparc-sun-solaris2.10/3.4.3 -L/usr/ccs/bin/sparcv9 -L/usr/ccs/bin -L/usr/ccs/lib/sparcv9 -L/usr/ccs/lib -L/home/cadappl/gcc/3.4.3/gcc/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../sparcv9 -L/home/cadappl/gcc/3.4.3/gcc/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.3/../../.. -L/cadappl/gcc/3.4.3/gcc/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../sparcv9 -L/cadappl/g
cc
> /3.4.3/gcc/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../.. -L/lib/sparcv9 -L/usr/lib/sparcv9 /cadappl/gcc/3.4.3/gcc/lib/sparcv9/libstdc++.so -lm -lgcc_s_sparcv9 /home/cadappl/gcc/3.4.3/gcc/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.3/sparcv9/crtend.o /home/cadappl/gcc/3.4.3/gcc/bin/../lib/gcc/sparc-sun-solaris2.10/3.4.3/sparcv9/crtn.o -Wl,-h -Wl,libkdecore.so.4 -o .libs/libkdecore.so.4.2.0
> ------------- Cut here ------------
> 
> Environment:
> CFLAGS='-mcpu=v9 -mtune=ultrasparc -mv8plus -m64 -O3 -D_XOPEN_SOURCE=500 -D__EXTENSIONS__'
> CPPFLAGS='-I/usr/local/KDE/3.5.7/include -I/usr/local/KDE/support/gnupg/include -I/usr/local/KDE/support/include -I/cadappl/gcc/3.4.3/gcc/lib/gcc/sparc-sun-solaris2.10/3.4.3/include -I/cadappl/gcc/3.4.3/gcc/include/c++/3.4.3 -I/cadappl/python/2.3/include/python2.3 -I/usr/sfw/include -I/usr/openwin/include'
> CXX=g++
> CXXFLAGS='-mcpu=v9 -mtune=ultrasparc -mv8plus -m64 -O3 -D__C99FEATURES__'
> LDFLAGS='-Wl,-i -m64 -L/usr/local/KDE/support/lib -L/usr/local/KDE/3.5.7/lib -L/cadappl/gcc/3.4.3/gcc/lib/sparcv9 -L/cadappl/gcc/3.4.3/gcc/lib/gcc/sparc-sun-solaris2.10/3.4.3/sparcv9 -L/usr/sfw/lib/64 -L/usr/openwin/lib/64 -L/home/rawsond/.caddir/SunOS_5.10/cadlib -Wl,-R/usr/local/KDE/support/lib:/usr/local/KDE/3.5.7/lib:/cadappl/gcc/3.4.3/gcc/lib/sparcv9:/usr/sfw/lib/64:/usr/openwin/lib/64'
> 

Dan,

here are the only link-commands where the art_lgpl_2 lib is used ?!

/bin/bash ../libtool --silent --tag=CXX --mode=link g++ -pipe -mcpu=v9 
-mtune=ultrasparc -mv8plus -Wa,-xarch=v9a -mvis -m64  -Wno-long-long -Wundef 
-Wall -W -Wpointer-arith -O2 -O3 -D__C99FEATURES__ -Wno-non-virtual-dtor 
-fno-exceptions -fno-check-new -fno-common  -DQT_CLEAN_NAMESPACE 
-DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION    -Wl,-i -m64 
-L/usr/local/sparcv9/gnupg/lib -L/usr/local/sparcv9/kde-3.5.7/lib 
-L/usr/local/sparcv9/X11R7.2/lib -L/usr/local/sparcv9/lib 
-L/usr/local/sparcv9/gcc-4.2.0/lib/sparcv9 
-L/usr/local/sparcv9/gcc-4.2.0/lib/gcc/sparc-sun-solaris2.10/4.2.0/sparcv9 
-L/usr/sfw/lib/64 -L/usr/openwin/lib/64 -Wl,-R 
-Wl,/usr/local/sparcv9/gnupg/lib:/usr/local/sparcv9/kde-3.5.7/lib:/usr/local/sparcv9/X11R7.2/lib:/usr/local/sparcv9/lib:/usr/local/sparcv9/teTeX-3.0/lib:/usr/local/sparcv9/gcc-4.2.0/lib/sparcv9:/usr/sfw/lib/64:/usr/openwin/lib/64 
-o libkdecore.la -rpath /usr/local/sparcv9/kde-3.5.7/lib 
-L/scratch/local-sw-tmp/kdesvn/build/qt-copy/lib -R 
/usr/local/sparcv9/kde-3.5.7/lib -R /usr/local/sparcv9/kde-3.5.7/lib -R 
/scratch/local-sw-tmp/kdesvn/build/qt-copy/lib -R /usr/local/sparcv9/X11R7.2/lib 
-R /usr/local/sparcv9/lib   -L/usr/local/sparcv9/X11R7.2/lib 
-L/usr/local/sparcv9/lib -version-info 6:0:2 -no-undefined  fakes.lo 
vsnprintf.lo libkdecore_la.all_cpp.lo  malloc/libklmalloc.la 
network/libkdecorenetwork.la svgicons/libkdesvgicons.la ../dcop/libDCOP.la 
../libltdl/libltdlc.la -lXext -lresolv  -L/usr/local/sparcv9/lib -lart_lgpl_2 
-lm -lidn ../kdefx/libkdefx.la

in kdelibs/kdecore

/bin/bash ../libtool --silent --tag=CXX --mode=link g++ -pipe -mcpu=v9 
-mtune=ultrasparc -mv8plus -Wa,-xarch=v9a -mvis -m64  -Wno-long-long -Wundef 
-Wall -W -Wpointer-arith -O2 -O3 -D__C99FEATURES__ -Wno-non-virtual-dtor 
-fno-exceptions -fno-check-new -fno-common  -DQT_CLEAN_NAMESPACE 
-DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION   -Wl,-i -m64 
-L/usr/local/sparcv9/gnupg/lib -L/usr/local/sparcv9/kde-3.5.7/lib 
-L/usr/local/sparcv9/X11R7.2/lib -L/usr/local/sparcv9/lib 
-L/usr/local/sparcv9/gcc-4.2.0/lib/sparcv9 
-L/usr/local/sparcv9/gcc-4.2.0/lib/gcc/sparc-sun-solaris2.10/4.2.0/sparcv9 
-L/usr/sfw/lib/64 -L/usr/openwin/lib/64 -Wl,-R 
-Wl,/usr/local/sparcv9/gnupg/lib:/usr/local/sparcv9/kde-3.5.7/lib:/usr/local/sparcv9/X11R7.2/lib:/usr/local/sparcv9/lib:/usr/local/sparcv9/teTeX-3.0/lib:/usr/local/sparcv9/gcc-4.2.0/lib/sparcv9:/usr/sfw/lib/64:/usr/openwin/lib/64 
-o ksvgtopng -R /usr/local/sparcv9/kde-3.5.7/lib -R 
/usr/local/sparcv9/kde-3.5.7/lib -R 
/scratch/local-sw-tmp/kdesvn/build/qt-copy/lib -R /usr/local/sparcv9/X11R7.2/lib 
-R /usr/local/sparcv9/lib -L/usr/local/sparcv9/kde-3.5.7/lib 
-L/scratch/local-sw-tmp/kdesvn/build/qt-copy/lib 
-L/usr/local/sparcv9/X11R7.2/lib -L/usr/local/sparcv9/lib ksvgtopng.o 
-L/usr/local/sparcv9/lib -lart_lgpl_2 -lm ../kdecore/libkdecore.la 
../kdecore/svgicons/libkdesvgicons.la

in kdelibs/pics

Did you use the SHELL=/bin/bash Environment? You may also do some adjustments 
with libtool for 64-bit development. I think you should better use the 32-bit 
environment, this simplifies something!

Hope this helps,
Michael


More information about the kde-solaris mailing list