Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 393433 - dev-libs/pth-2.0.7-r3 - build errors out when building on linux-3.x
Summary: dev-libs/pth-2.0.7-r3 - build errors out when building on linux-3.x
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: ARM Linux
: Normal normal
Assignee: Crypto team [DISABLED]
URL:
Whiteboard:
Keywords:
: 430544 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-12-06 19:54 UTC by Luca Versari
Modified: 2012-09-19 19:51 UTC (History)
7 users (show)

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


Attachments
build.log of dev-libs/pth-2.0.7-r3 (build.log,16.26 KB, text/plain)
2011-12-07 13:33 UTC, Luca Versari
Details
pth-2.0.7-kernel-version.patch (pth-2.0.7-kernel-version.patch,323 bytes, patch)
2012-07-22 15:43 UTC, Daniel Kenzelmann
Details | Diff
updated ebuild (pth-2.0.7-r3.ebuild,1.30 KB, text/plain)
2012-07-22 15:44 UTC, Daniel Kenzelmann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Luca Versari 2011-12-06 19:54:48 UTC
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
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2011-12-06 20:52:32 UTC
1) Please post your `emerge --info' output in a comment.
2) Please attach the entire build log to this bug report.
Comment 2 Luca Versari 2011-12-07 13:33:28 UTC
Created attachment 295079 [details]
build.log of dev-libs/pth-2.0.7-r3
Comment 3 Luca Versari 2011-12-07 13:35:04 UTC
=================================================================
                        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
Comment 4 MCassaniti 2012-01-01 00:58:53 UTC
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
Comment 5 Daniel Kenzelmann 2012-01-19 19:32:24 UTC
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
Comment 6 Daniel Kenzelmann 2012-01-20 07:45:14 UTC
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)
Comment 7 Daniel Kenzelmann 2012-02-27 20:27:50 UTC
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.
Comment 8 Marat Radchenko 2012-07-10 19:05:10 UTC
https://bugzilla.redhat.com/show_bug.cgi?id=744740 contains a patch that should fix this bug
Comment 9 Daniel Kenzelmann 2012-07-22 15:43:47 UTC
Created attachment 318914 [details, diff]
pth-2.0.7-kernel-version.patch

patch for braindeath in kv check
Comment 10 Daniel Kenzelmann 2012-07-22 15:44:56 UTC
Created attachment 318916 [details]
updated ebuild

ebuild which applies kernel version patch
Comment 11 Daniel Kenzelmann 2012-09-19 06:51:23 UTC
It seems this is now/will be finally fixed in the offical tree,
see bug 430544

Please mark duplicate of bug 430544 and close.
Comment 12 SpanKY gentoo-dev 2012-09-19 19:48:54 UTC
*** Bug 430544 has been marked as a duplicate of this bug. ***
Comment 13 SpanKY gentoo-dev 2012-09-19 19:51:35 UTC
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