Re: New release of GTK+ libraries (1.3.15). Please test!
- From: Albert Chin <gtk-devel-list thewrittenword com>
- To: Owen Taylor <otaylor redhat com>
- Cc: "Padraig O'Briain" <Padraig Obriain sun com>, charlet ACT-Europe FR, gtk-devel-list gnome org, james daa com au
- Subject: Re: New release of GTK+ libraries (1.3.15). Please test!
- Date: Wed, 27 Feb 2002 17:47:34 -0600
On Mon, Feb 25, 2002 at 11:59:43AM -0500, Owen Taylor wrote:
>
> "Padraig O'Briain" <Padraig Obriain sun com> writes:
>
> > I have used -no-undefined in LDFLAGS in ATK and GAIL to catch
> > problems (mostly typos) at compile time rather than run time.
> >
> > One could omit -no-undefined, I suppose.
>
> It sounds like the right fix, at least short term, is to remove
> -no-undefined from ATK, since:
>
> - It's a useful debugging tool, but not actually needed.
>
> - It clearly causes problems for some combinations of
> operating system and compiler.
>
> Long term, some libtool fix may be the right approach.
This *is* fixed in libtool. However, you need v1.4.2 for this fix.
Specifically, here's the section of code that removes -no-undefined as
you want above:
solaris*)
# gcc --version < 3.0 without binutils cannot create self contained
# shared libraries reliably, requiring libgcc.a to resolve some of
# the object symbols generated in some cases. Libraries that use
# assert need libgcc.a to resolve __eprintf, for example. Linking
# a copy of libgcc.a into every shared library to guarantee resolving
# such symbols causes other problems: According to Tim Van Holder
# <tim van holder pandora be>, C++ libraries end up with a separate
# (to the application) exception stack for one thing.
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
case `$CC --version 2>/dev/null` in
[[12]].*)
cat <<EOF 1>&2
*** Warning: Releases of GCC earlier than version 3.0 cannot reliably
*** create self contained shared libraries on Solaris systems, without
*** introducing a dependency on libgcc.a. Therefore, libtool is disabling
*** -no-undefined support, which will at least allow you to build shared
*** libraries. However, you may find that when you link such libraries
*** into an application without using GCC, you have to manually add
*** \`gcc --print-libgcc-file-name\` to the link command. We urge you to
*** upgrade to a newer version of GCC. Another option is to rebuild your
*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer.
EOF
no_undefined_flag=
;;
esac
fi
--
albert chin (china thewrittenword com)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]