Subject: RE: How to build static lib's - prob with gtk/glib
From: "Kevin Wright" <[email-masked]>
To: "'Mumit Khan'" <[email-masked]>
Cc: <[email-masked]>
Date: Mon, 27 Sep 1999 14:58:09 -0700

Mumit Khan writes:

>You need to ask the GTK folks about it. --disable-shared should have
>created static libs only, but for some packages, that is not an option.
>It's not possible to tell what the problem is from just what you've
>posted, sorry.

Here is a snippet of the output from running configure:

checking for ld used by GCC... /bin/ld.exe
checking if the linker (/bin/ld.exe) is GNU ld... yes
checking for BSD-compatible nm... /bin/nm -B
checking whether ln -s works... yes
updating cache ./config.cache
loading cache ./config.cache within ltconfig
checking for object suffix... o
checking for executable suffix... .exe
checking for gcc option to produce PIC... none
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.lo... yes
checking if gcc supports -fno-rtti -fno-exceptions ... yes
checking if gcc static flag -static works... -static
checking if the linker (/bin/ld.exe) is GNU ld... yes
checking whether the linker (/bin/ld.exe) supports shared libraries... yes
checking command to parse /bin/nm -B output... ok
checking how to hardcode library paths into programs... immediate
checking for /bin/ld.exe option to reload object files... -r
checking dynamic linker characteristics... Win32 ld.exe
checking if libtool supports shared libraries... yes
checking if package supports dlls... no
checking whether to build shared libraries... no
checking whether to build static libraries... yes

It seams that the configure script is broken because even though I specify
using no static libs, it still checks for whether libtool support shared
libs and it still tries to create the shared libs. I realize this is not the
fault of the compiler.

Here is the snipped of output from the build process:

/bin/sh ../libtool --mode=link gcc  -g -O2 -Wall  -o libgdk.la -rpath
/usr/local/lib -version-info 5:0:5 -release
1.2 -export-dynamic -L/usr/X11/lib -lXext -lX11 -lipc -lm gdk.lo gdkcc
libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin
shared libraries

Thanks to everyone who posted information regarding windows versions of gtk
but I'm only interested in building this under cygwin using X.

Kevin

>-----Original Message-----
>From: Mumit Khan [mailto:[email-masked]]
>Sent: Monday, September 27, 1999 12:31 PM
>To: Kevin Wright
>Cc: [email-masked]
>Subject: Re: How to build static lib's
>
>
>"Kevin Wright" <[email-masked]> writes:
>> Hello,
>>
>> I've been using cygwin for about a year and have
>> always had some problems building static only
>> versions of libraries such as glib and gtk+.
>>
>> Here's the configure options I've tried:
>>
>> ./configure --disable-shared --disable-shm --disable-nls
>--no-recursion
>>
>> However, I still end up building the .lo & subsequent .la files.
>> I tried hacking the libtool files but that was useless
>because it gets
>> created during the configure process. The problem is that
>certain lib's
>> programs fail with messages such as:
>>
>> gdk_imlib ERROR: Cannot load image:
>> /usr/local/share/pixmaps/gnome-question.png
>> All fallbacks failed.
>>
>> WARNING: previous dlopen of
>> E:\usr\local\lib\libimlib-png.so wasn't correctly performed
>
>This problem is due to a bug in cygwin-b20, and is fixed in recent
>snapshots. In most cases, it is quite harmless (unless you're creating
>subprocesses using fork/exec, in which case odd things may happen).
>
>> Is there a way to make these libs truly static?
>>
>> I'm using gcc 2.95 and cygwin b20.1. Perhaps this is fixed in a
>> newer snapshot of the cygwin1.dll but I am waiting for the
>> complete installation package to be released.
>
>You need to ask the GTK folks about it. --disable-shared should have
>created static libs only, but for some packages, that is not an option.
>It's not possible to tell what the problem is from just what you've
>posted, sorry.
>
>Regards,
>Mumit
>
>

--
Want to unsubscribe from this list?
Send a message to [email-masked]