Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 30639 - Openoffice 1.1.0 requires ccache without FEATURES="ccache" set
Summary: Openoffice 1.1.0 requires ccache without FEATURES="ccache" set
Status: RESOLVED DUPLICATE of bug 30636
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Gentoo Office Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-10-08 00:11 UTC by Thomas Heiserowski
Modified: 2005-07-17 13:06 UTC (History)
2 users (show)

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 Thomas Heiserowski 2003-10-08 00:11:35 UTC
OO failed to emerge without ccache installed. I did not set FEATURES="ccache" in
my make.conf. Therefore it should not require it or ccache should be added to
the dependencies.

To compile OO I emerge ccache and uncommented CCACHE_SIZE="2G" in make.conf; the
FEATURES var is still inactive!

Thus it works.

Reproducible: Always
Steps to Reproduce:
1. emerge openoffice-1.1.0

Actual Results:  
./configure fails with message "/usr/bin/ccache is a directory"

Expected Results:  
compile OO without ccache installed

Portage 2.0.49-r3 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1, 2.4.22-openmosix)
=================================================================
System uname: 2.4.22-openmosix i686 AMD Athlon(tm) XP 2000+
distcc 2.9 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.2 [enabled]
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-mcpu=athlon -O2 -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
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/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-mcpu=athlon -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="sandbox ccache autoaddcvs"
GENTOO_MIRRORS="ftp://ftp.students-fhtw.de/pub/linux/gentoo
ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo
http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="foomaticdb mad tetex guile perl esd mozilla x86 oss 3dnow apm arts berkdb
cdr crypt cups encode gdbm gif gpm gtk imlib java jpeg kde gnome libg++ libwww
mikmod mmx motif mpeg ncurses nls oggvorbis opengl pam pdflib png python qt
quicktime readline sdl slang spell ssl gd svga tcpd truetype X xml2 xmms xv zlib
matrox dga imap xinerama avi mozsvg mozcalendar mozxmlterm moznoirc moznocompose
mozp3p tiff tcltk"
Comment 1 Markus Nigbur (RETIRED) gentoo-dev 2003-10-08 02:53:40 UTC
how should any package require ccache?
it's simply a compiler cache to reuse already compiled, unchaged code.
Comment 2 Thomas Heiserowski 2003-10-08 04:59:50 UTC
I know. It does not depend on it but the ebuild checks for ccache -- in my
opion -- activates support for  it on its own.

It sound strange but that is what happened to me.
Comment 3 Paul de Vrieze (RETIRED) gentoo-dev 2003-10-08 05:44:37 UTC
Hmm. ccache is in the default features, so if you don't override the features
it will be in. I'll make the ccache check somewhat smarter.
Comment 4 Paul de Vrieze (RETIRED) gentoo-dev 2003-10-08 05:50:43 UTC
There was an error in the code that should work with both ccache versions.
The newer version did automatically override the old one as a directory is
also "executable". This is now fixed. If you don't want to use ccache, either
disable it or unmerge the package. But it should build now (well after the
change syncs up)
Comment 5 SpanKY gentoo-dev 2003-10-08 09:32:14 UTC
wrangler ...
Comment 6 SpanKY gentoo-dev 2003-10-08 09:32:21 UTC

*** This bug has been marked as a duplicate of 30636 ***
Comment 7 Jozef Behran 2004-12-18 14:19:08 UTC
How should any package require ccache ? A quick answer is: see bug 74853 and
think. A longer: when your portage emerges gcc-3.4.3-r1, it forgets to update
gcc-config, so the compiler breaks. But when you have ccache (and compiled OO
under it previously), ccache pulls the already compiled code out of the cache,
bypassing the broken compiler. This lets the configure to pass through the C
compiler test and (when the OO is fetched in the cache), build the package 
successfully even with a totally broken compiler. When you kick the ccache off the 
field, the compiler shows its broken face and refuses to build the package anymore 
and you end up thinking about ccache as being a  dependency of the package. 
Especially when you then remerge ccache back and the package suddenly builds 
successfully again.

This strange behavior you may see even when you try to emerge newer version of
OO - it is possible that the C source code of this newer version is the same as the
one in the older version and changes appear only in JAVA sources or similar areas.
Comment 8 Jozef Behran 2004-12-18 14:28:30 UTC
> ./configure fails with message "/usr/bin/ccache is a directory"

When I was looking around my gentoo system, I found a /usr/bin/ccache directory
full of broken symlinks to various compiler tools. Thus I think that this strange
message was caused so that you emerged ccache, it was installed and portage 
used it but later when you unmerged it, the portage searched for the compiler (gcc)
and found /???/gcc which was a symlink pointing to /usr/bin/ccache and that
happened to be a directory since ccache moved to /usr/bin/ccache/ccache. When
ccache is remerged back, everything works, because portage patches PATH so
that the correct ccache binary is used when compiling.
Comment 9 Paul de Vrieze (RETIRED) gentoo-dev 2004-12-20 01:25:22 UTC
/usr/bin/ccache should with any recent version of ccache be a binary. The symlinks exist in /usr/lib/ccache/bin. If this is not the case, try upgrading ccache. If you allready upgraded, first remove this /usr/bin/ccache directory and then merge ccache again.