Re: [Yade-dev] Make ccache working

2019-03-28 Thread Bruno Chareyre
You cmake logs says:
> qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such
file or directory
> -- Found unsuitable Qt version "" from NOTFOUND

I discovered that yesterday to. I'm really not sure it is related to the
ccache problem but it is strange. Try "sudo apt install qt5-default"? It
fixes the problem partly on 16.04.

I noticed the -DCMAKE_CXX_COMPILER_LAUNCHER indeed, but to me that's just
another way, not the unique way, since ccache is supposed to be used even
without cmake. It is suprising that "ccache g++" can't find g++ while g++
is available system-wide, but... yes maybe a 18.04 feature...
Cheers
Bruno




On Thu, 28 Mar 2019 at 07:48, François  wrote:

> Here attached is the full cmake output when I did:
>
>> rm -r *
>> export CC="ccache /usr/bin/gcc"
>> export CXX="ccache /usr/bin/g++"
>> cmake -DCMAKE_INSTALL_PREFIX=../install ../trunk
>>
>
>
> Le jeu. 28 mars 2019 à 06:48, Bruno Chareyre <
> bruno.chare...@3sr-grenoble.fr> a écrit :
>
>> Tu peux ajouter la sortie de cmake a ton message? Pas dispo ce matin.
>> B
>>
>> Le jeu. 28 mars. 2019 00:58, François  a
>> écrit :
>>
>>> Thanks for your help. I'm on kubuntu 18.04 (cmake 3.10.2), and maybe our
>>> versions mismatch is at the origin of the issue (I finally found a
>>> solution, see the bottom of this message).
>>> By "installing" ccache I meant in fact "enable/use" ccache, I also
>>> installed it with "apt install ccache". Of course, I always start from an
>>> empty build dir.
>>>
>>> Now I restarted everything with a clean $PATH, reverting my changes.
>>> Using export CC and CXX doesn't work:
>>>
 export CC="ccache gcc"
 export CXX="ccache g++"
 cmake -DCMAKE_INSTALL_PREFIX=../install ../trunk
 [...]
 *ccache: error: Could not find compiler "g++" in PATH*

>>> Somebody had the same issue here:
>>> https://github.com/bazelbuild/bazel/issues/3642 so I tried
>>> unsuccessfully :
>>>
 rm -r *
 export CC="ccache /usr/bin/gcc"
 export CXX="ccache /usr/bin/g++"
 cmake -DCMAKE_INSTALL_PREFIX=../install ../trunk
 [...]
 */usr/bin/ccache: invalid option -- 'd'*

>>> I didn't found exactly why, but somewhere the "-d" option is passed
>>> directly to ccache (instead of gcc/g++ I assume), but not in your 16.04
>>> system.
>>>
>>> So I tried two methods to use $PATH instead of $CXX and $CC:
>>> - the one in ccache documentation, with symlinks :
>>> https://ccache.samba.org/manual/latest.html#_run_modes
>>> - the one we can find everywhere with export PATH="/usr/lib/ccache:$PATH"
>>> But the result is finally the same as above.
>>>
>>> *OUTCOME*:
>>> I feel a bit confused as I spent some time to make it work to finally
>>> see that cmake handles ccache since version 3.4:
>>> https://cmake.org/cmake/help/v3.6/release/3.4.html#variables
>>> Without environment variables nor symlinks, the solution basically is to
>>> run cmake with "*-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
>>> -DCMAKE_C_COMPILER_LAUNCHER=ccache*"
>>> Now ccache is activated, after a successful build I have 720.9 MB in
>>> cache, yade full build in 30s yeepee :-D
>>> This solution should also work for ubuntu 16.04 as it carries cmake 3.5,
>>> but not for ubuntu 14.04.
>>>
>>> NB: Interestingly, compiling [yade with python 3] for the first time
>>> with the full ccache of [yade with python 2.7] took about 5 mins against
>>> about 30min for a full uncached build.
>>>
>>> Cheers,
>>> François
>>>
>>>
>>>
>>>
>>> Le mer. 27 mars 2019 à 20:40, Bruno Chareyre <
>>> bruno.chare...@3sr-grenoble.fr> a écrit :
>>>
 I checked your ubuntu 12.04 page again. That's actually about hiding
 ccache behind normal gcc invocation, and I kind-of dislike the idea.
 Explicit call to «ccache g++» sounds cleaner to me and it is compatible
 with mpicxx (for ubuntu 16.04 at least).
 Better undo what you have done until now in terms of ccache hacks and
 stick to yade doc's method if you are unsure.

 «ccache -s» also reports unsupported options on my ubuntu 16.04 but a
 full rebuild takes 40sec regardless.

 Bruno

 Le mer. 27 mars. 2019 19:46, Bruno Chareyre <
 bruno.chare...@3sr-grenoble.fr> a écrit :

> Also, did you start from fresh build after exporting CXX?
> I mean:
> rm -rf ./*
> export ...
> cmake [options]
> make -jN
>
> Bruno
>
> Le mer. 27 mars. 2019 18:33, Bruno Chareyre <
> bruno.chare...@3sr-grenoble.fr> a écrit :
>
>> Hi François,
>>
>> Please remember to give your linux version.
>>
>> On Wed, 27 Mar 2019 at 17:44, François 
>> wrote:
>>
>>> export CXX=ccache g++
>>>
 bash: export: « g++ » : identifiant non valable

>>> Using
>>>
 export CXX='ccache g++'
>>>
>>> works
>>>
>>
>> Thanks for pointing that out. I forgot the " indeed, I'll fix it.
>> It would be useful to turn your bash to english for pasting errors
>> here (also much 

Re: [Yade-dev] Make ccache working

2019-03-28 Thread François
Here attached is the full cmake output when I did:

> rm -r *
> export CC="ccache /usr/bin/gcc"
> export CXX="ccache /usr/bin/g++"
> cmake -DCMAKE_INSTALL_PREFIX=../install ../trunk
>


Le jeu. 28 mars 2019 à 06:48, Bruno Chareyre 
a écrit :

> Tu peux ajouter la sortie de cmake a ton message? Pas dispo ce matin.
> B
>
> Le jeu. 28 mars. 2019 00:58, François  a écrit :
>
>> Thanks for your help. I'm on kubuntu 18.04 (cmake 3.10.2), and maybe our
>> versions mismatch is at the origin of the issue (I finally found a
>> solution, see the bottom of this message).
>> By "installing" ccache I meant in fact "enable/use" ccache, I also
>> installed it with "apt install ccache". Of course, I always start from an
>> empty build dir.
>>
>> Now I restarted everything with a clean $PATH, reverting my changes.
>> Using export CC and CXX doesn't work:
>>
>>> export CC="ccache gcc"
>>> export CXX="ccache g++"
>>> cmake -DCMAKE_INSTALL_PREFIX=../install ../trunk
>>> [...]
>>> *ccache: error: Could not find compiler "g++" in PATH*
>>>
>> Somebody had the same issue here:
>> https://github.com/bazelbuild/bazel/issues/3642 so I tried
>> unsuccessfully :
>>
>>> rm -r *
>>> export CC="ccache /usr/bin/gcc"
>>> export CXX="ccache /usr/bin/g++"
>>> cmake -DCMAKE_INSTALL_PREFIX=../install ../trunk
>>> [...]
>>> */usr/bin/ccache: invalid option -- 'd'*
>>>
>> I didn't found exactly why, but somewhere the "-d" option is passed
>> directly to ccache (instead of gcc/g++ I assume), but not in your 16.04
>> system.
>>
>> So I tried two methods to use $PATH instead of $CXX and $CC:
>> - the one in ccache documentation, with symlinks :
>> https://ccache.samba.org/manual/latest.html#_run_modes
>> - the one we can find everywhere with export PATH="/usr/lib/ccache:$PATH"
>> But the result is finally the same as above.
>>
>> *OUTCOME*:
>> I feel a bit confused as I spent some time to make it work to finally see
>> that cmake handles ccache since version 3.4:
>> https://cmake.org/cmake/help/v3.6/release/3.4.html#variables
>> Without environment variables nor symlinks, the solution basically is to
>> run cmake with "*-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
>> -DCMAKE_C_COMPILER_LAUNCHER=ccache*"
>> Now ccache is activated, after a successful build I have 720.9 MB in
>> cache, yade full build in 30s yeepee :-D
>> This solution should also work for ubuntu 16.04 as it carries cmake 3.5,
>> but not for ubuntu 14.04.
>>
>> NB: Interestingly, compiling [yade with python 3] for the first time with
>> the full ccache of [yade with python 2.7] took about 5 mins against about
>> 30min for a full uncached build.
>>
>> Cheers,
>> François
>>
>>
>>
>>
>> Le mer. 27 mars 2019 à 20:40, Bruno Chareyre <
>> bruno.chare...@3sr-grenoble.fr> a écrit :
>>
>>> I checked your ubuntu 12.04 page again. That's actually about hiding
>>> ccache behind normal gcc invocation, and I kind-of dislike the idea.
>>> Explicit call to «ccache g++» sounds cleaner to me and it is compatible
>>> with mpicxx (for ubuntu 16.04 at least).
>>> Better undo what you have done until now in terms of ccache hacks and
>>> stick to yade doc's method if you are unsure.
>>>
>>> «ccache -s» also reports unsupported options on my ubuntu 16.04 but a
>>> full rebuild takes 40sec regardless.
>>>
>>> Bruno
>>>
>>> Le mer. 27 mars. 2019 19:46, Bruno Chareyre <
>>> bruno.chare...@3sr-grenoble.fr> a écrit :
>>>
 Also, did you start from fresh build after exporting CXX?
 I mean:
 rm -rf ./*
 export ...
 cmake [options]
 make -jN

 Bruno

 Le mer. 27 mars. 2019 18:33, Bruno Chareyre <
 bruno.chare...@3sr-grenoble.fr> a écrit :

> Hi François,
>
> Please remember to give your linux version.
>
> On Wed, 27 Mar 2019 at 17:44, François 
> wrote:
>
>> export CXX=ccache g++
>>
>>> bash: export: « g++ » : identifiant non valable
>>>
>> Using
>>
>>> export CXX='ccache g++'
>>
>> works
>>
>
> Thanks for pointing that out. I forgot the " indeed, I'll fix it.
> It would be useful to turn your bash to english for pasting errors
> here (also much more efficient when searching online solutions).
>
>
>
>> but it will result in cmake fail while checking cc compiler.
>> Finally, I "installed" ccache thanks to the first answer here:
>> https://askubuntu.com/questions/470545/how-do-i-set-up-ccache and it
>> *kinda* works.
>>
>
> Arguably, using ccache is assuming that it is installed. ;)
> Not sure why you needed that ubuntu 12.04 forum, as far as I remember
> I only had to "apt-get install ccache".
>
>
>>
>>- the second one, once the install is ok and cmake uses ccache,
>>is that I only get "unsupported compiler option" when I try *ccache
>>-s* after a full yade compilation. It results in a almost-empty
>>cache:
>>
>>
> Does compilation work?
> Could you send cmake output, and some sample of