Summary: | Openoffice 1.1.0 requires ccache without FEATURES="ccache" set | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Thomas Heiserowski <th.heiserowski> |
Component: | Current packages | Assignee: | Gentoo Office Team <office> |
Status: | RESOLVED DUPLICATE | ||
Severity: | major | CC: | lisa, pYrania |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Thomas Heiserowski
2003-10-08 00:11:35 UTC
how should any package require ccache? it's simply a compiler cache to reuse already compiled, unchaged code. 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. 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. 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) wrangler ... 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. > ./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.
/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. |