Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 91394 - setting LIBPATH in env breaks toolchain.eclass
Summary: setting LIBPATH in env breaks toolchain.eclass
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High normal
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-03 23:54 UTC by Colin Macdonald
Modified: 2005-05-23 17:43 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Colin Macdonald 2005-05-03 23:54:02 UTC
I'm running ~x86 with glibc, gcc, and binutils pegged at x86.  When I upgraded to gcc-3.3.5-20050130 today, I saw this error during the emerge:

# cat 6606-gcc-3.3.5.20050130-r1.log
 * /usr/bin/gcc-config: Profile does not exist or invalid setting for /etc/env.d/gcc/i686-pc-linux-gnu-3.3.5-20050130
 * Switching to i686-pc-linux-gnu-3.3.5-20050130 compiler ...             [ ok ]

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

 *   # source /etc/profile


 * If you have issues with packages unable to locate libstdc++.la,
 * then try running 'fix_libtool_files.sh' on the old gcc versions.

I couldn't use emerge or gcc-config because python couldn't link to libstdc++.so.5 so I symlinked libstdc++.so.5 -> /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.so.5
(I tried fix_libtool_files.sh 3.3.5 first but it didn't help).

Now when I run gcc-config I get:
gcc-config -l
 * /usr/bin/gcc-config: Profile does not exist or invalid setting for /etc/env.d/gcc/i686-pc-linux-gnu-3.3.5-20050130
[1] i686-pc-linux-gnu-2.95.3
[2] i686-pc-linux-gnu-3.3.5-20050130 *
[3] i686-pc-linux-gnu-3.3.5-20050130-hardened
[4] i686-pc-linux-gnu-3.3.5-20050130-hardenednopie
[5] i686-pc-linux-gnu-3.3.5-20050130-hardenednossp

my gcc-config is gcc-config-1.3.10-r2 and I synced earlier today.

The only thing I can think of is that I upgraded my kernel-headers from 2.6.8.1 (i think) to 2.6.11.  I haven't rebuilt glibc yet as I was planning to do gcc first.  Could that be the problem?

I will resync and reemerge gcc and report back if that helped.

emerge info:
Portage 2.0.51.21 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.11.6 i686)=================================================================
System uname: 2.6.11.6 i686 AMD Athlon(tm) Processor
Gentoo Base System version 1.6.11
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
dev-lang/python:     2.3.5
sys-apps/sandbox:    1.2.3
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r7
sys-devel/libtool:   1.5.14
virtual/os-headers:  2.6.11
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/globus-2.4/etc /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig collision-protection distcc distlocks sandbox sfperms strict userpriv usersandbox"
GENTOO_MIRRORS="ftp://gentoo.ccccom.com http://gentoo.ccccom.com http://gentoo.seren.com/gentoo ftp://ftp.ussg.iu.edu/pub/linux/gentoo http://mirror.datapipe.net/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/ag-portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow X Xaw3d a52 aac aalib acpi alsa apm arts avi berkdb bitmap-fonts cdr cjk crypt cups curl dga directfb dv dvd eds emacs emboss encode esd exif f77 faad fam fbcon ffmpeg fftw flac fortran gcj gd gdbm gif gimpprint ginac gnome gnustep gphoto2 gpm gstreamer gtk gtk2 guile imagemagick imlib jack java jpeg ldap leim libg++ libwww lirc live mad matroska mikmod mjpeg mmx mng motif mozilla mp3 mpeg mysql nas ncurses nls objc offensive ogg oggvorbis openal opengl oss pam pdflib perl plotutils png ppds python qhull qt quicktime radeon readline rtc samba scanner sdk sdl slang speex spell sqlite sse ssl svg tcltk tcpd tetex theora tiff truetype truetype-fonts type1-fonts unicode usb v4l v4l2 vorbis wxwindows xine xinerama xml xml2 xmms xosd xv xvid zlib video_cards_radeon userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Comment 1 Colin Macdonald 2005-05-04 00:00:09 UTC
sorry summary had wrong gcc version, should be have -r1:

gcc-3.3.5-20050130-r1
Comment 2 Jeremy Huddleston (RETIRED) gentoo-dev 2005-05-04 00:15:33 UTC
that's fine.  It complains, but it actually works.  It's fixed to not compalin in a newer gcc-config version, so please update your gcc-config.
Comment 3 Colin Macdonald 2005-05-04 00:49:55 UTC
FWIW, anything above my gcc-config version is hardmasked.

I will assume then that the gcc-config warning is unrelated to my python linking problem and just rebuild python.  Thanks for the quick response!
Comment 4 Jeremy Huddleston (RETIRED) gentoo-dev 2005-05-04 04:00:10 UTC
oh sorry, I missed the version number you reported should work with that selected gcc profile...

/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130 should be in your ld search path, so we need to find out why it's not there... can you cat /etc/env.d/05gcc... also, run env-update
Comment 5 Colin Macdonald 2005-05-04 05:25:20 UTC
cat /etc/env.d/05gcc
PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.3.5-20050130"
ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.3.5-20050130"
MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130/man"
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130/info"
LDPATH="/usr/lib/globus-2.4/lib:/usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.3"
GCC_SPECS=""

don't like the looks of that!  it looks like the LDPATH has part of gcc 2.95

cat /etc/env.d/gcc/i686-pc-linux-gnu-3.3.5-20050130
PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.3.5-20050130"
ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.3.5-20050130"
LDPATH="/usr/lib/globus-2.4/lib"
GCCBITS="32"
MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130/man"
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130/info"
STDCXX_INCDIR="g++-v3"

I tried changing the LDPATH line to:
LDPATH="/usr/lib/globus-2.4/lib:/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130"

and then running env-update and relogging in, but gcc-config still reports the errors.

for reference:
cat /etc/env.d/gcc/i686-pc-linux-gnu-2.95.3
PATH="/usr/i686-pc-linux-gnu/gcc-bin/2.95"
ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/2.95"
LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.3"
MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/2.95/man"
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/2.95/info"
STDCXX_INCDIR="g++"
CC="gcc"
CXX="g++"
Comment 6 SpanKY gentoo-dev 2005-05-04 05:39:07 UTC
try re-emerging ~gcc-config-1.3.10
Comment 7 Colin Macdonald 2005-05-04 05:40:43 UTC
I've done that several times, no effect I can see...
Comment 8 Colin Macdonald 2005-05-04 10:52:23 UTC
I edited /etc/env.d/gcc/i686-pc-linux-gnu-3.3.5-20050130:
PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.3.5-20050130"
ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.3.5-20050130"
LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130"
GCCBITS="32"
MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130/man"
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130/info"
STDCXX_INCDIR="g++-v3"

(i.e., removed the globus stuff).  Now it seems fixed!

The globus stuff comes from an overlay for installed accessgrid: http://www-unix.mcs.anl.gov/fl/research/accessgrid/software/releases/current/gentoo.html

Does that make this bug invalid since it may involve packages not in the tree?

OTOH, the globus stuff still showed up in the /etc/env.d/gcc/ files created by the gcc ebuild...
Comment 9 SpanKY gentoo-dev 2005-05-04 12:15:58 UTC
the globus stuff shouldnt have shown up in /etc/env.d/gcc/ files ... the question now is how did it get there
Comment 10 Colin Macdonald 2005-05-04 12:26:15 UTC
I'm at a loss what to check...   I've tried re-emerging gcc, with the same results.

Any suggestions?  Is it worth attaching the globus ebuilds?  They look fairly normal to me.
Comment 11 Colin Macdonald 2005-05-04 12:40:01 UTC
well here's a hint from the log file:
 * CFLAGS="-march=athlon-xp -O2 -pipe"
 * CXXFLAGS="-march=athlon-xp -O2 -pipe"
 * Configuring gcc ...
 * running gcc-compiler-configure
 * configuring for GCC_LANG: c,c++,objc,java,f77

 * PREFIX:          /usr
 * BINPATH:         /usr/i686-pc-linux-gnu/gcc-bin/3.3.5-20050130
 * LIBPATH:         /usr/lib/globus-2.4/lib
 * DATAPATH:        /usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130
 * STDCXX_INCDIR:   /usr/lib/globus-2.4/lib/include/g++-v3

 * Configuring GCC with:
        --enable-version-specific-runtime-libs
        --prefix=/usr
        --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.3.5-20050130
        --includedir=/usr/lib/globus-2.4/lib/include
        --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130
        --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130/man
        --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5-20050130/info
        --with-gxx-include-dir=/usr/lib/globus-2.4/lib/include/g++-v3
        --host=i686-pc-linux-gnu
        --build=i686-pc-linux-gnu
        --disable-altivec
        --enable-nls
        --without-included-gettext
        --with-system-zlib
        --disable-checking
        --disable-werror
        --disable-libunwind-exceptions
        --disable-multilib
        --enable-java-awt=gtk
        --enable-languages=c,c++,objc,java,f77
        --enable-shared
        --enable-threads=posix
        --enable-__cxa_atexit
        --enable-clocale=gnu

Some of that sure doesn't look healthy!  The complete logs are here:
http://www.math.sfu.ca/~cbm/temp/gentoo/
(I didn't attach them because one is 7MiB).
Comment 12 SpanKY gentoo-dev 2005-05-04 15:03:02 UTC
the problem is that globus is exporting 'LIBPATH' into your env which overrides gcc ebuild internal 'LIBPATH'

stop exporting that variable :P
Comment 13 Colin Macdonald 2005-05-04 17:52:38 UTC
Ok, for the record, is there anything wrong with other ebuilds setting LIBPATH?

In other words, is this an upstream bug or ours?

I filed a bug with the AG folk to keep track of this issue:
http://bugzilla.mcs.anl.gov/accessgrid/show_bug.cgi?id=1307
Comment 14 SpanKY gentoo-dev 2005-05-04 18:47:56 UTC
this is a portage-gcc specific thing
Comment 15 SpanKY gentoo-dev 2005-05-23 17:43:25 UTC
renamed the override variable names to be prefixed with TOOLCHAIN_