Summary: | kdemultimedia-3.3.0 fails on linking kjbackground.o with ccache | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | CJ Kucera <pez> |
Component: | [OLD] KDE | Assignee: | Gentoo KDE team <kde> |
Status: | RESOLVED INVALID | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | kjbackground.o |
Description
CJ Kucera
2004-10-21 08:01:06 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. 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! 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. 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.
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? 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. 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. 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. 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. FYI, someone else was having this problem with kdepim in bug #52872 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. 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? Yeah, I suppose there's not much left to be done here, close away! Forgot to close it. It was a ccache problem so I'm marking it as invalid. |