Linking problems

Andy Goossens andygoossens at pandora.be
Fri Jun 27 15:18:29 CEST 2003


Before I continue my struggle compiling a KDE app, some other remarks:


1) http://kde-cygwin.sourceforge.net/kde3/ mentions "the first KDE 3.3.1 
release". Make that KDE 3.1.1 :-p

2) The new KDE-Devel packages are causing a bug in the Cygwin installer. 
Everytime the Cygwin setup.exe 'wizard' is completed, the names of the 
KDE-Devel autoconf and automake packages gets longer. It seems like the 
package name is appended with its own version number on each run of the 
Cygwin setup.

Okay, that was bad wording ;-) It becomes clearer when I paste a piece of my 
/etc/setup/installed.db file:

autoconf-2.52 autoconf-2.52-2.52-2.52-2.52-2.52-5.tar.bz2 0
autoconf-devel-2.52 autoconf-devel-2.52-2.52-2.52-2.52-2.52-4.tar.bz2 0
automake-1.5 automake-1.5-1.5-1.5-1.5-1.5b-1.tar.bz2 0
automake-devel-1.5 automake-devel-1.5-1.5-1.5-1.5-1.5-5.tar.bz2 0

Only automake and autoconf packages are affected.



On Thursday 26 June 2003 09:14, ralf.habacker at freenet.de wrote:
> It seems that the setup compiler is not able to deal with symbolic links.
>
> A workaround is to use the following sh script, which recreates the
> necessary links. Enter /opt/kde3/bin before running it.
>
> for i in `ls *.dll`; do cd ../lib;  j=`echo $i | sed
> "s,-[0-9.-]*dll,.dll,g;s,cyg,lib,g"`; ln -fs ../bin/$i $j.a; cd ../bin ;
> done

Another great trick :-) Thanks...


But now, I'm facing another error at link time. Those auto-imports seem 
harmless, but "undefined reference" doesn't sound good. ;-)

Info: resolving QString::null   by linking to __imp___7QString$null 
(auto-import)
...snip...
Info: resolving KApplication::KApp    by linking to 
__imp___12KApplication$KApp (auto-import)
Info: resolving _static_QUType_int by linking 
to/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-10/libgcc.a(_pure.o)(.text+0x2f): 
undefined reference to `write'
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-10/libgcc.a(_eh.o)(.text+0x7): 
undefined reference to `abort'
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-10/libgcc.a(_eh.o)(.text+0xaa): 
undefined reference to `TlsSetValue at 8'
...snip...
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-10/libgcc.a(frame.o)(.text+0xb9b): 
undefined reference to `ReleaseMutex at 4'
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-10/libgcc.a(frame.o)(.text+0xba3): 
undefined reference to `abort'
 __imp__static_QUType_int (auto-import)
Info: resolving _static_QUType_varptr by linking to 
__imp__static_QUType_varptr (auto-import)
collect2: ld returned 1 exit status


I installed automake, autoconf, binutils-patch from the KDE-Devel category. 
But according to the FAQ on the website 
(http://kde-cygwin.sourceforge.net/faq/compiling.php), I need an updated 
binutils package (which is installed, as I assume it's inside binutils-patch) 
and the libtool version from the download area. So I'm guessing my problem 
may be caused by using the original Cygwin libtool.

Now, do I need to use an updated libtool? Looking at the download area, do I 
need the one listed below the "kde-2.2.1-alpha" section? I had a few tries 
but I couldn't get it to work properly. And how do I integrate libtool into 
the KDE build system?

-- 
// Andy Goossens

// Quote of the moment:
Beware of computerized fortune-tellers!



More information about the kde-cygwin mailing list