The patch provided fixes a problem that appears when using ccache with paludis (I haven't tested with portage). The problem is due to a wrong check of the variable CXX in Ice's makefiles. When CXX is empty or equal to "g++", Ice builds Ok, but if it is set to something else, e.g. "/usr/lib/ccache/bin/g++", then the build process fails. The test has been changed from an exact match to a substring match. The patch includes the original patch for the portage version of Ice-3.2.1. Reproducible: Always Steps to Reproduce: 1. Enabled ccache (tested with paludis). Include in /etc/paludis/bashrc: export PATH="/usr/lib/ccache/bin/:${PATH}" export CCACHE_DIR="/var/tmp/ccache" export CC="/usr/lib/ccache/bin/gcc" export CXX="/usr/lib/ccache/bin/g++" 2. paludis -i dev-cpp/Ice Actual Results: The build process fails, with a message stating that "mkshlib" is undefined Expected Results: The build process should finish correctly The problem might not appear when using portage, depending on the way it interacts with ccache (not tested)
Created attachment 128685 [details, diff] Patch that fixes problem when using ccache with paludis
Well, FWIW I built it yesterday with portage and ccache for Bug 137169, and had no issues. Anyway, the prefix/embedded_runpath_prefix are definitely a good thing, it's just plain stupid as it is, see the bug referenced above.
(In reply to comment #1) > Created an attachment (id=128685) [edit] > Patch that fixes problem when using ccache with paludis > I had the same problem. Your patch worked for me. Thanks
(In reply to comment #0) > export CC="/usr/lib/ccache/bin/gcc" > export CXX="/usr/lib/ccache/bin/g++" You are doing it wrongly. Don't set CC or CXX. http://paludis.pioto.org/faq/howdoi.html#ccache
(In reply to comment #4) > (In reply to comment #0) > > export CC="/usr/lib/ccache/bin/gcc" > > export CXX="/usr/lib/ccache/bin/g++" > > You are doing it wrongly. Don't set CC or CXX. > > http://paludis.pioto.org/faq/howdoi.html#ccache > zlin: We don't need this patch then as it works properly with paludis if you follow the instructions you posted? (just making sure)
(In reply to comment #5) > zlin: We don't need this patch then as it works properly with paludis if you > follow the instructions you posted? (just making sure) I would expect so but I didn't actually test it. The patch certainly looks like the wrong solution either way. From my reading it is making sure CXX gets overridden with "c++" whenever CXX contains g++ which makes it ignore ccache if you don't enable it via PATH instead. Thus it is just hiding the problem rather than fixing the underlying problems (which from the looks of the parts of the makefiles that are visible in the patch would likely require a rewrite of the build system)...
Thanks, closing...