Make check again

Greg Schafer gschafer at zip.com.au
Sun Feb 16 19:32:09 PST 2003


On Mon, Feb 17, 2003 at 02:15:30PM +1100, Ryan.Oliver at pha.com.au wrote:
> 
> Ok,
> 
> Firstly I'm building to the Pure LFS hint with some minor mods.
> 
> Glibc is first ( after an initial binutils and gcc static )
> Locales are installed.
> Ch5 shared binutils is built with nls support, as is everything else ch5.
> I also install gettext during ch5 too so its around for ch6.
> 
> Unless something broke, with the locales installed and gettext there
> shouldn't be any issues... of course I could be wrong but like I've said, I
> haven't run into the issues you are seeing when running make check...
> 
> Maybe I better look at it again :-)

Ok, think I've figured it out..

binutils decides to use its own internal version of gettext if it doesn't
find the system one. Therefore I feel it is a good thing we are including
gettext in Pure LFS Ch 5 whereas before I was unsure.

You can simulate the problem by compiling a static binutils with
"--with-included-gettext". It craps out with a similar error to what Arjan
saw:-

gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -O2 -pipe -static -s
-o size size.o bucomm.o version.o filemode.o  ../bfd/.libs/libbfd.a
../libiberty/libiberty.a ./../intl/libintl.a
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/../../../libc.a(dcigettext.o)(.rodata+0x0):
multiple definition of `_nl_default_default_domain'
./../intl/libintl.a(dcgettext.o)(.rodata+0x0): first defined here
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/../../../libc.a(dcigettext.o)(.data+0x0):
multiple definition of `_nl_current_default_domain'
./../intl/libintl.a(dcgettext.o)(.data+0x0): first defined here
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/../../../libc.a(dcigettext.o)(.rodata+0x9):
multiple definition of `_nl_default_dirname'
./../intl/libintl.a(dcgettext.o)(.rodata+0x9): first defined here
/usr/bin/ld: Warning: size of symbol `_nl_default_dirname' changed from 28
to 18 in
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/../../../libc.a(dcigettext.o)
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/../../../libc.a(loadmsgcat.o)(.text+0x5d0):
In function `_nl_load_domain':
: multiple definition of `_nl_load_domain'
./../intl/libintl.a(loadmsgcat.o)(.text+0x0): first defined here
/usr/bin/ld: Warning: size of symbol `_nl_load_domain' changed from 885 to
2986 in
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/../../../libc.a(loadmsgcat.o)
bucomm.o(.text+0x526): In function `make_tempname':
: the use of `mktemp' is dangerous, better use `mkstemp'
collect2: ld returned 1 exit status
make[3]: *** [size] Error 1
make[3]: Leaving directory `/home/gws/src/temp2/binutils-build/binutils'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/gws/src/temp2/binutils-build/binutils'
make[1]: *** [all-recursive-am] Error 2
make[1]: Leaving directory `/home/gws/src/temp2/binutils-build/binutils'
make: *** [all-binutils] Error 2


This is the kind of thing that helps to explain the "it takes 3 iterations
of rebuilding everything before it stops changing" stuff that some people
keep on harping on about without looking to see WHY it keeps on changing..

If anyone is not sure what I'm talking about here:-

 - if you follow current LFS CVS, a binutils compiled before gettext is
   installed, ends up as DIFFERENT CODE compared to a binutils compiled
   when system gettext is present.

Greg
-- 
Unsubscribe: send email to listar at linuxfromscratch.org
and put 'unsubscribe lfs-dev' in the subject header of the message



More information about the lfs-dev mailing list