dev-libs/pth-2.0.7-r3 fails to build on my Toshiba AC100 armv7a-hardfloat-linux-gnueabi Adding -DJB_SP=8 -DJB_PC=9 to CFLAGS/CXXFLAGS fixes this problem. Reproducible: Always Steps to Reproduce: 1. emerge pth Actual Results: pth_mctx.c: In function '__pth_mctx_set': pth_mctx.c:480:2: error: #error "Unsupported Linux (g)libc version and/or platform" Expected Results: Builds correctly
1) Please post your `emerge --info' output in a comment. 2) Please attach the entire build log to this bug report.
Created attachment 295079 [details] build.log of dev-libs/pth-2.0.7-r3
================================================================= System Settings ================================================================= System uname: Linux-3.0.8-armv7l-ARMv7_Processor_rev_0_-v7l-with-gentoo-2.1 Timestamp of tree: Fri, 02 Dec 2011 19:00:01 +0000 distcc 3.1 armv7a-hardfloat-linux-gnueabi [disabled] app-shells/bash: 4.2_p20 dev-lang/python: 2.7.2-r3, 3.2.2 dev-util/cmake: 2.8.6-r4 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.1 sys-apps/openrc: 0.9.4 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.11.1-r1 sys-devel/binutils: 2.22 sys-devel/gcc: 4.5.3-r1, 4.6.2 sys-devel/gcc-config: 1.5-r2 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r3 sys-kernel/linux-headers: 2.6.39 (virtual/os-headers) sys-libs/glibc: 2.13-r4 Repositories: gentoo ACCEPT_KEYWORDS="arm ~arm" ACCEPT_LICENSE="* -@EULA" CBUILD="armv7a-hardfloat-linux-gnueabi" CFLAGS="-Os -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -mthumb -ffast-math" CHOST="armv7a-hardfloat-linux-gnueabi" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-Os -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -mthumb -ffast-math" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LC_ALL="it_IT.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="it" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" 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="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa arm berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus declarative dts dvdr emboss encode exif fam firefox flac fortran gdbm gdu gif gpm gtk iconv ipv6 jpeg kde kipi lcms ldap libnotify mad mng modules mp3 mp4 mpeg mudflap ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppds pppd qt3support qt4 readline sdl semantic-desktop session spell ssl startup-notification svg sysfs tcpd tiff truetype udev unicode usb vorbis xcb xcomposite xinerama xml xorg xscreensaver xulrunner xv xvid zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="it" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev omapfb dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I can confirm the same results with a Pandaboard. The arch is the same and so is the glibc version. I can post a build log and emerge --info as well if you would like. I'm currently doing an emerge --emptytree on my system after an issue with GCC. See this post for further details on that issue: https://forums.gentoo.org/viewtopic-t-897674.html. Anyway, I've decided to do an emerge --emptytree even if it is overkill and I've encountered the error mentioned during compilation. There's also this forum post regarding this issue. It's related to uClibc rather than Glibc though: http://forums.gentoo.org/viewtopic-t-685499-start-0.html
Same issue for me, emerge --info output... ----------------------- Portage 2.1.10.44 (default/linux/arm/10.0, gcc-4.5.3, glibc-2.13-r4, 3.1.9-gentoo armv5tel) ================================================================= System uname: Linux-3.1.9-gentoo-armv5tel-Feroceon_88FR131_rev_1_-v5l-with-gentoo-2.1 Timestamp of tree: Wed, 18 Jan 2012 19:45:01 +0000 app-shells/bash: 4.2_p20 dev-lang/python: 2.7.2-r3, 3.2.2 dev-util/cmake: 2.8.6-r4 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.1 sys-apps/openrc: 0.9.8.1 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.68 sys-devel/automake: 1.11.2 sys-devel/binutils: 2.22-r1 sys-devel/gcc: 4.5.3-r1 sys-devel/gcc-config: 1.5-r2 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r3 sys-kernel/linux-headers: 3.1 (virtual/os-headers) sys-libs/glibc: 2.13-r4 Repositories: gentoo x-portage ACCEPT_KEYWORDS="arm ~arm" ACCEPT_LICENSE="*" CBUILD="armv5tel-softfloat-linux-gnueabi" CFLAGS="-Os -march=armv5te -pipe" CHOST="armv5tel-softfloat-linux-gnueabi" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-Os -march=armv5te -pipe" DISTDIR="/usr/distfiles" EMERGE_DEFAULT_OPTS="--quiet-build=n" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="de de_DE en en_GB en_US zh zh_CN" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" 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.de.gentoo.org/gentoo-portage" USE="acl arm berkdb bzip2 cli cracklib crypt cups cxx gdbm iconv idn iproute2 ipv6 lzma maildir modules mudflap ncurses nls nptl nptlonly pam pcre pppd readline session speex ssl sysfs syslog tcpd udev unicode usb vhosts vorbis xattr xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de de_DE en en_GB en_US zh zh_CN" PHP_TARGETS="php5-4 php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev omapfb dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
https://bugzilla.redhat.com/show_bug.cgi?id=744740 Seems to be an issue with the 3.x kernel version on some architectures. Quotes: ------------------- Let me save you a headache: the (obscure) problem here is that it doesn't like Linux 3.x as a build host. aclocal.m4 does: case $PLATFORM in *-*-linux* ) braindead=no case "x`uname -r`" in changequote(, )dnl x2.[23456789]* ) ;; changequote([, ]) * ) braindead=yes ;; it therefore thinks Linux 3.x is braindead, which is the first issue that leads to the above compile error. ------------------- and ------------------- Looking closer, this bug will only affect architectures that do not have the MCSC method. x86/x86_64 has that method, ARM falls back on SJLJ, and it is in the SJLJ code where braindeath occurs :) ------------------- So if I understand it correctly, changing x2.[23456789]* ) ;; to x[23].[23456789]* ) ;; should solve the issue. I think it would have to be added as a patch because upstream seems to be not responding. (according to the comment in the Redhat Bugzilla)
I couldn't get it to compile even when removing the whole mentioned case block from aclocal.m4 that evaluates braindead to yes. Actually the only (non-obscure) program requiring pth I can see so far seems to be gnupg which just recently switched over to nPth, see here: http://old.nabble.com/GnuPG-master-migrated-to-nPth-to33202006.html -------------------------------- Hi, I merged the npth branch of GnuPG into master. Thus there is no more need for GNU Pth. The drawback is that you need to build and install the replacement library nPth. There are no tarballs yet, thus you need to get that library from its GIT repo: git clone git://git.gnupg.org/npth.git you will also need the latest version of libassuan: git clone git://git.gnupg.org/libassuan.git Q: What is nPth? A: nPth - The New GNU Portable Threads Library This is a library to provide the GNU Pth API and thus a non-preemptive threads implementation. In contrast to GNU Pth is is based on the system's standard threads implementation. This allows the use of libraries which are not compatible to GNU Pth. Experience with a Windows Pth emulation showed that this is a solid way to provide a co-routine based framework. Q: For what system is nPth available? A: As of now nPth provides support for pthread based systems and Windows. Support for other threading implementations is not planned, but can be done. The only tested platforms are GNU/Linux systems; it has not yet been tested on *BSD systems. The support for Windows is implemented but not well tested. nPth is a small library and easy to port to other systems. Q: Why did you drop GNU Pth? A: Almost all systems these days have reliable native thread support thus we should make use of it. We did it for Windows anyway (via our w32pth). The use of GNU Pth is troublesome if you need to link to libraries which require pthread. There are also some problems with GNU Pth on certain systems (iirc, HP/UX). Further, GNU Pth is not anymore used by many projects. Debian Sid lists only zhcon (Fast console CJK system using FrameBuffer) as another user of it. -------------------------------- So it might actually make sense to let pth die and try to get nPth and the gnupg version depending on it into the tree as soon as possible.
https://bugzilla.redhat.com/show_bug.cgi?id=744740 contains a patch that should fix this bug
Created attachment 318914 [details, diff] pth-2.0.7-kernel-version.patch patch for braindeath in kv check
Created attachment 318916 [details] updated ebuild ebuild which applies kernel version patch
It seems this is now/will be finally fixed in the offical tree, see bug 430544 Please mark duplicate of bug 430544 and close.
*** Bug 430544 has been marked as a duplicate of this bug. ***
looks like it's been fixed: 08 Aug 2012; Raúl Porcel <armin76@gentoo.org> files/pth-2.0.7-kernel-3.patch: Update patch replacing it with the line from fedora