Problem with compiler at cmake level: /cvmfs/clicdp.cern.ch/compilers/llvm/4.0.0/x86_64-slc6/bin/clang++" is not able to compile a simple test program

Dear all,
I am trying to install allpix-squared on lxplus but I get an error concerning the compiler - please see below the complete error message.
I believe the clue is here:

– The CXX compiler identification is unknown
– Check for working CXX compiler: /cvmfs/clicdp.cern.ch/compilers/llvm/4.0.0/x86_64-slc6/bin/clang++
– Check for working CXX compiler: /cvmfs/clicdp.cern.ch/compilers/llvm/4.0.0/x86_64-slc6/bin/clang++ – broken
CMake Error at /cvmfs/clicdp.cern.ch/software/CMake/3.8.1/x86_64-slc6-llvm40-opt/share/cmake-3.8/Modules/CMakeTestCXXCompiler.cmake:44 (message):
The C++ compiler
“/cvmfs/clicdp.cern.ch/compilers/llvm/4.0.0/x86_64-slc6/bin/clang++” is not
able to compile a simple test program.

I have set-up the environment under bash (apparently it does not work with zsh) using the etc/scripts/setup_lxplus.sh after having cloned and switched to tag 1.3.1

Here are the details about the lxplus node I have tried:

[18:48 mbomben@lxplus032 build] > lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch
Distributor ID: ScientificCERNSLC
Description: Scientific Linux CERN SLC release 6.10 (Carbon)
Release: 6.10
Codename: Carbon

Am I missing something?

Many thanks in advance and kind regards,
Marco Bomben

[18:48 mbomben@lxplus032 build] > cmake …
– Git project directory is clean.
– Building Allpix^2 version v1.3.1.
– Building “RelWithDebInfo”
– Found Doxygen: /usr/bin/doxygen (found version “1.6.1”)
– Found LATEX: /usr/bin/latex
– Found LaTeX compiler.
– Found UnixCommands: /bin/bash
– I could not find the htlatex command.
– I could not find the biber command.
– Manual: adding 17 module descriptions
– Manual: adding 7 example descriptions
CMake Warning at doc/CMakeLists.txt:174 (MESSAGE):
No biber command, cannot compile user manual.

– The CXX compiler identification is unknown
– Check for working CXX compiler: /cvmfs/clicdp.cern.ch/compilers/llvm/4.0.0/x86_64-slc6/bin/clang++
– Check for working CXX compiler: /cvmfs/clicdp.cern.ch/compilers/llvm/4.0.0/x86_64-slc6/bin/clang++ – broken
CMake Error at /cvmfs/clicdp.cern.ch/software/CMake/3.8.1/x86_64-slc6-llvm40-opt/share/cmake-3.8/Modules/CMakeTestCXXCompiler.cmake:44 (message):
The C++ compiler
“/cvmfs/clicdp.cern.ch/compilers/llvm/4.0.0/x86_64-slc6/bin/clang++” is not
able to compile a simple test program.

It fails with the following output:

Change Dir: /afs/cern.ch/user/m/mbomben/work/allpix-squared/build/CMakeFiles/CMakeTmp

Run Build Command:“/usr/bin/gmake” “cmTC_05ba6/fast”

/usr/bin/gmake -f CMakeFiles/cmTC_05ba6.dir/build.make
CMakeFiles/cmTC_05ba6.dir/build

gmake[1]: Entering directory
`/afs/cern.ch/work/m/mbomben/allpix-squared/build/CMakeFiles/CMakeTmp’

CMakeFiles/cmTC_05ba6.dir/build.make:67: *** missing separator. Stop.

gmake[1]: Leaving directory
`/afs/cern.ch/work/m/mbomben/allpix-squared/build/CMakeFiles/CMakeTmp’

gmake: *** [cmTC_05ba6/fast] Error 2

CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:60 (ENABLE_LANGUAGE)

– Configuring incomplete, errors occurred!
See also “/afs/cern.ch/user/m/mbomben/work/allpix-squared/build/CMakeFiles/CMakeOutput.log”.
See also “/afs/cern.ch/user/m/mbomben/work/allpix-squared/build/CMakeFiles/CMakeError.log”.

Hi Marco,

that’s very odd indeed. I just tried to reproduce your issue and failed to do so:

2019-02-12 20:32 simonspa@lxplus016:~$ cd /tmp/
2019-02-12 20:32 simonspa@lxplus016:tmp$ git clone https://gitlab.cern.ch/allpix-squared/allpix-squared.git
Initialized empty Git repository in /tmp/allpix-squared/.git/
remote: Enumerating objects: 26727, done.
remote: Counting objects: 100% (26727/26727), done.
remote: Compressing objects: 100% (6676/6676), done.
remote: Total 26727 (delta 20523), reused 25916 (delta 19991)
Receiving objects: 100% (26727/26727), 10.34 MiB | 15.68 MiB/s, done.
Resolving deltas: 100% (20523/20523), done.
2019-02-12 20:33 simonspa@lxplus016:tmp$ cd allpix-squared/
2019-02-12 20:33 simonspa@lxplus016:allpix-squared (master)$ mkdir build
2019-02-12 20:33 simonspa@lxplus016:allpix-squared (master)$ source etc/scripts/setup_lxplus.sh 
Compiler type set to LLVM.
2019-02-12 20:33 simonspa@lxplus016:allpix-squared (master)$ cd build/
2019-02-12 20:33 simonspa@lxplus016:build (master)$ git checkout v1.3.1
HEAD is now at 76a80fd8... Bump version number
2019-02-12 20:33 simonspa@lxplus016:build ((v1.3.1))$ cmake ..
-- Git project directory is clean.
-- Building Allpix^2 version v1.3.1.
-- Building "RelWithDebInfo"
    [...]
-- The CXX compiler identification is Clang 4.0.0
-- Check for working CXX compiler: /cvmfs/clicdp.cern.ch/compilers/llvm/4.0.0/x86_64-slc6/bin/clang++
-- Check for working CXX compiler: /cvmfs/clicdp.cern.ch/compilers/llvm/4.0.0/x86_64-slc6/bin/clang++ -- works
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/allpix-squared/build

and it also compiles just fine. As you can see from the log, it uses the same compiler version. Maybe this ws a hick-up with CVMFS? Could you remove the build folder and try again?

If this doesn’t help, I will investigate tomorrow…

Best,
Simon

Hi @mbomben

did you get anywhere or are you still having the same issue?

/Simon

Hello Simon,
thanks for looking into this.

I tracked down the problem I had to something related to my shell environment: removing the .bashrc and .bash_profile files made the cmake step work.

Now I have another problem, this time at make step (if you prefer I will open another thread):

[ 15%] Building CXX object src/objects/CMakeFiles/AllpixObjects.dir/PropagatedCharge.cpp.o
clang-4.0: error: unable to execute command: No such file or directory
clang-4.0: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 4.0.0 (tags/RELEASE_400/final 302922)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /cvmfs/clicdp.cern.ch/compilers/llvm/4.0.0/x86_64-slc6/bin
clang-4.0: note: diagnostic msg: PLEASE submit a bug report to Bugzilla Main Page and include the crash backtrace, preprocessed source, and associated run script.
clang-4.0: note: diagnostic msg:


PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-4.0: note: diagnostic msg: /tmp/mbomben/PropagatedCharge-621850.cpp
clang-4.0: note: diagnostic msg: /tmp/mbomben/PropagatedCharge-621850.sh
clang-4.0: note: diagnostic msg:


make[2]: *** [src/objects/CMakeFiles/AllpixObjects.dir/PropagatedCharge.cpp.o] Error 255
make[2]: *** Waiting for unfinished jobs…
[ 16%] Building CXX object tools/tcad_dfise_converter/CMakeFiles/mesh_converter.dir/DFISEParser.cpp.o
[ 17%] Building CXX object tools/tcad_dfise_converter/CMakeFiles/mesh_converter.dir///src/core/utils/log.cpp.o
make[1]: *** [src/objects/CMakeFiles/AllpixObjects.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
[ 17%] Building CXX object tools/tcad_dfise_converter/CMakeFiles/mesh_converter.dir///src/core/utils/text.cpp.o
[ 18%] Building CXX object tools/tcad_dfise_converter/CMakeFiles/mesh_converter.dir///src/core/utils/unit.cpp.o
[ 20%] Building CXX object tools/tcad_dfise_converter/CMakeFiles/mesh_converter.dir///src/core/config/ConfigReader.cpp.o
[ 21%] Building CXX object tools/tcad_dfise_converter/CMakeFiles/mesh_converter.dir///src/core/config/Configuration.cpp.o
[ 22%] Building CXX object tools/tcad_dfise_converter/CMakeFiles/mesh_converter.dir///src/core/config/exceptions.cpp.o
[ 23%] Linking CXX executable mesh_converter
[ 23%] Built target mesh_converter
make: *** [all] Error 2

Any help will be greatly appreciated.

Regards,
Marco Bomben

Hello again,
switching to CC7 lxplus machine made the compilation work.
To summarise my findings: using lxplus I have observed the following

  1. using zsh - or at least with my zsh environment - the setup script fails at ‘readlink’ line
  2. cmake can fail depending on bash environment
  3. make fails on SLC6
  4. the example.conf example works on CC7 using bash

You can consider my issue closed.
Please let me know if you want more information.

Regards,
Marco Bomben

Hi Macro,

I will follow up on this once I’m back at CERN. My example above was on SLC6, so I could not reproduce your issues. However, sourcing different compiler versions or libraries via .bashrc can indeed lead to unexpected behavior.

I’m glad it worked for you in the end.

Cheers,
Simon