Summary: | >=sys-fs/e2fsprogs-1.40.4 doesn't build with uclibc | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Stefan Hellermann <stefan> |
Component: | [OLD] Core system | Assignee: | Embedded Gentoo Team <embedded> |
Status: | RESOLVED FIXED | ||
Severity: | minor | CC: | acraigwest, bertrand, chris+gentoo, christoph.gysin, ezubillaga, jpollak, lordhabbit, luckyluke, michael, napalmllama, natanael.copa, sergey.dryabzhinsky, tibor.vago |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
e2fsprogs-1.40.5-r1.patch
correct IUSE |
Description
Stefan Hellermann
2008-01-02 18:53:32 UTC
Can confirm this, have the same issue here. I can confirm that too: - uclibc/x86 profile - CHOST="i686-gentoo-linux-uclibc" - CFLAGS="-Os -march=c3-2 -pipe" - USE="minimal savedconfig -mudflap" Same error: ../../lib/libuuid.so: undefined reference to `___tls_get_addr' temp workaround: - echo '>=sys-fs/e2fsprogs-1.40.4' >> /etc/portage/package.mask - 1.40.3 compiles and works fine same error with sys-fs/e2fsprogs-1.40.5-r1 I can confirm this as well on an old box that I'm trying to update. gcc 3.3.6, glibc 2.3.5-r1 CHOST="i686-pc-linux-gnu", CFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer" /etc/make.profile -> ../usr/portage/profiles/default-linux/x86/2007.0/desktop/ Adding $(use_enable !elibc_uclibc tls) to econf fixes the problem. Created attachment 143042 [details, diff] e2fsprogs-1.40.5-r1.patch I can confirm this. Tested-by: Stefan Hellermann <stefan@the2masters.de> I have had the same problem: it's due to uclibc lacking TLS (i.e. thread local storage) support. The way to go would be to add a "tls" USE flag and keep it profile-disabled for uclibc systems. I see the current patch does something like that (i.e. disables TLS for uclibc), but it does not add a full-fledged USE flag. Is there a reason e2fsprogs can't be built without TLS in glibc? Like #4, I'm having the same problem attempting to update to sys-fs/e2fsprogs-1.40.4 albeit on PPC. emerge --info... Portage 2.1.3.19 (default-linux/ppc/ppc32/2006.0, gcc-3.4.4, glibc-2.3.3.20040420-r2, 2.6.16-gentoo-r9 ppc) ================================================================= System uname: 2.6.16-gentoo-r9 ppc 7450, altivec supported Timestamp of tree: Sun, 10 Feb 2008 19:00:02 +0000 app-shells/bash: 3.2_p17-r1 dev-lang/python: 2.3.6-r4, 2.4.4-r6 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.10-r5 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6, 1.10 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="ppc" CBUILD="powerpc-unknown-linux-gnu" CFLAGS="-O2 -mcpu=750 -pipe" CHOST="powerpc-unknown-linux-gnu" CONFIG_PROTECT="/etc /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -mcpu=750 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.blueyonder.co.uk/" PKGDIR="/usr/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 --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="alsa apache2 apm arts berkdb bitmap-fonts bonobo cdr cli cracklib crypt dri dvd eds emboss encode foomaticdb fortran gdbm gif gnome gpm gstreamer gtkhtml iconv imap imlib ipv6 isdnlog jpeg kde libwww mad midi mikmod motif mozilla mp3 mpeg mudflap ncurses nls nptl ogg openmp pam pcre perl png ppc pppd python qt4 quicktime readline reflection ruby sdl session spell spl ssl tcpd truetype truetype-fonts type1-fonts unicode vorbis xml xorg xv zlib" ALSA_CARDS="aoa aoa-fabric-layout aoa-onyx aoa-soundbus aoa-soundbus-i2s aoa-tas aoa-toonie powermac usb-audio via82xx" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="chips dummy fbdev glint imstt mach64 mga nv r128 radeon s3 s3virge savage sisusb tdfx trident v4l voodoo" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY patch is applied to both 1.40.5-r1 and 1.40.6. Please add to 1.40.4 too. thanks! sadly it works only for 1.40.5-r1, 1.40.6 seems to need another patch, it fails later with the same "undefined reference to `___tls_get_addr'" error. I think this is possible an upstream bug, when I tell configure to not use tls it should not use it anywhere. (In reply to comment #10) > sadly it works only for 1.40.5-r1, 1.40.6 seems to need another patch, it fails > later with the same "undefined reference to `___tls_get_addr'" error. I think > this is possible an upstream bug, when I tell configure to not use tls it > should not use it anywhere. > com_err-1.40.6 needs same fix to solve that. I don't know if we should file a new bug for that. Isn't there a useflag "threads" or similar that could be used for turning off threading support systemwide? I have the same problem withhout uclib :-) -- ../../lib/libuuid.so: undefined reference to `___tls_get_addr' collect2: ld returned 1 exit status make[2]: *** [uuid_time] Error 1 make[2]: Leaving directory `/var/tmp/portage/sys-fs/e2fsprogs-1.40.4/work/e2fsprogs-1.40.4/lib/uuid' make[1]: *** [all-libs-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sys-fs/e2fsprogs-1.40.4/work/e2fsprogs-1.40.4' make: *** [all] Error 2 -- Portage 2.1.3.19 (default-linux/x86/2006.1, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.15-gentoo-r1ISG i586) ================================================================= System uname: 2.6.15-gentoo-r1ISG i586 Pentium MMX Timestamp of tree: Sun, 24 Feb 2008 02:00:01 +0000 app-shells/bash: 3.2_p17 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.11.13-r1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.11-r4 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" CBUILD="i386-pc-linux-gnu" CFLAGS="-Os -mcpu=pentium-mmx -pipe" CHOST="i386-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-Os -mcpu=pentium-mmx -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/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 --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="berkdb bitmap-fonts cli cracklib crypt cups dri fortran gdbm gpm iconv isdnlog midi mudflap ncurses nls nptl nptlonly openmp pam pcre perl ppds pppd python readline reflection session spl ssl tcpd truetype-fonts type1-fonts unicode urandom x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY *** Bug 211650 has been marked as a duplicate of this bug. *** Support of 'tls' is need to be disables for uClibc build in 'sys-libs/com_err' too. And maybe in 'sys-libs/ss'. As I add same line into com_err ebuild - e2fsprogs 1.40.(4-7) compiled successfuly. (In reply to comment #14) > Support of 'tls' is need to be disables for uClibc build in 'sys-libs/com_err' > too. And maybe in 'sys-libs/ss'. Then file a new bug. This bug is for e2fsprogs only. I'm afraid I have the same problem as #12, also without uclibc. I'm just trying to update my system from glibc 2.3.5/gcc 3.3.6 to latest versions. So far I upgraded gcc and now emerge -e system fails on e2fsprogs with the same error: LD uuid_time `-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead. ../../lib/libuuid.so: undefined reference to `___tls_get_addr' collect2: ld returned 1 exit status make[2]: *** [uuid_time] Error 1 make[2]: Leaving directory `/var/tmp/portage/sys-fs/e2fsprogs-1.40.8/work/e2fsprogs-1.40.8/lib/uuid' make[1]: *** [all-libs-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sys-fs/e2fsprogs-1.40.8/work/e2fsprogs-1.40.8' make: *** [all] Error 2 * * ERROR: sys-fs/e2fsprogs-1.40.8 failed. I don't see anything wrong with my glibc configuration: [ebuild R ] sys-libs/glibc-2.3.6-r5 USE="nls nptl nptlonly -build -erandom -glibc-compat20 -glibc-omitfp (-hardened) (-multilib) -profile (-selinux)" 0 kB Should this bug be reopened? chris@top ~ $ emerge --info Portage 2.1.4.4 (default-linux/x86/2006.1, gcc-4.1.2, glibc-2.3.6-r5, 2.6.22.1-vs2203rc1-acpi i686) ================================================================= System uname: 2.6.22.1-vs2203rc1-acpi i686 AMD Athlon(tm) 64 Processor 3200+ Timestamp of tree: Sat, 03 May 2008 00:30:01 +0000 ccache version 2.3 [disabled] app-shells/bash: 3.2_p17-r1 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.3 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.4.3-r4, 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="x86" CBUILD="i386-pc-linux-gnu" CFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer" CHOST="i386-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -mcpu=i686 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acpi berkdb cli cracklib crypt cups dri fortran gdbm iconv isdnlog lm_sensors midi mudflap ncurses nls nptl nptlonly openmp pam pcre perl pmu ppds pppd python readline reflection session spl ssl tcpd unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS (In reply to comment #16) > I'm afraid I have the same problem as #12, also without uclibc. I'm just trying > to update my system from glibc 2.3.5/gcc 3.3.6 to latest versions. So far I > upgraded gcc and now emerge -e system fails on e2fsprogs with the same error: maybe try emerge glibc before emerging system. I was following the instructions at http://www.gentoo.org/doc/en/change-chost.xml, which said I should upgrade gcc first, then make world, then glibc, then make world again. It was in the first make world that this failed. I've started the process of upgrading glibc anyway and hope that I don't land in "severe side effects". Created attachment 181284 [details, diff]
correct IUSE
* QA Notice: USE Flag 'elibc_uclibc' not in IUSE for sys-libs/e2fsprogs-libs-1.41.3-r1
This patch correct build on uclic cross-compile env.
> I've started the process of upgrading glibc anyway and hope that I don't land
> in "severe side effects".
>
My recent experience is that >=e2fsprogs-1.40.9 will result in this error with glibc-2.3.x systems. However, e2fsprogs-1.39-r2 (found on older mirrors) is fine for these libraries. For one of my systems, it needs to run a linux-2.4 kernel and thus older glibc to avoid NPTL. I appreciate that the bug will likely not be fixed upstream since it is resulting from running deprecated glibc.
However, a blocker on the newer versions of e2fsprogs requiring a certain glibc version would be nice.
I get the same error today with util-linux-2.16 |