Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 149690 - sys-libs/glibc-2.4-r4 failed simple sanity check due to Floating point exception
Summary: sys-libs/glibc-2.4-r4 failed simple sanity check due to Floating point exception
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-10-01 01:10 UTC by Alexander Skwar
Modified: 2006-10-06 09:14 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Skwar 2006-10-01 01:10:46 UTC
I'm trying to emerge glibc with these flags:

[ebuild     U ] sys-libs/glibc-2.4-r4 [2.4-r3] USE="-build -glibc-compat20% -glibc-omitfp -hardened (-multilib) nls nptl nptlonly -profile (-selinux)" 0 kB 

This fails:


if test -r /Gentoo/Portage/build/portage/glibc-2.4-r4/image//usr/include/gnu/stubs-32.h && cmp -s /Gentoo/Portage/build/portage/glibc-2.4-r4/work/build-default-i686-pc-linux-gnu-nptl/stubs.h /Gentoo/Portage/build/portage/glibc-2.4-r4/image//usr/include/gnu/stubs-32.h; \
        then echo 'stubs.h unchanged'; \
        else /bin/install -c -m 644 /Gentoo/Portage/build/portage/glibc-2.4-r4/work/build-default-i686-pc-linux-gnu-nptl/stubs.h /Gentoo/Portage/build/portage/glibc-2.4-r4/image//usr/include/gnu/stubs-32.h; fi
rm -f /Gentoo/Portage/build/portage/glibc-2.4-r4/work/build-default-i686-pc-linux-gnu-nptl/stubs.h
/Gentoo/Portage/build/portage/glibc-2.4-r4/work/build-default-i686-pc-linux-gnu-nptl/elf/sln /Gentoo/Portage/build/portage/glibc-2.4-r4/work/build-default-i686-pc-linux-gnu-nptl/elf/symlink.list
rm -f /Gentoo/Portage/build/portage/glibc-2.4-r4/work/build-default-i686-pc-linux-gnu-nptl/elf/symlink.list
test ! -x /Gentoo/Portage/build/portage/glibc-2.4-r4/work/build-default-i686-pc-linux-gnu-nptl/elf/ldconfig || LC_ALL=C LANGUAGE=C \
          /Gentoo/Portage/build/portage/glibc-2.4-r4/work/build-default-i686-pc-linux-gnu-nptl/elf/ldconfig -r /Gentoo/Portage/build/portage/glibc-2.4-r4/image/ \
                                       /lib /usr/lib
/Gentoo/Portage/build/portage/glibc-2.4-r4/work/build-default-i686-pc-linux-gnu-nptl/elf/ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory
make[1]: Leaving directory `/Gentoo/Portage/build/portage/glibc-2.4-r4/work/glibc-2.4'
/Gentoo/Portage/tree.lokal/sys-libs/glibc/glibc-2.4-r4.ebuild: line 496:  1242 Floating point exception"${D}"/$(get_libdir)/ld-*.so --library-path "${D}"/$(get_libdir) ${x} >/dev/null

!!! ERROR: sys-libs/glibc-2.4-r4 failed.
Call stack:
  ebuild.sh, line 1546:   Called dyn_install
  ebuild.sh, line 1020:   Called src_install
  glibc-2.4-r4.ebuild, line 1248:   Called toolchain-glibc_src_install
  glibc-2.4-r4.ebuild, line 505:   Called die

!!! simple run test (/bin/date) failed
!!! If you need support, post the topmost build error, and the call stack if relevant.


The error "Can't open configuration file /etc/ld.so.conf: No such file or directory" can be found in other bugs as well. Please see bug #132255 , bug #124682 or bug #50678.

alexander@blatt ~ $ emerge --info
Portage 2.1.2_pre2 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.4-r3, 2.6.18-suspend2.045 i686)
=================================================================
System uname: 2.6.18-suspend2.045 i686 Intel(R) Celeron(R) M processor         1.50GHz
Gentoo Base System version 1.12.5
Last Sync: Sat, 30 Sep 2006 21:50:01 +0000
ccache version 2.4 [enabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 2.0.30
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r6
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -mtune=pentium-m -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -mtune=pentium-m -pipe -fomit-frame-pointer"
DISTDIR="/Gentoo/Portage/distfiles"
EMERGE_DEFAULT_OPTS="--alphabetical"
FEATURES="autoconfig buildpkg ccache collision-protect distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="        http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/   http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/     ftp://ftp.tu-clausthal.de/pub/linux/gentoo/     http://distro.ibiblio.org/pub/linux/distributions/gentoo/        ftp://distro.ibiblio.org/pub/linux/distributions/gentoo  http://distfiles.gentoo.org/ "
LANG="de_DE.UTF-8"
LINGUAS="de"
PKGDIR="/Gentoo/Portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/Gentoo/Portage/build"
PORTDIR="/Gentoo/Portage/tree"
PORTDIR_OVERLAY="/Gentoo/Portage/local-tree/misc"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="x86 alsa berkdb bitmap-fonts cli crypt dlloader dri elibc_glibc esd fortran gdbm gnome gstreamer hal input_devices_evdev input_devices_keyboard input_devices_mouse isdnlog kdeenablefinal kdehiddenvisibility kernel_linux libedit libg++ libnotify linguas_de ncurses nls nptl nptlonly pcre perl ppds pppd python readline reflection session spl ssl tcpd truetype-fonts type1-fonts udev unicode userland_GNU video_cards_fbdev video_cards_vesa video_cards_vga video_cards_via xorg zlib"
Unset:  CTARGET, INSTALL_MASK, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Alexander Skwar 2006-10-01 01:11:36 UTC
Raising to Severity: major, as glibc is somewhat important ;)
Comment 2 SpanKY gentoo-dev 2006-10-01 12:50:21 UTC
the ld.so.conf is a warning, not an error

your problem is this:
/Gentoo/Portage/tree.lokal/sys-libs/glibc/glibc-2.4-r4.ebuild: line 496:  1242
Floating point exception"${D}"/$(get_libdir)/ld-*.so --library-path
"${D}"/$(get_libdir) ${x} >/dev/null

does glibc-2.4-r3 emerge ?
Comment 3 Alexander Skwar 2006-10-01 12:55:18 UTC
(In reply to comment #2)
> the ld.so.conf is a warning, not an error

Ah, okay. Thanks.

> your problem is this:
> /Gentoo/Portage/tree.lokal/sys-libs/glibc/glibc-2.4-r4.ebuild: line 496:  1242
> Floating point exception"${D}"/$(get_libdir)/ld-*.so --library-path
> "${D}"/$(get_libdir) ${x} >/dev/null
> 
> does glibc-2.4-r3 emerge ?
> 

alexander@blatt ~ $ ls -lad /var/db/pkg/*/*glibc*
drwxr-xr-x 2 root root 4096  9. Sep 03:59 /var/db/pkg/sys-libs/glibc-2.4-r3

IOW: I had glibc-2.4-r3 installed. I'll check if re-emerge'ing it works.
Comment 4 Alexander Skwar 2006-10-01 23:32:46 UTC
(In reply to comment #3)
> (In reply to comment #2)

> > does glibc-2.4-r3 emerge ?

> IOW: I had glibc-2.4-r3 installed. I'll check if re-emerge'ing it works.

Yes, -r3 can be emerged. Resetting severity to the proper setting.
Comment 5 SpanKY gentoo-dev 2006-10-03 06:50:06 UTC
then try setting the 2.4-r4 patchset to 1.17 and if that works, try taking out the different patches

none of the new patches in 1.18 should be causing this
Comment 6 Christian Schmidt 2006-10-05 01:05:18 UTC
Reverting to patchset 1.17 apparently allows the checks to succeed, but ends with:

/var/tmp/portage/glibc-2.4-r4/work/build-default-i686-pc-linux-gnu-nptl/elf/ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory
make[1]: Leaving directory `/var/tmp/portage/glibc-2.4-r4/work/glibc-2.4'
install: cannot stat `/var/tmp/portage/glibc-2.4-r4/work/extra/etc/*.conf': No such file or directory

Might be that the unsuccessfull read of /etc/ld.so.conf only gives a warning, but the install fails.
Comment 7 SpanKY gentoo-dev 2006-10-05 18:34:23 UTC
the ld.so.conf is harmless ... since i moved config files from $FILESDIR to the patchset, you'll get an install failure as you've said ... but your test shows that the problem lies in the patches

the next part is to build up 1.17 + the new patches one at a time to figure out what the problem is ... i'd do it but 2.4-r4 works fine on my amd64/x86 machines
Comment 8 Christian Schmidt 2006-10-06 02:16:32 UTC
So the problem becomes more interesting:

[~]>/lib/ld-linux.so.2 /bin/date
Fri Oct  6 10:40:18 CEST 2006
(a system running x86 stable, where /bin/date is dynamically linked)

dnnote glibc-2.4 # /lib/ld-linux.so.2 /bin/date
Segmentation fault
dnnote glibc-2.4 # date
Fri Oct  6 11:39:31 AST 2006

My laptop. The current /lib/ld-linux.so.2 apparently can not run (statically linked) executables directly (for whatever reason), and ...

dnnote glibc-2.4 # ../build-default-i686-pc-linux-gnu-nptl/elf/ld.so /bin/date 
Segmentation fault

... so can't the newly built one. I don't really understand why you test the dynamic linker against statically linked executables at all.

dnnote glibc-2.4 # elfsh
  Welcome to The ELF shell 0.51b3 .::.
  .::. This software is under the General Public License
  .::. Please visit http://www.gnu.org to know about Free Software
[ELFsh-0.51b3]$ load /bin/true
 [*] New object /bin/true loaded on Fri Oct  6 11:57:50 2006
[ELFsh-0.51b3]$ i
[libelfsh:get_section_by_name] Section not found
[ELFsh-0.51b3]$ load /usr/bin/bc
 [*] New object /usr/bin/bc loaded on Fri Oct  6 11:57:57 2006
[ELFsh-0.51b3]$ i
 [SHT_INTERP] : /lib/ld-linux.so.2

The statically linked executable (/bin/true) does not have a .interp section that tells the kernel to load the dynamic linker after all, while the dynamically linked one has - and can be run by both linkers. After all, there is nothing wrong with the new glibc, just some obscure bug when doing something that is not supposed to happen ;)
Comment 9 Christian Schmidt 2006-10-06 02:46:38 UTC
In my oppinion the problem is:

In 2.4-r3, the ebuild tests:
             striptest=$(file -L ${x} 2>/dev/null)                              
             [[ -z ${striptest} ]] && continue                                  
             [[ ${striptest/statically linked} != "${striptest}" ]] && continue 

In 2.4-r4, the ebuild tests:
                striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null)                
                [[ -z ${striptest} ]] && continue                               
                [[ ${striptest} != *"statically linked"* ]] && continue         

which to me has the opposite meaning. 
Comment 10 SpanKY gentoo-dev 2006-10-06 09:14:49 UTC
thanks, fixed in cvs