Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved] hppa - Cannot install glibc-2.3.6: threading issue
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on Alternative Architectures
View previous topic :: View next topic  
Author Message
aviateur
n00b
n00b


Joined: 14 Jan 2006
Posts: 5

PostPosted: Wed Dec 05, 2007 9:42 pm    Post subject: [solved] hppa - Cannot install glibc-2.3.6: threading issue Reply with quote

Hello all, I've got a hppa box running an older install of Gentoo and I just recently decided to update the software. During the upgrade process I've come across several issues that I think may be related to a gcc update or related issue.

The first problem I'm having is that I can't recompile glibc as shown by the following error...
Code:

hppa2.0-unknown-linux-gnu-gcc ../sysdeps/generic/libc-start.c -c -std=gnu99 -O2 -Wall -Winline -Wstrict-prototypes -Wwrite-strings -finline-limit=2000 -fno-strict-aliasing -march=2.
0 -pipe      -I../include -I. -I/var/tmp/portage/sys-libs/glibc-2.3.6-r5/work/build-default-hppa2.0-unknown-linux-gnu-linuxthreads/csu -I.. -I../libio  -I/var/tmp/portage/sys-libs/g
libc-2.3.6-r5/work/build-default-hppa2.0-unknown-linux-gnu-linuxthreads -I../sysdeps/hppa/elf -I../linuxthreads/sysdeps/unix/sysv/linux/hppa -I../linuxthreads/sysdeps/unix/sysv/linu
x -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/hppa -I../libidn/sysdeps/unix -
I../sysdeps/unix/sysv/linux/hppa -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sys
deps/unix -I../sysdeps/posix -I../sysdeps/hppa/hppa1.1 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/hppa/fpu -I../sysdeps/hppa -I../
sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem /usr/lib/gcc-lib/hppa2.0-unknown-linux-gnu/3.3.6/include -isystem /usr/include -D_LIBC_REENTRANT -in
clude ../include/libc-symbols.h       -DHAVE_INITFINI -o /var/tmp/portage/sys-libs/glibc-2.3.6-r5/work/build-default-hppa2.0-unknown-linux-gnu-linuxthreads/csu/libc-start.o -MD -MP
-MF /var/tmp/portage/sys-libs/glibc-2.3.6-r5/work/build-default-hppa2.0-unknown-linux-gnu-linuxthreads/csu/libc-start.o.dt -MT /var/tmp/portage/sys-libs/glibc-2.3.6-r5/work/build-de
fault-hppa2.0-unknown-linux-gnu-linuxthreads/csu/libc-start.o
In file included from ../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:36,
                 from ../linuxthreads_db/proc_service.h:20,
                 from ../linuxthreads_db/thread_dbP.h:7,
                 from ../linuxthreads/descr.h:44,
                 from ../linuxthreads/internals.h:30,
                 from ../linuxthreads/sysdeps/pthread/bits/libc-lock.h:27,
                 from ../sysdeps/generic/ldsodefs.h:38,
                 from ../sysdeps/unix/sysv/linux/ldsodefs.h:25,
                 from ../sysdeps/unix/sysv/linux/init-first.c:30:
../sysdeps/unix/sysv/linux/sys/user.h:1:24: linux/user.h: No such file or directory
In file included from ../linuxthreads_db/proc_service.h:20,
                 from ../linuxthreads_db/thread_dbP.h:7,
                 from ../linuxthreads/descr.h:44,
                 from ../linuxthreads/internals.h:30,
                 from ../linuxthreads/sysdeps/pthread/bits/libc-lock.h:27,
                 from ../sysdeps/generic/ldsodefs.h:38,
                 from ../sysdeps/unix/sysv/linux/ldsodefs.h:25,
                 from ../sysdeps/unix/sysv/linux/init-first.c:30:
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:37:21: asm/elf.h: No such file or directory
In file included from ../linuxthreads_db/proc_service.h:20,
                 from ../linuxthreads_db/thread_dbP.h:7,
                 from ../linuxthreads/descr.h:44,
                 from ../linuxthreads/internals.h:30,
                 from ../linuxthreads/sysdeps/pthread/bits/libc-lock.h:27,
                 from ../sysdeps/generic/ldsodefs.h:38,
                 from ../sysdeps/unix/sysv/linux/ldsodefs.h:25,
                 from ../sysdeps/unix/sysv/linux/init-first.c:30:
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:69: error: syntax error before "elf_gregset_t"
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:69: warning: no semicolon at end of struct or union
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:71: error: syntax error before '}' token
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:100: error: syntax error before "prgregset_t"
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:100: warning: type defaults to `int' in declaration of `prgregset_t'
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:100: warning: data definition has no type or storage class
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:101: error: syntax error before "prfpregset_t"
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:101: warning: type defaults to `int' in declaration of `prfpregset_t'
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:101: warning: data definition has no type or storage class
In file included from ../linuxthreads_db/thread_dbP.h:7,
                 from ../linuxthreads/descr.h:44,
                 from ../linuxthreads/internals.h:30,
                 from ../linuxthreads/sysdeps/pthread/bits/libc-lock.h:27,
                 from ../sysdeps/generic/ldsodefs.h:38,
                 from ../sysdeps/unix/sysv/linux/ldsodefs.h:25,
                 from ../sysdeps/unix/sysv/linux/init-first.c:30:
../linuxthreads_db/proc_service.h:55: error: syntax error before "prgregset_t"
../linuxthreads_db/proc_service.h:55: warning: function declaration isn't a prototype
../linuxthreads_db/proc_service.h:57: warning: type defaults to `int' in declaration of `prgregset_t'
../linuxthreads_db/proc_service.h:59: error: syntax error before "prfpregset_t"
../linuxthreads_db/proc_service.h:59: warning: function declaration isn't a prototype
../linuxthreads_db/proc_service.h:61: warning: type defaults to `int' in declaration of `prfpregset_t'
../linuxthreads_db/proc_service.h:61: error: syntax error before '*' token
../linuxthreads_db/proc_service.h:61: warning: function declaration isn't a prototype
In file included from ../linuxthreads_db/thread_dbP.h:8,
                 from ../linuxthreads/descr.h:44,
                 from ../linuxthreads/internals.h:30,
                 from ../linuxthreads/sysdeps/pthread/bits/libc-lock.h:27,
                 from ../sysdeps/generic/ldsodefs.h:38,
                 from ../sysdeps/unix/sysv/linux/ldsodefs.h:25,
                 from ../sysdeps/unix/sysv/linux/init-first.c:30:
../linuxthreads_db/thread_db.h:383: error: syntax error before "prfpregset_t"
../linuxthreads_db/thread_db.h:383: warning: function declaration isn't a prototype
../linuxthreads_db/thread_db.h:387: error: syntax error before "prgregset_t"
../linuxthreads_db/thread_db.h:387: warning: function declaration isn't a prototype
../linuxthreads_db/thread_db.h:397: warning: type defaults to `int' in declaration of `prfpregset_t'
../linuxthreads_db/thread_db.h:397: error: syntax error before '*' token
../linuxthreads_db/thread_db.h:397: warning: function declaration isn't a prototype
../linuxthreads_db/thread_db.h:401: error: syntax error before "prgregset_t"
../linuxthreads_db/thread_db.h:401: warning: function declaration isn't a prototype
make[2]: *** [/var/tmp/portage/sys-libs/glibc-2.3.6-r5/work/build-default-hppa2.0-unknown-linux-gnu-linuxthreads/csu/init-first.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from ../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:36,
                 from ../linuxthreads_db/proc_service.h:20,
                 from ../linuxthreads_db/thread_dbP.h:7,
                 from ../linuxthreads/descr.h:44,
                 from ../linuxthreads/internals.h:30,
                 from ../linuxthreads/sysdeps/pthread/bits/libc-lock.h:27,
                 from ../sysdeps/generic/ldsodefs.h:38,
                 from ../sysdeps/unix/sysv/linux/ldsodefs.h:25,
                 from ../sysdeps/generic/libc-start.c:22:
../sysdeps/unix/sysv/linux/sys/user.h:1:24: linux/user.h: No such file or directory
In file included from ../linuxthreads_db/proc_service.h:20,
                 from ../linuxthreads_db/thread_dbP.h:7,
                 from ../linuxthreads/descr.h:44,
                 from ../linuxthreads/internals.h:30,
                 from ../linuxthreads/sysdeps/pthread/bits/libc-lock.h:27,
                 from ../sysdeps/generic/ldsodefs.h:38,
                 from ../sysdeps/unix/sysv/linux/ldsodefs.h:25,
                 from ../sysdeps/generic/libc-start.c:22:
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:37:21: asm/elf.h: No such file or directory
In file included from ../linuxthreads_db/proc_service.h:20,
                 from ../linuxthreads_db/thread_dbP.h:7,
                 from ../linuxthreads/descr.h:44,
                 from ../linuxthreads/internals.h:30,
                 from ../linuxthreads/sysdeps/pthread/bits/libc-lock.h:27,
                 from ../sysdeps/generic/ldsodefs.h:38,
                 from ../sysdeps/unix/sysv/linux/ldsodefs.h:25,
                 from ../sysdeps/generic/libc-start.c:22:
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:69: error: syntax error before "elf_gregset_t"
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:69: warning: no semicolon at end of struct or union
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:71: error: syntax error before '}' token
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:100: error: syntax error before "prgregset_t"
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:100: warning: type defaults to `int' in declaration of `prgregset_t'
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:100: warning: data definition has no type or storage class
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:101: error: syntax error before "prfpregset_t"
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:101: warning: type defaults to `int' in declaration of `prfpregset_t'
../sysdeps/unix/sysv/linux/hppa/sys/procfs.h:101: warning: data definition has no type or storage class
In file included from ../linuxthreads_db/thread_dbP.h:7,
                 from ../linuxthreads/descr.h:44,
                 from ../linuxthreads/internals.h:30,
                 from ../linuxthreads/sysdeps/pthread/bits/libc-lock.h:27,
                 from ../sysdeps/generic/ldsodefs.h:38,
                 from ../sysdeps/unix/sysv/linux/ldsodefs.h:25,
                 from ../sysdeps/generic/libc-start.c:22:
../linuxthreads_db/proc_service.h:55: error: syntax error before "prgregset_t"
../linuxthreads_db/proc_service.h:55: warning: function declaration isn't a prototype
../linuxthreads_db/proc_service.h:57: warning: type defaults to `int' in declaration of `prgregset_t'
../linuxthreads_db/proc_service.h:59: error: syntax error before "prfpregset_t"
../linuxthreads_db/proc_service.h:59: warning: function declaration isn't a prototype
../linuxthreads_db/proc_service.h:61: warning: type defaults to `int' in declaration of `prfpregset_t'
../linuxthreads_db/proc_service.h:61: error: syntax error before '*' token
../linuxthreads_db/proc_service.h:61: warning: function declaration isn't a prototype
In file included from ../linuxthreads_db/thread_dbP.h:8,
                 from ../linuxthreads/descr.h:44,
                 from ../linuxthreads/internals.h:30,
                 from ../linuxthreads/sysdeps/pthread/bits/libc-lock.h:27,
                 from ../sysdeps/generic/ldsodefs.h:38,
                 from ../sysdeps/unix/sysv/linux/ldsodefs.h:25,
                 from ../sysdeps/generic/libc-start.c:22:
../linuxthreads_db/thread_db.h:383: error: syntax error before "prfpregset_t"
../linuxthreads_db/thread_db.h:383: warning: function declaration isn't a prototype
../linuxthreads_db/thread_db.h:387: error: syntax error before "prgregset_t"
../linuxthreads_db/thread_db.h:387: warning: function declaration isn't a prototype
../linuxthreads_db/thread_db.h:397: warning: type defaults to `int' in declaration of `prfpregset_t'
../linuxthreads_db/thread_db.h:397: error: syntax error before '*' token
../linuxthreads_db/thread_db.h:397: warning: function declaration isn't a prototype
../linuxthreads_db/thread_db.h:401: error: syntax error before "prgregset_t"
../linuxthreads_db/thread_db.h:401: warning: function declaration isn't a prototype
../sysdeps/generic/libc-start.c: In function `__libc_start_main':
../sysdeps/generic/libc-start.c:192: warning: implicit declaration of function `__guard_setup'
make[2]: *** [/var/tmp/portage/sys-libs/glibc-2.3.6-r5/work/build-default-hppa2.0-unknown-linux-gnu-linuxthreads/csu/libc-start.o] Error 1
make[2]: Leaving directory `/var/tmp/portage/sys-libs/glibc-2.3.6-r5/work/glibc-2.3.6/csu'
make[1]: *** [csu/subdir_lib] Error 2
make[1]: Leaving directory `/var/tmp/portage/sys-libs/glibc-2.3.6-r5/work/glibc-2.3.6'
make: *** [all] Error 2
 *
 * ERROR: sys-libs/glibc-2.3.6-r5 failed.
 * Call stack:
 *               ebuild.sh, line 1701:  Called dyn_compile
 *               ebuild.sh, line 1039:  Called qa_call 'src_compile'
 *               ebuild.sh, line   44:  Called src_compile
 *   glibc-2.3.6-r5.ebuild, line 1139:  Called toolchain-glibc_src_compile
 *   glibc-2.3.6-r5.ebuild, line  221:  Called die
 * The specific snippet of code:
 *              make PARALLELMFLAGS="${MAKEOPTS}" || die "make for ${ABI} failed"
 *  The die message:
 *   make for default failed
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.3.6-r5/temp/build.log'.
 *
 * GNU info directory index is up-to-date.


It seems to me the error is related to GCC not supporting threading.
Any suggestions would be greatly appreciated as I'm running two of these boxes and have the same problem with both.

I've searched the forums for the same issue but haven't found a similar post for someone with the hppa arch. Here are a few related commands.
profile hppa/2006.1:
Code:

# ls -al /etc/make.profile
lrwxrwxrwx 1 root root 47 Feb 12  2007 /etc/make.profile -> /usr/portage/profiles/default-linux/hppa/2006.1

using GCC version 3.3.6:
Code:

# gcc-config -l 
 [1] hppa2.0-unknown-linux-gnu-3.3.5
 [2] hppa2.0-unknown-linux-gnu-3.3.5-hardenednopiessp
 [3] hppa2.0-unknown-linux-gnu-3.3.6 *
 [4] hppa2.0-unknown-linux-gnu-3.3.6-hardenednopiessp
 [5] hppa2.0-unknown-linux-gnu-4.1.2

gcc-config version 1.3.16:
Code:
# equery list gcc-config
[ Searching for package 'gcc-config' in all categories among: ]
 * installed packages
[I--] [  ] sys-devel/gcc-config-1.3.16 (0)

emerge --info
Code:

# emerge --info
Portage 2.1.3.19 (default-linux/hppa/2006.1, gcc-3.3.6, glibc-2.3.6-r5, 2.6.22-hppa parisc)
=================================================================
System uname: 2.6.22-hppa parisc PA8600 (PCX-W+)
Timestamp of tree: Tue, 04 Dec 2007 03:00:04 +0000
app-shells/bash:     3.2_p17
dev-lang/python:     2.3.5-r3, 2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.9-r2
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
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.22-r2
ACCEPT_KEYWORDS="hppa"
CBUILD="hppa2.0-unknown-linux-gnu"
CFLAGS="-O2 -pipe -march=2.0"
CHOST="hppa2.0-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 -pipe"
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"
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 bzip2 cli cracklib crypt cups firefox foomaticdb gdbm hppa iconv imlib ipv6 isdnlog libwww midi mudflap ncurses openmp pam pcre perl pic pppd python readline reflection session snmp spell spl ssl tcpd truetype-fonts type1-fonts xml2 xorg zlib" 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="dummy fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY


Thanks for helping...
Jeff

[edit] Complete error message


Last edited by aviateur on Tue Dec 11, 2007 12:22 am; edited 2 times in total
Back to top
View user's profile Send private message
HPRichard
Tux's lil' helper
Tux's lil' helper


Joined: 02 Feb 2005
Posts: 94
Location: KA, Germany

PostPosted: Sat Dec 08, 2007 6:02 pm    Post subject: Reply with quote

Looks like an NPTL issue. The versions of glibc in the portage tree only compile when USE contains nptl and nptlonly.
NPTL=Native POSIX Thread Library
Back to top
View user's profile Send private message
aviateur
n00b
n00b


Joined: 14 Jan 2006
Posts: 5

PostPosted: Sun Dec 09, 2007 1:26 am    Post subject: Reply with quote

I added nptl and nptlonly to my use flags in /etc/make.conf...
Code:

USE="-X -gpm -fortran -nls snmp nptl nptlonly"


For some reason glibc still does not want to compile with nptl and nptl only; possibly due to something in the profile
Code:

# emerge -va glibc

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-libs/glibc-2.3.6-r5  USE="-build -erandom -glibc-compat20 -glibc-omitfp (-hardened) (-multilib) -nls* (-nptl) (-nptlonly) -profile (-selinux)" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB


So then I tried to force the use flags on the command line...
Code:

# USE="nptl nptlonly" emerge -va glibc

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-libs/glibc-2.3.6-r5  USE="-build -erandom -glibc-compat20 -glibc-omitfp (-hardened) (-multilib) -nls* (-nptl) (-nptlonly) -profile (-selinux)" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB


So then I thought maybe I will update the profile to 2007.0, which I did
Code:

 # ls -al /etc/make.profile
lrwxrwxrwx 1 root root 47 Dec  8 19:46 /etc/make.profile -> /usr/portage/profiles/default-linux/hppa/2007.0


Try to install/update glibc which will now recognize nptl and nptlonly...
Code:

# emerge -va glibc

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] sys-libs/glibc-2.5-r4 [2.3.6-r5] USE="(nptl*) (nptlonly*) -build -debug% -glibc-compat20 -glibc-omitfp (-hardened) (-multilib) -nls* -profile (-selinux) (-erandom%)" 0 kB

Total: 1 package (1 upgrade), Size of downloads: 0 kB

Would you like to merge these packages? [Yes/No] y
>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) sys-libs/glibc-2.5-r4 to /
 * glibc-libidn-2.5.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                                               [ ok ]
 * glibc-ports-2.5.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                                                [ ok ]
 * glibc-2.5.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                                                      [ ok ]
 * glibc-linuxthreads-2.5.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                                         [ ok ]
 * glibc-2.5-patches-1.8.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                                          [ ok ]
 * checking ebuild checksums ;-) ...                                                                                                                                                                      [ ok ]
 * checking auxfile checksums ;-) ...                                                                                                                                                                     [ ok ]
 * checking miscfile checksums ;-) ...                                                                                                                                                                    [ ok ]
 * checking glibc-2.5.tar.bz2 ;-) ...                                                                                                                                                                     [ ok ]
 * checking glibc-ports-2.5.tar.bz2 ;-) ...                                                                                                                                                               [ ok ]
 * checking glibc-libidn-2.5.tar.bz2 ;-) ...                                                                                                                                                              [ ok ]
 * checking glibc-2.5-patches-1.8.tar.bz2 ;-) ...                                                                                                                                                         [ ok ]
 * checking glibc-linuxthreads-2.5.tar.bz2 ;-) ...                                                                                                                                                        [ ok ]
>>> Unpacking source...

 * Checking gcc for __thread support ...                                                                                                                                                                  [ !! ]

 * Could not find a gcc that supports the __thread directive!
 * Please update your binutils/gcc and try again.
 *
 * ERROR: sys-libs/glibc-2.5-r4 failed.
 * Call stack:
 *             ebuild.sh, line 1701:  Called dyn_unpack
 *             ebuild.sh, line  817:  Called qa_call 'src_unpack'
 *             ebuild.sh, line   44:  Called src_unpack
 *   glibc-2.5-r4.ebuild, line 1110:  Called toolchain-glibc_src_unpack
 *   glibc-2.5-r4.ebuild, line  169:  Called check_nptl_support
 *   glibc-2.5-r4.ebuild, line  766:  Called die
 * The specific snippet of code:
 *              die "No __thread support in gcc!"
 *  The die message:
 *   No __thread support in gcc!
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.5-r4/temp/build.log'.
 *


So it looks like I need newer versions of binutils and/or gcc which will support the __thread directive

Binutils recompiled with no problems.
So the next step is GCC...
Since I switched to the 2007.0 profile, I was not able to emerge gcc-3.3.6
Code:

 # emerge -va =sys-devel/gcc-3.3.6

These are the packages that would be merged, in order:

Calculating dependencies \
emerge: there are no ebuilds to satisfy "=sys-devel/gcc-3.3.6".


So I emerge gcc-4.1.2
Code:

# emerge -va gcc     

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-devel/gcc-4.1.2  USE="mudflap (-altivec) -bootstrap -build (-d) -doc -fortran (-gcj) -gtk (-hardened) -ip28 -ip32r10k (-multilib) -multislot (-n32) (-n64) -nls -nocxx -objc -objc++ -objc-gc -test -vanilla" 0 kB


Which completed successfully. I then switched compilers...
Code:

# gcc-config 4.1.2
 * Switching native-compiler to hppa2.0-unknown-linux-gnu-4.1.2 ...
>>> Regenerating /etc/ld.so.cache...                                                                                                                                                                      [ ok ]

 * If you intend to use the gcc from the new profile in an already
 * running shell, please remember to do:

 *   # source /etc/profile

# env-update
>>> Regenerating /etc/ld.so.cache...

# source /etc/profile


Ok, so now I'm using a new version of GCC but still have not been able to compile glibc. So the next step is to try to compile glibc using the new version of gcc that hopefully supports the __thread directive.
Code:

# emerge -va glibc

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] sys-libs/glibc-2.5-r4 [2.3.6-r5] USE="(nptl*) (nptlonly*) -build -debug% -glibc-compat20 -glibc-omitfp (-hardened) (-multilib) -nls* -profile (-selinux) (-erandom%)" 0 kB

Total: 1 package (1 upgrade), Size of downloads: 0 kB

Would you like to merge these packages? [Yes/No] y
>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) sys-libs/glibc-2.5-r4 to /
 * glibc-libidn-2.5.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                                               [ ok ]
 * glibc-ports-2.5.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                                                [ ok ]
 * glibc-2.5.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                                                      [ ok ]
 * glibc-linuxthreads-2.5.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                                         [ ok ]
 * glibc-2.5-patches-1.8.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                                          [ ok ]
 * checking ebuild checksums ;-) ...                                                                                                                                                                      [ ok ]
 * checking auxfile checksums ;-) ...                                                                                                                                                                     [ ok ]
 * checking miscfile checksums ;-) ...                                                                                                                                                                    [ ok ]
 * checking glibc-2.5.tar.bz2 ;-) ...                                                                                                                                                                     [ ok ]
 * checking glibc-ports-2.5.tar.bz2 ;-) ...                                                                                                                                                               [ ok ]
 * checking glibc-libidn-2.5.tar.bz2 ;-) ...                                                                                                                                                              [ ok ]
 * checking glibc-2.5-patches-1.8.tar.bz2 ;-) ...                                                                                                                                                         [ ok ]
 * checking glibc-linuxthreads-2.5.tar.bz2 ;-) ...                                                                                                                                                        [ ok ]
>>> Unpacking source...

 * Checking gcc for __thread support ...                                                                                                                                                                  [ !! ]

 * Could not find a gcc that supports the __thread directive!
 * Please update your binutils/gcc and try again.
 *
 * ERROR: sys-libs/glibc-2.5-r4 failed.
 * Call stack:
 *             ebuild.sh, line 1701:  Called dyn_unpack
 *             ebuild.sh, line  817:  Called qa_call 'src_unpack'
 *             ebuild.sh, line   44:  Called src_unpack
 *   glibc-2.5-r4.ebuild, line 1110:  Called toolchain-glibc_src_unpack
 *   glibc-2.5-r4.ebuild, line  169:  Called check_nptl_support
 *   glibc-2.5-r4.ebuild, line  766:  Called die
 * The specific snippet of code:
 *              die "No __thread support in gcc!"
 *  The die message:
 *   No __thread support in gcc!
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.5-r4/temp/build.log'.


Again, the error about not being able to find a version of gcc that supports the __thread directive. So which version of GCC on hppa supports __thread??
Back to top
View user's profile Send private message
HPRichard
Tux's lil' helper
Tux's lil' helper


Joined: 02 Feb 2005
Posts: 94
Location: KA, Germany

PostPosted: Sun Dec 09, 2007 1:07 pm    Post subject: Reply with quote

In theory, gcc-4.1.2 should be able to compile glibc-2.5-r4 (at least my hppa box features both), and the last gcc merge was before the last glibc merge.
You said that the system you are upgrading was not updated for a longer time, so perhaps one of the dependencies of glibc has not been updated and thus gcc cannot support __thread because of that dependency. Perhaps you might want to try
Code:
emerge -auD glibc

or even
Code:
emerge -ae glibc

As you have emerged a new gcc, you might even want to recompile the whole system with the new gcc via
Code:
emerge -ae system
emerge -ae world

If this doesn't help, you might perhaps have to ask on #gentoo-hppa at freenode
Back to top
View user's profile Send private message
aviateur
n00b
n00b


Joined: 14 Jan 2006
Posts: 5

PostPosted: Sun Dec 09, 2007 7:07 pm    Post subject: Reply with quote

So this brings up the other problem I had
Glibc depends upon DB-4.5 which also fails to compile, maybe this is the key to all the problems.

Code:

# emerge -auD glibc

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  NS   ] sys-libs/db-4.5.20_p2  USE="-bootstrap -doc (-java) -nocxx -tcl -test"
[ebuild     U ] sys-libs/glibc-2.5-r4 [2.3.6-r5] USE="(nptl*) (nptlonly*) -debug% -nls*"


DB-4.5 compile error - "C compiler cannot create executables"
Code:

checking for hppa2.0-unknown-linux-gnu-strip... hppa2.0-unknown-linux-gnu-strip
checking for a BSD-compatible install... /usr/bin/install -c
checking for hppa2.0-unknown-linux-gnu-cc... no
checking for hppa2.0-unknown-linux-gnu-gcc... hppa2.0-unknown-linux-gnu-gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.

!!! Please attach the following file when filing a report to bugs.gentoo.org:
!!! /var/tmp/portage/sys-libs/db-4.5.20_p2/work/db-4.5.20/build_unix/config.log
 *
 * ERROR: sys-libs/db-4.5.20_p2 failed.
 * Call stack:
 *             ebuild.sh, line 1701:  Called dyn_compile
 *             ebuild.sh, line 1039:  Called qa_call 'src_compile'
 *             ebuild.sh, line   44:  Called src_compile
 *   db-4.5.20_p2.ebuild, line   98:  Called econf '--prefix=/usr' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--libdir=/usr/lib' '--enable-compat185' '--without-uniquename' '--enable-rpc' '--host=hppa2.0-unknown-linux-gnu' '--enable-cxx' '--disable-tcl' '--disable-java' '--build=hppa2.0-unknown-linux-gnu' '--disable-test' ''
 *             ebuild.sh, line  638:  Called die
 * The specific snippet of code:
 *                      die "econf failed"
 *  The die message:
 *   econf failed
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/sys-libs/db-4.5.20_p2/temp/build.log'.
 *
!!! When you file a bug report, please include the following information:
GENTOO_VM=  CLASSPATH="" JAVA_HOME=""
JAVACFLAGS="" COMPILER=""
and of course, the output of emerge --info


here's the error from the config.log file
It looks like gcc doesn't support the --default-symver argument, but I've got no idea how to resolve that.
Code:

gcc version 4.1.2 (Gentoo 4.1.2 p1.0.2)
configure:4144: $? = 0
configure:4151: hppa2.0-unknown-linux-gnu-gcc -V >&5
hppa2.0-unknown-linux-gnu-gcc: '-V' option must have argument
configure:4154: $? = 1
configure:4177: checking for C compiler default output file name
configure:4204: hppa2.0-unknown-linux-gnu-gcc -O2 -pipe -march=2.0  -D_GNU_SOURCE -D_REENTRANT  -Wl,--default-symver conftest.c  >&5
/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.1.2/../../../../hppa2.0-unknown-linux-gnu/bin/ld: unrecognized option '--default-symver'
/usr/lib/gcc/hppa2.0-unknown-linux-gnu/4.1.2/../../../../hppa2.0-unknown-linux-gnu/bin/ld: use the --help option for usage information
collect2: ld returned 1 exit status
configure:4207: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME "Berkeley DB"
| #define PACKAGE_TARNAME "db-4.5.20"
| #define PACKAGE_VERSION "4.5.20"
| #define PACKAGE_STRING "Berkeley DB 4.5.20"
| #define PACKAGE_BUGREPORT "Oracle Technology Network Berkeley DB forum"
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:4246: error: C compiler cannot create executables
See `config.log' for more details.
Back to top
View user's profile Send private message
aviateur
n00b
n00b


Joined: 14 Jan 2006
Posts: 5

PostPosted: Mon Dec 10, 2007 9:51 pm    Post subject: Reply with quote

So I did some searching on the forum for the latest error and found the problem.
I found the solution at https://forums.gentoo.org/viewtopic-t-501253-start-0-postdays-0-postorder-asc-highlight-defaultsymver.html

I was using a version of ld (2.15.92.0.2) that didn't support the --default-symver argument.
The solution is to update ld with the binutils-config command...
Code:

# binutils-config -l
[1] hppa2.0-unknown-linux-gnu-2.15.92.0.2 *
[2] hppa2.0-unknown-linux-gnu-2.18

# binutils-config 2


So that problem is solved; I'm now able to compile db-4.5. We'll see if that fixes the rest.

[edit] I recompiled gcc-4.1.2 and then was finally able to compile glibc without it complaining about the __thread issue. So my problem is solved.
Thanks for your help HPRichard!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on Alternative Architectures All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum