Re: Building from 3.5.7

Michael Lindig <[email protected]>
Newsgroups gmane.comp.kde.solaris
Message-ID <[email protected]>
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-sola
 ris2.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
___________________________________________________
This message is from the kde-solaris mailing list.
Account management:  https://mail.kde.org/mailman/listinfo/kde-solaris.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.