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>