[lfs-support] 5.13. Check-0.9.9

Pierre Labastie pierre.labastie at neuf.fr
Wed Jan 16 06:54:45 PST 2013


Le 16/01/2013 14:31, Philippe Delavalade a écrit :
> Hi.
>
> I'm building svn-10094 ; my host system is debian/testing.
>
> I obtain an error while building check-0.9.9 ; here is the output of make
> command :
>
> [...]libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -Wall -ansi -pedantic -Wextra -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wno-variadic-macros -MT putenv.lo -MD -MP -MF .deps/putenv.Tpo -c putenv.c  -fPIC -DPIC -o .libs/putenv.o
> putenv.c:5:1: error: expected identifier or '(' before '{' token
> make[2]: *** [putenv.lo] Error 1
> make[2]: Leaving directory `/lfs/sources/check-0.9.9/lib'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/lfs/sources/check-0.9.9'
> make: *** [all] Error 2
Hi,

I have given some explanation of this in
http://www.mail-archive.com/lfs-dev@linuxfromscratch.org/msg18128.html.

Basically, in some cases, binutils links to the host library instead of 
the  /tools
one. In this case, Debian testing has still eglibc 2.13 while you have 
glibc-2.17
in tools, and there has been an incompatible API change in the pthread 
library.
This reults in `configure' not finding a bunch of procedures, including 
putenv.
The `check' build machinery has a fallback for putenv (the file 
putenv.c), which
has a typo in it, giving the error you see...

You have two ways from here:
- quick and dirty (but should do OK) : rerun configure with 
CFLAGS="$CFLAGS -lpthread"
- more correct, IMHO : rebuild binutils-pass2, adding --with-sysroot to 
the `configure' switches.
You do not need to rebuild gcc, tcl, expect or dejagnu. Then build 
`check' again.

>
> I have to say that, for some stupid reason, while building tcl, I ran twice
> the command sequence :
>
> make install
> chmod -v u+w /tools/lib/libtcl8.6.so
> make install-private-headers
> ln -sv tclsh8.6 /tools/bin/tclsh
>
> I don't know if this as effect but I prefer to mention it.
>
>
No effect that I could think of. Haven't you got an error at the last 
line, because tclsh already existed?

Regards
Pierre



More information about the lfs-support mailing list