View Full Version : Gentoo glibc-2.4 update
puckbag
09-01-2006, 11:49 AM
tried to emerge world today and glibc failed because the new glibc-2.4 needs nptl which in turn needs a CHOST > i386.
...
CHOST="i386-pc-linux-gnu"
...
...
[ebuild U ] sys-libs/glibc-2.4-r3 [2.3.6-r4] USE="nls -build -glibc-omitfp -hardened -nptl -nptlonly -profile"
...
...
>>> Emerging (1 of 4) sys-libs/glibc-2.4-r3 to /
>>> checking ebuild checksums ;-)
>>> checking auxfile checksums ;-)
>>> checking miscfile checksums ;-)
>>> checking glibc-2.4.tar.bz2 ;-)
>>> checking glibc-ports-2.4.tar.bz2 ;-)
>>> checking glibc-libidn-2.4.tar.bz2 ;-)
>>> checking glibc-2.4-patches-1.17.tar.bz2 ;-)
>>> checking glibc-linuxthreads-20060605.tar.bz2 ;-)
>>> checking glibc-powerpc-cpu-addon-v0.01.tgz ;-)
* glibc-2.4 is nptl-only!
* NPTL requires a CHOST of i486 or better
!!! ERROR: sys-libs/glibc-2.4-r3 failed.
Call stack:
ebuild.sh, line 1555: Called dyn_setup
ebuild.sh, line 668: Called pkg_setup
glibc-2.4-r3.ebuild, line 1079: Called die
!!! please add USE='nptl nptlonly' to make.conf
!!! If you need support, post the topmost build error, and the call stack if relevant.
...
adding nptl and nptlonly to the USE flags makes no difference.
this discussion covers changing the CHOST and the steps to follow to update the toolchain. Not sure if im adventures enough to attempt that yet...
http://forums.gentoo.org/viewtopic-t-230783.html
fyi & tia
puckbag
09-01-2006, 01:39 PM
well, i went ahead and tried it, but glibc failed again, this time complaining that the kernel is too old...
CPP='gcc -E -x c-header' /var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/elf/ld-linux.so.2 --library-path /var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/math/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/elf/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/dlfcn/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/nss/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/nis/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/rt/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/resolv/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/crypt/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/nptl /var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/sunrpc/rpcgen -Y ../scripts -c rpcsvc/rstat.x -o /var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/sunrpc/xrstat.T
FATAL: kernel too old
make[2]: *** [/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/sunrpc/xnlm_prot.stmp] Error 1
make[2]: *** Waiting for unfinished jobs....
FATAL: kernel too old
make[2]: *** [/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/sunrpc/xbootparam_prot.stmp] Error 1
FATAL: kernel too old
make[2]: *** [/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/sunrpc/xrstat.stmp] Error 1
mkdir /var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/sunrpc/rpcsvc
mkdir /var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/sunrpc/rpcsvc
CPP='gcc -E -x c-header' /var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/elf/ld-linux.so.2 --library-path /var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/math/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/elf/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/dlfcn/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/nss/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/nis/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/rt/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/resolv/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/crypt/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/nptl /var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/sunrpc/rpcgen -Y ../scripts -h rpcsvc/nlm_prot.x -o /var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/sunrpc/rpcsvc/nlm_prot.T
FATAL: kernel too old
make[2]: *** [/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/sunrpc/rpcsvc/nlm_prot.stmp] Error 1
mkdir: cannot create directory `/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/sunrpc/rpcsvc': File exists
CPP='gcc -E -x c-header' /var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/elf/ld-linux.so.2 --library-path /var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/math/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/elf/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/dlfcn/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/nss/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/nis/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/rt/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/resolv/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/crypt:/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/nptl /var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/sunrpc/rpcgen -Y ../scripts -h rpcsvc/bootparam_prot.x -o /var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/sunrpc/rpcsvc/bootparam_prot.T
FATAL: kernel too old
make[2]: *** [/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/sunrpc/rpcsvc/bootparam_prot.stmp] Error 1
make[2]: Leaving directory `/var/tmp/portage/glibc-2.4-r3/work/glibc-2.4/sunrpc'
make[1]: *** [sunrpc/others] Error 2
make[1]: Leaving directory `/var/tmp/portage/glibc-2.4-r3/work/glibc-2.4'
make: *** [all] Error 2
!!! ERROR: sys-libs/glibc-2.4-r3 failed.
Call stack:
ebuild.sh, line 1539: Called dyn_compile
ebuild.sh, line 939: Called src_compile
glibc-2.4-r3.ebuild, line 1179: Called toolchain-glibc_src_compile
glibc-2.4-r3.ebuild, line 253: Called die
!!! make for default failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
Hi, I wasn't able to duplicate this, please tell me how your system differs from mine.
gentoo / # cat /etc/portage/package.keywords
sys-apps/baselayout-vserver ~x86
gentoo / # cat /etc/portage/profile/package.provided
sys-fs/udev-0.79-r1
gentoo / # cat /var/lib/portage/world
sys-libs/glibc
sys-kernel/linux-headers
app-portage/portage-utils
dev-db/mysql
app-editors/vim
sys-fs/quota
net-misc/telnet-bsd
sys-apps/slocate
net-www/apache
app-portage/epm
net-ftp/ftp
mail-mta/sendmail
sys-apps/iproute2
dev-util/strace
app-admin/syslog-ng
app-editors/nano
app-arch/gzip
net-misc/openssh
net-dns/bind
sys-devel/gettext
net-firewall/iptables
app-portage/gentoolkit
app-misc/screen
dev-java/jss
gentoo / # emerge world
Calculating world dependencies... done!
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.
* GNU info directory index is up-to-date.
* IMPORTANT: 16 config files in /etc need updating.
* Type emerge --help config to learn how to update config files.
gentoo / #
puckbag
09-05-2006, 04:08 PM
ok, after trying again, i was able to get it to compile. I'm not sure exactly what made it happen, but here is what I changed before it succeeded...
1. Installed the gentoo/rapidvps kernel for the separate JSS issue as per: https://www.rapidvps.com/forum/showthread.php?t=294
2. Set NPTL_KERNEL_VERSION="2.6.8" in /etc/make.conf NPTL_KERNEL_VERSION is mentioned here: https://forums.gentoo.org/viewtopic-t-442247.html
3. Set CHOST="i686-pc-linux-gnu"
4. Set USE="nptl nptlonly ... "
Here are my pre-glibc update configs:
/etc/portage/package.keywords
#### rapidvps set
sys-apps/baselayout-vserver ~x86
#### travis set
# for django 2006/06/09
=dev-python/django-0.91 ~x86
=dev-python/setuptools-0.6_beta2 ~x86
=dev-db/postgresql-8.1* ~x86
=dev-db/libpq-8.1* ~x86
=dev-db/phpmyadmin-2.8.1 ~x86
=dev-db/phppgadmin-4.0.1 ~x86
=app-admin/denyhosts-2.5 ~x86
## ofbiz ##
=dev-db/mysql-5.0.24-r1
=www-servers/tomcat-5.5.17-r1
=dev-java/struts-1.2.9
=dev-java/commons-validator-1.1.4-r1
=dev-java/mx4j-3.0.1
=dev-java/gnu-javamail-1.0
=dev-java/gnu-classpath-inetlib-1.0-r1
=dev-java/jessie-1.0.0-r1
=dev-java/hessian-3.0.8-r3
=dev-java/caucho-services-3.0.8-r1
=dev-java/burlap-3.0.8-r1
=dev-java/commons-digester-1.7-r1
############################################### Java #########
# Core Gentoo/Java Packages
dev-java/ant-core
dev-java/ant-tasks
dev-java/ant
dev-java/java-config
dev-java/java-config-wrapper
dev-java/javatoolkit
# JDKs
=dev-java/sun-jdk-1.4*
=dev-java/sun-jdk-1.5*
=dev-java/ibm-jdk-bin-1.4*
=dev-java/ibm-jdk-bin-1.5*
=dev-java/jrockit-jdk-bin-1.4*
=dev-java/jrockit-jdk-bin-1.5*
=dev-java/blackdown-jdk-1.4*
dev-java/kaffe
# JREs
=dev-java/sun-jre-bin-1.4*
=dev-java/sun-jre-bin-1.5*
=dev-java/ibm-jre-bin-1.4*
=dev-java/blackdown-jre-1.4*
# Virtuals
virtual/jdk
virtual/jre
# Compilers
dev-java/eclipse-ecj
dev-java/jikes
# Documentation
dev-java/java-sdk-docs
# Misc packages that have been updated to generation-2,
# where the generation-1 won't build and/or run properly
dev-java/lucene
dev-java/gnu-jaxp
# These have optional Java support, but need ~arch to function properly
# with generation-2
dev-util/subversion
sys-libs/db
############################################### Java #########
/etc/portage/profile/package.provided
sys-fs/udev-0.79-r1
/var/lib/portage/world
sys-apps/logwatch
net-dns/bind-tools
dev-java/javatoolkit
net-mail/courier-imap
dev-python/django
dev-util/subversion
net-www/apache
net-www/awstats
sys-libs/glibc
app-admin/denyhosts
sys-kernel/linux-headers
app-portage/portage-utils
dev-db/mysql
www-client/links
dev-java/sun-jdk
app-portage/epm
app-admin/syslog-ng
app-editors/vim
dev-lang/php
sys-fs/quota
net-misc/telnet-bsd
app-editors/nano
mail-mta/postfix
app-vim/sudo
app-arch/zip
dev-python/imaging
sys-apps/slocate
net-misc/curl
sys-libs/lib-compat
net-libs/courier-authlib
dev-libs/cyrus-sasl
net-ftp/ftp
net-firewall/shorewall
virtual/jdk
sys-apps/iproute2
dev-util/strace
net-zope/zope
net-mail/fetchmail
app-arch/gzip
net-misc/openssh
www-apps/trac
net-dns/bind
app-admin/logrotate
net-proxy/squid
dev-java/junit
sys-devel/gettext
net-firewall/iptables
app-portage/gentoolkit
dev-db/phpmyadmin
mail-filter/procmail
dev-java/jss
app-misc/screen
/etc/make.conf
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
#CFLAGS="-O2 -mcpu=i686 -pipe"
CFLAGS="-O2 -march=opteron -pipe"
CHOST="i386-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j5"
USE="apache2 vhosts logrotate -X -kde -gnome -alsa -sdl -arts -opengl -oss -xv"
Here is make.conf I used when updating glibc et al
/etc/make.conf
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
#CFLAGS="-O2 -mcpu=i686 -pipe"
CFLAGS="-O2 -march=opteron -pipe"
#CHOST="i386-pc-linux-gnu"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j5"
USE="nptl nptlonly apache2 vhosts logrotate -X -kde -gnome -alsa -sdl -arts -opengl -oss -xv"
fyi:
Upgrading GCC: http://www.gentoo.org/doc/en/gcc-upgrading.xml
Migrating to NPTL: http://gentoo-wiki.com/HOWTO_Migrate_to_NPTL
All seems to be happy now...
thanks,
travis
glowworm
09-07-2006, 10:42 PM
Of course you could have just put gcc and glibc in package.mask
# echo ">=sys-devel/gcc-4.0" >> /etc/portage/package.mask
# echo ">=sys-libs/glibc-2.4" >> /etc/portage/package.mask
To stop them coming into the machine.
Just an option for anyone else who doesn't feel like all the work of the upgrade or don't have the time and resources to do it at this very moment.
Eventually you will get a block or a GLSA that needs the new stuff, but personally I don't think this will be for a while, until then the old gcc/glibc is more than sufficient.
vBulletin® v3.7.1, Copyright ©2000-2009, Jelsoft Enterprises Ltd.