Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 68408 - kdemultimedia-3.3.0 fails on linking kjbackground.o with ccache
Summary: kdemultimedia-3.3.0 fails on linking kjbackground.o with ccache
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-10-21 08:01 UTC by CJ Kucera
Modified: 2004-11-08 11:19 UTC (History)
0 users

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


Attachments
kjbackground.o (kjbackground.o,11.54 KB, text/plain)
2004-10-21 11:08 UTC, CJ Kucera
Details

Note You need to log in before you can comment on or make changes to this bug.
Description CJ Kucera 2004-10-21 08:01:06 UTC
I'm trying to install kdemultimedia 3.3.0 (I have 3.1.2 installed, though they seem to live in different SLOTs), and the build keeps failing at the same spot.  There's a couple of somewhat worrying things in here, but I'll just paste the whole thing:

/bin/sh ../../../libtool --silent --mode=link --tag=CXX g++  -DNDEBUG -DNO_DEBUG -O2 -O2 -mcpu=i686 -pipe -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION    -o noatun_kjofol.la -rpath /usr/kde/3.3/lib/kde3 -L/usr/X11R6/lib -L/usr/qt/3/lib -L/usr/kde/3.3/lib  -module -avoid-version -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined kjloader.lo kjwidget.lo kjbutton.lo kjseeker.lo kjsliders.lo kjfont.lo kjtextdisplay.lo kjvis.lo kjequalizer.lo kjbackground.lo noatunui.lo parser.lo kjprefs.lo kjskinselectorwidget.lo kjguisettingswidget.lo -lkio ../../../noatun/library/libnoatun.la -lkio -lm ../../../arts/modules/libartsmodules.la

*** Warning: Linking the shared library noatun_kjofol.la against the loadable module
*** libnoatunarts.so is not portable!
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../../i686-pc-linux-gnu/bin/ld:.libs/kjbackground.o: file format not recognized; treating as linker script
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../../i686-pc-linux-gnu/bin/ld:.libs/kjbackground.o:1: syntax error
collect2: ld returned 1 exit status
make[5]: *** [noatun_kjofol.la] Error 1
make[5]: Leaving directory `/var/tmp/portage/kdemultimedia-3.3.0/work/kdemultimedia-3.3.0/noatun/modules/kjofol-skin'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/var/tmp/portage/kdemultimedia-3.3.0/work/kdemultimedia-3.3.0/noatun/modules/kjofol-skin'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/kdemultimedia-3.3.0/work/kdemultimedia-3.3.0/noatun/modules'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/kdemultimedia-3.3.0/work/kdemultimedia-3.3.0/noatun'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/kdemultimedia-3.3.0/work/kdemultimedia-3.3.0'
make: *** [all] Error 2

!!! ERROR: kde-base/kdemultimedia-3.3.0 failed.
!!! Function kde_src_compile, Line 142, Exitcode 2
!!! died running emake, kde_src_compile:make

First off of course is the strange warning about libnoatunarts.so, and then there's the bit about kjbackground.o.  I'm pretty sure that I've seen other warnings about the libnoatunarts.so scroll by a few times with no noticeable detrimental effects, though, so I'm not sure if that has much to do with whatever's actually going on.

At any rate, I've tried the emerge a few times now and it does always die in the same spot, so I'm inclined to think it's something screwy with my system rather than a memory problem or something.

Reproducible: Always
Steps to Reproduce:




root@cj:~# emerge info
Portage 2.0.50-r11 (default-x86-1.4, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.4.21)
=================================================================
System uname: 2.4.21 i686 Pentium III (Coppermine)
Gentoo Base System version 1.4.16
distcc 2.0.1 i686-pc-linux-gnu (protocol 1) (default port 3632) [disabled]
ccache version 2.2 [enabled]
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium3 -O3 -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.1/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config
/usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref
/usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -mcpu=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs buildpkg ccache sandbox"
GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X apm arts avi berkdb bitmap-fonts bonobo cdr crypt cups encode esd f77
foomaticdb gdbm gif gnome gpm gtk gtk2 gtkhtml guile imap imlib java jpeg kde
ldap libg++ libwww mad mbox mikmod motif mozilla mpeg mysql ncurses nls oci8
offensive oggvorbis opengl oss pam pdflib perl png python qt quicktime readline
sdl slang spell ssl svga tcltk tcpd truetype x86 xml2 xmms xprint xv zlib"
Comment 1 Caleb Tennis (RETIRED) gentoo-dev 2004-10-21 10:17:56 UTC
The warning is probably okay.

Did you try removing the portage cache between re-emerges?  That's probably why it keeps failing in the same place.
Comment 2 CJ Kucera 2004-10-21 10:29:45 UTC
You mean the stuff that'd be under /var/tmp/portage/kdemultimedia-3.3.0 ?  I'll clean that out, give it a shot, and let you know.  Thanks!
Comment 3 CJ Kucera 2004-10-21 11:01:56 UTC
Well, if that *was* what you were talking about, it seems to have had little effect on the situation.  I wiped the entire /var/tmp/portage/kdemultimedia-3.3.0 directory before starting up the emerge again (and watched as it unpacked the tarball at the beginning), and the process died in the exact same spot again.
Comment 4 CJ Kucera 2004-10-21 11:08:33 UTC
Created attachment 42325 [details]
kjbackground.o

Hm, interesting.  I just went into
/var/tmp/portage/kdemultimedia-3.3.0/work/kdemultimedia-3.3.0/noatun/modules/kjofol-skin/.libs
to have a look at the kjbackground.o file which was causing problems, and it
seems to be comprised of a little snippet of C code.  I've attached it here.

I'll see if I can scroll back through the compilation process a bit to see what
was going on when it supposedly created that object file.  All the other .o
files in that directory seem to have built properly.
Comment 5 CJ Kucera 2004-10-21 11:49:54 UTC
Yeah, I really don't know.  kjbackground is mentioned a number of lines above that, but nothing seems amiss:

/bin/sh ../../../libtool --silent --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../noatun/library -I../../../noatun/library -I../../../arts/modules -I../../../arts/midi -I../../../arts/modules/synth -I../../../arts/modules/common -I../../../arts/modules/effects -I../../../arts/modules/mixers -I../../../arts/gui/common -I/usr/kde/3.3/include/kio -I/usr/kde/3.3/include/arts -I/usr/kde/3.3/include -I/usr/qt/3/include -I/usr/X11R6/include   -DQT_THREAD_SUPPORT  -D_REENTRANT  -DNDEBUG -DNO_DEBUG -O2 -O2 -mcpu=i686 -pipe -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION  -c -o kjbackground.lo `test -f 'kjbackground.cpp' || echo './'`kjbackground.cpp
/bin/sh ../../../libtool --silent --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../noatun/library -I../../../noatun/library -I../../../arts/modules -I../../../arts/midi -I../../../arts/modules/synth -I../../../arts/modules/common -I../../../arts/modules/effects -I../../../arts/modules/mixers -I../../../arts/gui/common -I/usr/kde/3.3/include/kio -I/usr/kde/3.3/include/arts -I/usr/kde/3.3/include -I/usr/qt/3/include -I/usr/X11R6/include   -DQT_THREAD_SUPPORT  -D_REENTRANT  -DNDEBUG -DNO_DEBUG -O2 -O2 -mcpu=i686 -pipe -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION  -c -o noatunui.lo `test -f 'noatunui.cpp' || echo './'`noatunui.cpp

There's a --silent flag I see in there; perhaps there was an error that didn't get reported?
Comment 6 CJ Kucera 2004-10-21 11:54:55 UTC
Hm, well, here's yet more info for you (sorry if this is getting annoying) - If I actually go into /var/tmp/portage/kdemultimedia-3.0.0/work/kdemultimedia-3.0.0/noatun/modules/kjofol-skin and run "make" I get the same output.  If I remove kjbackground.lo and .libs/kjbackground.o, however, and re-run "make", the library gets built without problems.  Weird, eh?  I'll see if there's anything else I can dig up on this, too.
Comment 7 CJ Kucera 2004-10-21 16:06:36 UTC
Well, a bit more info now.

Simply removing those two files actually *inside* the ebuild and then re-running make does *not* fix the problem, but when I run make outside of the build system then things work properly.  So that means that something inside the environment is causing problems here.  I've hacked up the kde eclass on this box to print out the whole environment when it's running these commands, so hopefully I should be able to narrow it down a bit.  If you're at all curious what I've changed, I've turned the "make" portion of the KDE eclass into this:

            make)
                export PATH="${KDEDIR}/bin:${PATH}"
                debug-print-section make
                emake
                einfo doing stuff
                MYPWD=`pwd`
                einfo chdir to /var/tmp/portage/kdemultimedia-3.3.0/work/kdemultimedia-3.3.0/noatun/modules/kjofol-skin
                cd /var/tmp/portage/kdemultimedia-3.3.0/work/kdemultimedia-3.3.0/noatun/modules/kjofol-skin
                einfo Current pwd: `pwd`
                einfo Current kjbackground files:
                find . -name "*kjbackground*" -ls
                einfo executing rm kjbackground.lo .libs/kjbackground.o
                rm kjbackground.lo .libs/kjbackground.o
                einfo kjbackground files now:
                find . -name "*kjbackground*" -ls
                einfo Running make.  Environment:
                set
                make
                einfo Done with make, chdir to $MYPWD
                cd $MYPWD
                einfo now back to your regularly scheduled program
                emake || die "died running emake, $FUNCNAME:make"
                ;;

That internal "make," like I said before, doesn't actually work when run from inside the ebuild itself.  More later, apologies for the continued spam.
Comment 8 Simone Gotti (RETIRED) gentoo-dev 2004-10-21 16:13:30 UTC
Keep on, I'm interested in this strange behavior but I'm sorry that I cannot help you, I can't understand the reason of this garbage in file.

But the fact that it's reproducible is at least a good thing.
Comment 9 CJ Kucera 2004-10-22 07:18:41 UTC
Well, okay, this is somewhat weird, but I've nailed down where the problem is coming from, anyway.  Turns out it's an issue with ccache.  When running the process via Portage, I have /usr/lib/ccache/bin in my PATH rather early on, and when that's present, it exhibits this strange behavior.

Also of note is that when I was able to repeat this problem a few times I took ccache out of my FEATURES in /etc/make.conf just to make sure that I wasn't adding any unnecessary complications to the matter, but a quick look at emerge info tells me that ccache is still active.  It seems that there's a default FEATURES line specified in /etc/make.globals which includes ccache.  Is there a way to explicitly disable a FEATURE in /etc/make.conf?  I can't seem to get changes in make.conf to get rid of the FEATUREs set in make.globals completely.
Comment 10 CJ Kucera 2004-10-22 07:23:39 UTC
FYI, someone else was having this problem with kdepim in bug #52872
Comment 11 Simone Gotti (RETIRED) gentoo-dev 2004-10-22 07:25:31 UTC
Ok, finally you found the reason.

To force out ccache you have to put '-ccache' in FEATURES in /etc/make.conf (or uninstalling ccache ;-) _

I think that this bug should be resolved.
Comment 12 CJ Kucera 2004-10-22 07:26:25 UTC
Ah, nevermind, bug #67739 to the rescue, seems I can use "-ccache" in FEATURES in make.conf to get that behavior.

I wonder if that would be worth a mention in the comments in make.conf?
Comment 13 CJ Kucera 2004-10-22 07:29:09 UTC
Yeah, I suppose there's not much left to be done here, close away!
Comment 14 Simone Gotti (RETIRED) gentoo-dev 2004-11-08 11:19:26 UTC
Forgot to close it. It was a ccache problem so I'm marking it as invalid.