Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 23277 - gtkspell fails on reference to libstdc++.la (in wrong dir)
Summary: gtkspell fails on reference to libstdc++.la (in wrong dir)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal
Assignee: Martin Schlemmer (RETIRED)
URL:
Whiteboard:
Keywords:
: 24462 25164 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-06-22 10:01 UTC by Ken Kennedy
Modified: 2004-03-19 03:10 UTC (History)
4 users (show)

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


Attachments
Failed build using distcc (build.log,6.73 KB, text/plain)
2003-07-06 16:00 UTC, Paul Kronenwetter
Details
patched fix_libtool_files.sh script (fix_libtool_files.sh,1.52 KB, text/plain)
2003-08-17 23:40 UTC, Hans Matzen
Details
awk script for fix_libtool_files.sh (fixlafiles.awk,2.89 KB, text/plain)
2003-08-17 23:44 UTC, Hans Matzen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ken Kennedy 2003-06-22 10:01:09 UTC
gtkspell upgrade fails with:

/bin/sh ../libtool --mode=link gcc  -I/usr/include/gtk-2.0
-I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0
-I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include   -DG_LOG_DOMAIN=\"gtkspell\"  -o libgtkspell.la
-rpath /usr/lib  gtkspell.lo deprecated.lo -Wl,--export-dynamic -lgtk-x11-2.0
-lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0
-lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -laspell
grep: /usr/lib/gcc-lib/i586-pc-linux-gnu/3.2.2/libstdc++.la: No such file or
directory
/bin/sed: can't read /usr/lib/gcc-lib/i586-pc-linux-gnu/3.2.2/libstdc++.la: No
such file or directory
libtool: link: `/usr/lib/gcc-lib/i586-pc-linux-gnu/3.2.2/libstdc++.la' is not a
valid libtool archive
make[2]: *** [libgtkspell.la] Error 1
make[2]: Leaving directory
`/var/tmp/portage/gtkspell-2.0.4/work/gtkspell-2.0.4/gtkspell'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/gtkspell-2.0.4/work/gtkspell-2.0.4'make: ***
[all-recursive-am] Error 2
 
!!! ERROR: app-text/gtkspell-2.0.4 failed.
!!! Function src_compile, Line 36, Exitcode 2
!!! compile failure
 
Note that I have libstdc++.la, but in the proper gcc-lib dir for my machine:

orcrist root # find /usr/lib/gcc-lib/ -name libstdc++.la
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/libstdc++.la

I don't know how/why it's looking in the wrong place...nothing else recently
seems broken. emerge info follows:

orcrist root # x86emerge info
Portage 2.0.48-r1 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1)
=================================================================
System uname: 2.4.20-gentoo-r5 i686 Intel(R) Pentium(R) III Mobile CPU      1000MHz
GENTOO_MIRRORS="http://gentoo.oregonstate.edu
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config
/usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config
/usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY=""
USE="x86 oss 3dnow apm arts avi crypt cups encode gif gpm jpeg kde libg++ libwww
mikmod mmx mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv
zlib alsa gdbm berkdb slang readline svga tcltk java guile X sdl tcpd pam ssl
perl python esd imlib oggvorbis gnome gtk qt motif opengl mozilla"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-O2 -mcpu=i686 -pipe"
CXXFLAGS="-O2 -mcpu=i686 -pipe"
ACCEPT_KEYWORDS="x86 ~x86"
MAKEOPTS="-j2"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="sandbox ccache"
 
Thanks!! I'm a gentoo newbie, so this could well be something stupid. Feel free
to rub my nose in it...*grin*. Oh...FYI...the 'x86emerge' is a suggestion from a
buddy who's deeper into gentoo than I. Just an alias in .bashrc:

alias x86emerge='env ACCEPT_KEYWORDS="~x86" emerge'

Any other questions, please let me know.
Comment 1 Paul Kronenwetter 2003-06-24 20:06:17 UTC
Seeing the same behavior.  Both in stable version and unstable version.

Reference to LDPATH in /etc/env.d/05gcc and /etc/env.d/gcc/i686-pc-linux-gnu-3.2.2 is correct.  gcc-config -L outputs the 3.2.2 directory. 

I've also looked around the source tree and couldn't find a hard-coded reference to the directory so I'm not sure where it's getting this from.  I've scoured /etc and /usr/bin I can't find anything.

Then I stumbled on /usr/lib/libaspell.la.  It had a reference to 3.2.1.  I re-emerged it and it still wouldn't compile.  But I couldn't see that the same error occured becuase DISTCC was whining about not having a host list.  So I did: FEATURES="-distcc" emerge gtkspell and it worked.......  Tried again with distcc - bombed.  Without distcc, works fine.   WTF I ask myself?  Oh well.

To make it work, remerge aspell.  Then merge gtkspell without distcc enabled in portage.

PS: My observed error is referencing 3.2.1 where 3.2.2 is installed..
Comment 2 Alastair Tse (RETIRED) gentoo-dev 2003-07-02 02:47:10 UTC
hmm .. what version of libtool are you using?
Comment 3 Paul Kronenwetter 2003-07-02 14:26:33 UTC
sys-devel/libtool-1.4.1-r10 *

For me at least.
Comment 4 Alastair Tse (RETIRED) gentoo-dev 2003-07-05 12:48:19 UTC
hmm ... stil don't know what the problem is here. there was someone else with a corrupt ccache in bug 23188 but doesn't seem related here, even though it is the same package

could you attach the full build log of gtkspell using distcc? do this using:

emerge gtkspell 2>&1 | tee /tmp/build.log

Comment 5 Paul Kronenwetter 2003-07-06 16:00:35 UTC
Created attachment 14209 [details]
Failed build using distcc

This log was from a normal emerge using distcc, but without a host list.  The
behavior doesn't change with a host list.  MAKEOPTS="-j2" normally but changing
to ="-j1" doesn't change behavior either.
Comment 6 J. Paul Reed 2003-07-07 18:46:31 UTC
I was getting the same error as the reporter, namely:

/bin/sed: can't read /usr/lib/gcc-lib/i586-pc-linux-gnu/3.2.2/libstdc++.la: No
such file or directory
libtool: link: `/usr/lib/gcc-lib/i586-pc-linux-gnu/3.2.2/libstdc++.la' is not a
valid libtool archive

Just a note that re-emerging aspell, and then emerge -u-ing gtkspell worked; I wasn't using distcc.
Comment 7 Paul Kronenwetter 2003-07-07 20:46:03 UTC
If it's of any interest, I have another ebuild (homebrew) that fails when using distcc, with or without host lists but succeeds when FEATURES=-distcc.  It uses Qt and motif, that's about it.  It is C++ but it bombs on compiling the program, not while linking...

Could this really be a distcc problem? (Gasp!)
Comment 8 Fred Van Andel (RETIRED) gentoo-dev 2003-07-21 12:29:03 UTC
Did you recently change your CFLAGS in make.conf?

I did and I have exactly the same error when compiling kdenetwork.  I am testing some things know and will let you know if it works.
Comment 9 Paul Kronenwetter 2003-07-21 12:35:56 UTC
No, I'm pretty stable with the make.conf flags.
USE="acpi apache2 dvd ethereal gd gphoto2 gps ipv6 junit mbox pcmcia pda \
     plotutils samba sse tiff trusted usb -cups -kde"
Comment 10 Fred Van Andel (RETIRED) gentoo-dev 2003-07-21 12:59:12 UTC
Can you enter:
   gcc-config -c
   gcc-config -L
   gcc-config -l
and post the results.
Comment 11 Paul Kronenwetter 2003-07-21 13:09:05 UTC
As requested:

% gcc-config -c
i686-pc-linux-gnu-3.2.3
% gcc-config -L
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3
gcc-config -l
[1] i686-pc-linux-gnu-3.2.3
Comment 12 John Zheng 2003-08-04 21:54:41 UTC
This problem is more general and applies to all packages that create .la files in /usr/lib.  If gcc is upgraded to a newer version afterwards, the .la file will not be updated, and will contain a reference to the old gcc library path.

The fix for gtkspell is to:

emerge aspell gtkspell

At least it worked for me.

I ran into this upgrading gaim:

http://bugs.gentoo.org/show_bug.cgi?id=25697
Comment 13 Hans Matzen 2003-08-17 23:37:57 UTC
hello,

I try to update my gentoo installation from 1.4 RC4 to final 1.4 at thw weekend
and ran into similiar problems with some packages (php, kdelibs).

doing a emerge -u php results in something like:
libtool: link: cannot find the library `/usr/lib/gcc-lib/i586-pc-linux-gnu/3.2.2
/libstdc++.la

though I upgraded gcc to 3.2.3 a few hours ago and the path should be /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3.

after I have had a look at the gcc ebuild I found a script which is executed after installation fix_libtool_files.sh.
this should do the job changing all wrong .la files but it doesn't with my system because this script is only aware of a change of the version number
and not a change in the CHOST variable.

the 1.4 RC4 was with i586-pc-linux-gnu (precompiled) and now it is i686-pc-linux-gnu.

well, I tried to fix it with a small change to the fix_libtool_files.sh script
which I will attach.

it worked for me and hopefully will for you too
Comment 14 Hans Matzen 2003-08-17 23:40:55 UTC
Created attachment 16254 [details]
patched fix_libtool_files.sh script
Comment 15 Hans Matzen 2003-08-17 23:44:11 UTC
Created attachment 16255 [details]
awk script for fix_libtool_files.sh

this file goes in /lib/rcscripts/awk
Comment 16 Alastair Tse (RETIRED) gentoo-dev 2003-10-08 02:55:55 UTC
*** Bug 24462 has been marked as a duplicate of this bug. ***
Comment 17 Alastair Tse (RETIRED) gentoo-dev 2003-10-08 03:00:09 UTC
this needs to go to the gcc maintainers to incorporate into portage.

azarah,

here is a proposed improvement to the fix_libtool_files.sh script that solves
the problems the bug reporters are having with changing CHOST.
Comment 18 Don Seiler (RETIRED) gentoo-dev 2003-11-12 12:04:24 UTC
*** Bug 25164 has been marked as a duplicate of this bug. ***
Comment 19 Justin Findlay 2004-03-19 00:32:58 UTC
I'm getting the same error emerging enchant.

$ sudo emerge -v --oneshot enchant
...
grep: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/libstdc++.la: No such file or directory
...
$ gcc --version
gcc (GCC) 3.3.2 20031218 (Gentoo Linux 3.3.2-r5, propolice-3.3-7)
Comment 20 Alastair Tse (RETIRED) gentoo-dev 2004-03-19 03:10:34 UTC
run fix_libtool_files.sh, it should be installed on your system.

afaik, this bug should be closed since fix_libtool_files.sh has been in for a long time now.