inetutils fails in compilation

Ken Moffat zarniwhoop73 at
Tue Nov 3 03:55:19 PST 2009

2009/11/3 yayo <yayo.75 at>:
> Hello.
> I'm currently at chapter 6.31: Inetutils.
> I'm using a LFS-livecd (6.3) as host system and the version 6.5 of the LFS book.
> Also I'm using the last package management system mentioned in the LFS book itself, the one named "user based management" (with just some little problems all solved so far).
> I tried building Inetutils but the process fails.
> This is the last part of the building log, the part which seems to have something wrong:
>    gcc -std=gnu99  -g -O2   -o ftp cmds.o cmdtab.o domacro.o ftp.o main.o ruserpass.o -L../libinetutils -linetutils -L../lib -lgnu  -lreadline -lcurses -lhistory -lresolv -lnsl
>    /usr/lib/gcc/i686-pc-linux-gnu/4.4.1/../../../libreadline.a(xmalloc.o): In function `xrealloc':
>    /usr/src/readline/readline-6.0/xmalloc.c:71: multiple definition of `xrealloc'
>    ../lib/libgnu.a(xmalloc.o):/usr/src/inetutils/inetutils-1.6/lib/xmalloc.c:60: first defined here
>    /usr/lib/gcc/i686-pc-linux-gnu/4.4.1/../../../libreadline.a(xmalloc.o): In function `xmalloc':
>    /usr/src/readline/readline-6.0/xmalloc.c:58: multiple definition of `xmalloc'
>    ../lib/libgnu.a(xmalloc.o):/usr/src/inetutils/inetutils-1.6/lib/xmalloc.c:48: first defined here
>    collect2: ld returned 1 exit status
>    make[2]: *** [ftp] Error 1
>    make[2]: Leaving directory `/usr/src/inetutils/inetutils-1.6/ftp'
>    make[1]: Leaving directory `/usr/src/inetutils/inetutils-1.6'
>    make[1]: *** [all-recursive] Error 1
>    make: *** [all] Error 2

 xrealloc seems to be part of libiberty (now usually gnulib in modern
versions, I believe).
The nearest match on google seems to be Matt's problems in February -
thread starts

 Looking at his explanation of what went wrong in his build, I wonder if you are
somehow linking to the host system's files ?

 I know some people get on well with this form of package management.  I'm not
one of them - all I ever see are people's problems.  If you have
already built an
LFS system, then you should know enough to be able to use user-based package
management.  If this is your first LFS build, package management, like any other
deviation from the book, can add to your difficulties.

> I can't see anything else wrong in the rest of the making log.
> I fist checked for something else related to that "collect2: ld returned 1 exit status": I tried with the config.log file but it's huge.

The collect2 message is because linking failed during 'make'.  By this point,
the messages from the configure script are history.

> Anyway I managed to locate the 1st position which seems to report an error, and the error message is similar, still complaining about a failure in "ld":
>    configure:4536: gcc -o conftest -g -O2   conftest.c -lcposix   >&5
>    /usr/bin/ld: cannot find -lcposix
>    collect2: ld returned 1 exit status
> it seems to be something wrong with an "-lcposix" option.
> Anyway the configure process didn't stop for that and reached the end without complaining for errors.

 I think you haven't quite grasped how configure scripts operate!  They are
there to tune a build to all manner of vaguely unix-like systems.  In our case,
varieties of linux, but for other people the system might be a BSD, or solaris,
or other systems which now count as "obscure".

 Many of the tests in a configure script are trying to make sense of how
different host systems do different things:  In this case, some sort of
system needs to link against libcposix to achieve whatever part of the
package needs to do, so configure tests to see if your system has that

After tragedy, and farce, "OMG poneys!"

More information about the lfs-support mailing list