Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 May 2003 12:26:59 -0700
From:      "Kevin Oberman" <oberman@es.net>
To:        Joe Marcus Clarke <marcus@marcuscom.com>
Cc:        FreeBSD GNOME Users <gnome@freebsd.org>
Subject:   Re: Unable to build most gnome ports 
Message-ID:  <20030519192659.36CF95D04@ptavv.es.net>
In-Reply-To: Message from Joe Marcus Clarke <marcus@marcuscom.com>  of "19 May 2003 12:13:08 EDT." <1053360787.310.23.camel@gyros> 

next in thread | previous in thread | raw e-mail | index | archive | help
> From: Joe Marcus Clarke <marcus@marcuscom.com>
> Date: 19 May 2003 12:13:08 -0400
> 
> 
> --=-DY8KtwbdBqxQvKoLPyW9
> Content-Type: text/plain
> Content-Transfer-Encoding: quoted-printable
> 
> On Mon, 2003-05-19 at 10:50, Kevin Oberman wrote:
> > > From: Joe Marcus Clarke <marcus@marcuscom.com>
> > > Date: 18 May 2003 21:47:27 -0400
> > >=20
> > >=20
> > > --=3D-Alg6/W4IkLM+J1Tw4C4y
> > > Content-Type: text/plain
> > > Content-Transfer-Encoding: quoted-printable
> > >=20
> > > On Sun, 2003-05-18 at 21:39, Joe Marcus Clarke wrote:
> > > > On Sun, 2003-05-18 at 19:18, Kevin Oberman wrote:
> > > > > After having gnumeric2 produce many Gtk errors, I decided to rebuil=
> d all
> > > > > of the dependencies of Gnumeric. This failed as pkgconfig would not
> > > > > build. I tried rebuilding gettext, but that didn't help. A large
> > > > > number of other ports have the same problem and will not build.
> > > > >
> > > > > The error occurs before anything is compiled and I can cd to the
> > > > > pkgconfig-0.15.0 directory and it seems to compile, so I suspect th=
> at
> > > > > this is an issue with the FreeBSD port. Any ideas?
> > > >
> > > > Since no one else is complaining about this, and all ports build both=
>  on
> > > > bento as well as my build machine, I can only assume there is an issu=
> e
> > > > with your gettext port/make.conf/environment.  Do a make configure in
> > > > /usr/ports/devel/gettext.  Then look at work/gettext-0.11.5/config.h.
> > > > You should see:
> > > >
> > > > /* Define if you have the `stpcpy' function. */
> > > > /* #undef HAVE_STPCPY */
> > > >
> > > > This indicates the system does not contain stpcpy, and thus, gettext
> > > > needs to build its own copy.  If you see HAVE_STPCPY is defined, then
> > > > you need to look at config.log to see why it's defined.  You should s=
> ee:
> > > >
> > > > configure:9184: checking for stpcpy
> > > > configure:9221: cc -o conftest -O -pipe -march=3D3Dpentiumpro
> > > > -I/usr/local/include -L/usr/local/lib conftest.c  >&5
> > > > /tmp/ccPEUbzg.o: In function `main':
> > > > /tmp/ccPEUbzg.o(.text+0x9): undefined reference to `stpcpy'
> > > > configure:9224: $? =3D3D 1
> > > > configure: failed program was:
> > > > ...
> > > >
> > > > In any event, my libintl.so does not contain any stpcpy symbol.
> > > > However, my libgettextlib.so does, but it's an internally defined
> > > > symbol:
> > > >
> > > > 00008e24 T stpcpy
> > >=20
> > > I take it back.  -CURRENT does have stpcpy.  Make sure you do not have
> > > NOLIBC_R defined in /etc/make.conf, and that libc.so is up-to-date.
> >=20
> > The only things in my make.conf are NO_LPR, NOPROFILE, NO_SENDMAIL and
> > the Perl stuff. My libc.so.5 is current as of May 8. Kernels built since
> > then consistently crash, so I am currently unable to upgrade.
> >=20
> > I looked at config.h and it says that I have stpcpy. The config.log file
> > shows the same:
> > configure:9184: checking for stpcpy
> > configure:9221: cc -o conftest -O -pipe -mcpu=3Dpentiumpro -I/usr/local/i=
> nclude -L/usr/local/lib conftest.c  >&5
> > configure:9224: $? =3D 0
> > configure:9227: test -s conftest
> > configure:9230: $? =3D 0
> > configure:9240: result: yes
> 
> Like I said, -CURRENT _does_ have an stpcpy.  If you do an nm -D
> /usr/lib/libc.so.5, you should see a definition similar to:
> 
> 0001d680 T stpcpy
> 
> Then, there should be an undefined reference in libintl.so.
> 
> >
> > I can't imagine where the compile is finding stpcpy if it's not in
> > libc.so. I'm suspicious that I have some left-over cruft that is causing
> > this, although I can't imagine what it might be.
> 
> I assume running gettext produces the same error?  If so, do an ldd
> /usr/local/bin/gettext, and see which version of libc it's linked
> against.  It should be /usr/lib/libc.so.5.  Also, make sure
> /usr/lib/libc.so is symlinked to /usr/lib/libc.so.5.

I need to put on my reading glasses, I guess. 

I can now confirm that libc.so DOES contain stpcpy. I can also confirm
the gettext is linked to libc.so.5 and (FWIW), there is a link from
libc.so to libc.so.5.

I am rapidly running out of possibilities and one is a hosed system, so
I am rebuilt from scratch. (rm /usr/src/*; rm /usr/obj/*) Still, no
joy. gettext is linked to libc.so.5 which contains stpcpy, but stpcpy is
not found when libintl.so is loaded. I fear I am not sufficiently
familiar with the loader operation on FreeBSD to track this down.

R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman@es.net			Phone: +1 510 486-8634




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030519192659.36CF95D04>