bug-gettext
[Top][All Lists]
Advanced

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

Re: /usr/lib/gcc/x86_64-alpine-linux-musl: libgettextlib.so: undefined r


From: Jeffrey Walton
Subject: Re: /usr/lib/gcc/x86_64-alpine-linux-musl: libgettextlib.so: undefined reference to `libiconv'
Date: Mon, 15 Jun 2020 19:40:47 -0400

On Mon, Jun 15, 2020 at 7:34 PM Jeffrey Walton <noloader@gmail.com> wrote:
>
> On Mon, Jun 15, 2020 at 7:29 PM Jeffrey Walton <noloader@gmail.com> wrote:
> >
> > On Mon, Jun 15, 2020 at 7:19 PM Jeffrey Walton <noloader@gmail.com> wrote:
> > > On Mon, Jun 15, 2020 at 4:02 PM Bruno Haible <bruno@clisp.org> wrote:
> > > > ...
> > > > > I believe I'm doing what the manual says: (1) build libiconv, install
> > > > > it, (2) build gettext, install it, (3) build libiconv again, install
> > > > > it again.
> > > >
> > > > And you are now in the step (2)?
> > >
> > > Yes.
> > >
> > > > We need to find out why gettext-tools/config.status contains an empty
> > > > LIBICONV and LTLIBICONV variable. The place to look is 
> > > > gettext-tools/config.log.
> > > >
> > > > > I think the circular dependency is a very bad idea. But it is not my
> > > > > call to make.
> > > >
> > > > It is not as bad as you think:
> > > >   - gettext depends on the iconv _library_.
> > > >   - The iconv _program_ depends on gettext and the iconv library.
> > > > So, it the iconv library and the iconv program were in separate 
> > > > packages,
> > > > there would not be a circular dependency.
> > >
> > > OK, so I was able to get past the link failures by adding
> > > LIBS="-liconv" and then configuring.
> > >
> > > 'make check' is having some troubles, though. I'm seeing intermittent 
> > > failures.
> > >
> > > PASS: msgcat-1
> > > FAIL: msgcat-2
> > > FAIL: msgcat-3
> > > FAIL: msgcat-4
> > > PASS: msgcat-5
> >
> > So this is kind of weird... GetText was configured with
> > --with-libiconv-prefix="$MY_PREFIX".
> >
> > But then:
> >
> > $ cat gettext-0.20.2/gettext-tools/tests/test-suite.log
> > ...
> >
> > FAIL: msgcat-2
> > ==============
> > msgcat: Cannot convert from "ISO-8859-1" to "UTF-8". msgcat relies on
> > iconv(). This version was built without iconv().
> > FAIL msgcat-2 (exit status: 1)
> >
> > I'm attaching gettext-tools/config.log.

My bad... this is the runtime test for libiconv (around line 1660):

configure:22086: checking for working iconv
configure:22227: gcc -o conftest -g2 -O2 -march=native -fPIC -pthread
-I/home/jwalton/tmp/ok2delete/include -DNDEBUG
-L/home/jwalton/tmp/ok2delete/lib -Wl,-R,'$$ORIGIN/../lib'
-Wl,-R,/home/jwalton/tmp/ok2delete/lib -Wl,--enable-new-dtags
conftest.c -ldl -lpthread -liconv >&5
configure:22227: $? = 0
configure:22227: ./conftest
Error loading shared library libiconv.so.2: No such file or directory
(needed by ./conftest)
Error relocating ./conftest: libiconv_open: symbol not found
Error relocating ./conftest: libiconv_close: symbol not found
Error relocating ./conftest: libiconv: symbol not found
configure:22227: $? = 127
configure: program exited with status 127

And to verify the libraries in /home/jwalton/tmp/ok2delete/lib:

$ ls /home/jwalton/tmp/ok2delete/lib
libcharset.a         libmenu.a            libncurses_g.a
libcharset.la        libmenu.so           libpanel.a
libcharset.so        libmenu.so.6         libpanel.so
libcharset.so.1      libmenu.so.6.1       libpanel.so.6
libcharset.so.1.0.0  libmenu_g.a          libpanel.so.6.1
libform.a            libncurses++.a       libpanel_g.a
libform.so           libncurses++.so      libtinfo.a
libform.so.6         libncurses++.so.6    libtinfo.so
libform.so.6.1       libncurses++.so.6.1  libtinfo.so.6
libform_g.a          libncurses++_g.a     libtinfo.so.6.1
libiconv.la          libncurses.a         libtinfo_g.a
libiconv.so          libncurses.so        pkgconfig
libiconv.so.2        libncurses.so.6
libiconv.so.2.6.1    libncurses.so.6.1

So I am back to being confused... I wonder if Alpine requires
/home/jwalton/tmp/ok2delete/lib to be specified with LD_LIBRARY_PATH
or something. Unfortunately:

$ man -k ld.so
-sh: man: not found

So this looks like an Alpine problem.

Jeff



reply via email to

[Prev in Thread] Current Thread [Next in Thread]