Re: Solaris 2.5.1 problem with libs.



Also: your earlier message about Solaris 2.5.1 - I've compiled Gnome under
Solaris 2.6 with (few) problems, the main one being "-z text" in libtool.
This (-z text) makes my ld fail to build a shared library, because of
unresolved external references. The man page says that -z text will, "Force
a fatal error if any relocations against non-writable, allocatable sections
remain."

Hmmm. Like 'unresolved' symbols from libc, for example? :-)

> on Solaris 2.5.1 I got problems compiling the libgnomesupport with
> gcc. Configure assumes a `vsnprintf' in libc and makes `make' use
> `easy-vsnprintf.c' instead of `vsnprintf.c' to use it.

easy-vsnprintf.c appears to be there as a 'wrapper' for __vsnprintf,
which is the symbol in libc under 2.5 and 2.5.1. (Under 2.6, it has been
changed to 'vsnprintf'.)

Check config.log in the root directory of gnome-libs. There should be a
record of what happened when 'configure' tested to see if the symbol
vsnprintf was defined. I would expect this to fail. On my system, the
following happened:

configure:2487: checking for sys_errlist
configure:2499: gcc -o conftest -g -O2  -I/usr/local/lib/glib/include -I/usr/local/include -I/usr/openwin/include  conftest.c  1>&5
configure:2526: checking for vsnprintf
configure:2554: gcc -o conftest -g -O2  -I/usr/local/lib/glib/include -I/usr/local/include -I/usr/openwin/include  conftest.c  1>&5
configure:2638: checking for scandir

As you can see from the extract, the program compiled OK. I would expect
yours (under 2.5.1) to fail. Check the appropriate lines (starting at 2526
in my case) if you want to see what 'configure' put into 'conftest.c'.

So, your configure should have failed to compile that test program and, as
a result, decided to use 'easy-vsnprintf.c' as a wrapper.

> This fails, at
> least for me, using gcc. Hacking `easy-vsfprintf' out of the
> configure-script (so it uses `vsprintf.c') makes it work.
> 
> There is `vsnprintf' in Solaris libc, but applications fail because it
> is not found. Don't ask me why.=20

Solaris libc contains '__vsnprintf'. Gnome applications require 'vsnprintf'.
Instead of hacking 'easy-vsfprintf.c' out of the Makefile, you'll need to
fix it so it compiles.

I notice from the comments in the file that it was written for 2.5. There
may be some small difference between 2.5 and 2.5.1 that is breaking it.

What happens when easy-vsfprintf.c is compiled?

Anyone else compiled Gnome under 2.5.1?

Allan



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]