<apachelogger> ScottK: that cmake bug looks like fun btw
<apachelogger> also I do not think it is a cmake issue at all
<apachelogger> or perhaps it is, but only partially
<apachelogger> in particular it is probably falling over the fact that cxx has 
a cmd and a arg, which generally speaking of course is a bit of a bogus 
situation
<apachelogger> yeah
<apachelogger> gcc got three args with -d
<apachelogger> cmake does not call either
-*- apachelogger runs cmake with tracing
<apachelogger> /usr/share/cmake-2.8/Modules/Platform/UnixPaths.cmake(32):  
EXECUTE_PROCESS(COMMAND dpkg-architecture -qDEB_HOST_MULTIARCH OUTPUT_VARIABLE 
CMAKE_ARCH_TRIPLET OUTPUT_STRIP_TRAILING_WHITESPACE )
<apachelogger>    Called from: [4]        
/usr/share/cmake-2.8/Modules/Platform/UnixPaths.cmake
<apachelogger>                 [3]        
/usr/share/cmake-2.8/Modules/Platform/Linux.cmake
<apachelogger>                 [2]        
/usr/share/cmake-2.8/Modules/CMakeSystemSpecificInformation.cmake
<apachelogger>                 [1]        
/home/me/src/git/libechonest/CMakeLists.txt
<apachelogger> /usr/bin/ccache: invalid option -- 'd'
<apachelogger> 5 bucks that call comes from a patch
<apachelogger> me@osiris:/tmp/cmake-2.8.4+dfsg.1$ grep -ri dpkg-architecture .
<apachelogger> 
./debian/patches/ubuntu_multiarch_library_directory.diff:+EXECUTE_PROCESS(COMMAND
 dpkg-architecture -qDEB_HOST_MULTIARCH OUTPUT_VARIABLE CMAKE_ARCH_TRIPLET 
OUTPUT_STRIP_TRAILING_WHITESPACE)
<debfx> what's wrong with it?
<apachelogger> well, it causes ccache -dumpmachine to be called
<apachelogger> leading to an eror in ccache
<apachelogger> as obviously the call should be ccache gcc -dumpinfo
<apachelogger> eh
<apachelogger> dumpmachine
<apachelogger> debfx: perhaps the patch was applied differently upstream?
<debfx> how does ccache hook into the buildsystem? does it modify $PATH?
<apachelogger> no
<apachelogger> you set a new CXX and CC env var
<apachelogger> debfx: multiarch is something gcc, that should totally be 
implemented in cmake upstream
<apachelogger> anyhow
<apachelogger> for some reason dpkg-architecture calls:
<apachelogger> execve("/bin/sh", ["sh", "-c", "${CC:-gcc} -dumpmachine"], [/* 
50 vars */]) = 0
<apachelogger> resulting in
<apachelogger> execve("/usr/bin/ccache", ["/usr/bin/ccache", "-dumpmachine"], 
[/* 50 vars */]) = 0
<apachelogger> which then produces crap outs
<apachelogger> I believe cmake pokes the env around a bit
<apachelogger> I know that it definitely stores CC/CXX as a combo of command + 
argN
<apachelogger> so if cmake were to set its envrionemnt so that CC only contains 
the command and no the arg (which is generally sane behaviour I suppose), that 
would screw over the poor old dpkg-architecture

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/773062

Title:
  cmake does not work well with ccache

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to