Teemperor / clang-modules-bugs

2 stars 0 forks source link

Cache path is different #5

Open Teemperor opened 7 years ago

Teemperor commented 7 years ago

It seems in ROOT's CMake we sometimes resolve symlinks when passing the cache path. On the build nodes we have /mnt/build/... and /build -> /mnt/build/... and sometimes we pass cache-path with one path and one time with the other which breaks sanity checks with the PCH (?) as they should have the same path.

Teemperor commented 7 years ago

Output:

[ 29%] Building CXX object io/rootpcm/CMakeFiles/RootPcmObjs.dir/src/rootclingIO.cxx.o
cd /build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/io/rootpcm && /cvmfs/sft.cern.ch/lcg/contrib/llvm/latest/x86_64-slc6-gcc62-opt/bin/clang++    -I/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include -I/cvmfs/sft.cern.ch/lcg/views/LCG_rootext20170508/x86_64-slc6-gcc62-opt/include -I/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/externals/mnt/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/install/include  --gcc-toolchain=/cvmfs/sft.cern.ch/lcg/contrib/gcc/6.2/x86_64-slc6 -msse4.2 -Wc++11-narrowing -Wsign-compare -Wsometimes-uninitialized -Wconditional-uninitialized -Wheader-guard -Warray-bounds -Wcomment -Wtautological-compare -Wstrncat-size -Wloop-analysis -Wbool-conversion -pipe -m64  -Wshadow -Wall -W -Woverloaded-virtual -fsigned-char -fPIC -pthread -std=c++11  -fmodules -fmodules-cache-path=/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include/pcms/ -fno-autolink -fdiagnostics-show-note-include-stack -Wno-module-import-in-extern-c -ivfsoverlay /build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include/modulemap.overlay.yaml -Xclang -fmodules-local-submodule-visibility -O2 -DNDEBUG -fPIC   -o CMakeFiles/RootPcmObjs.dir/src/rootclingIO.cxx.o -c /build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/root/io/rootpcm/src/rootclingIO.cxx
error: PCH was compiled with module cache path '/mnt/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include/pcms/1X5ADB44S42Y1', but
      the path is currently '/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include/pcms/1X5ADB44S42Y1'
While building module 'Core' imported from /build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include/TDictionary.h:44:
While building module 'ROOT_Core_Config_C' imported from /build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include/TObject.h:17:
In file included from <module-includes>:1:
/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include/Rtypes.h:23:10: fatal error: could not build module 'ROOT_Types'
#include "RtypesCore.h"
 ~~~~~~~~^~~~~~~~~~~~~~
While building module 'Core' imported from /build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include/TDictionary.h:44:
In file included from <module-includes>:1:
In file included from /build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include/TApplication.h:28:
/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include/TObject.h:17:10: fatal error: could not build module 'ROOT_Core_Config_C'
#include "Rtypes.h"
 ~~~~~~~~^~~~~~~~~~
error: PCH was compiled with module cache path '/mnt/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include/pcms/1X5ADB44S42Y1', but
      the path is currently '/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include/pcms/1X5ADB44S42Y1'
While building module 'Core' imported from /build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include/TDictionary.h:44:
While building module 'stl' imported from /build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include/TObject.h:22:
In file included from <module-includes>:1:
In file included from /cvmfs/sft.cern.ch/lcg/contrib/gcc/6.2/x86_64-slc6/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../include/c++/6.2.0/algorithm:62:
In file included from /cvmfs/sft.cern.ch/lcg/contrib/gcc/6.2/x86_64-slc6/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../include/c++/6.2.0/bits/stl_algo.h:59:
In file included from /cvmfs/sft.cern.ch/lcg/contrib/gcc/6.2/x86_64-slc6/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../include/c++/6.2.0/cstdlib:75:
/usr/include/stdlib.h:237:1: error: expected '}'
^
/usr/include/stdlib.h:35:1: note: to match this '{'
__BEGIN_DECLS
^
While building module 'Core' imported from /build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include/TDictionary.h:44:
While building module 'stl' imported from /build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/build/include/TObject.h:22:
In file included from <module-includes>:1:
In file included from /cvmfs/sft.cern.ch/lcg/contrib/gcc/6.2/x86_64-slc6/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../include/c++/6.2.0/algorithm:60:
In file included from /cvmfs/sft.cern.ch/lcg/contrib/gcc/6.2/x86_64-slc6/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../include/c++/6.2.0/utility:68:
In file included from /cvmfs/sft.cern.ch/lcg/contrib/gcc/6.2/x86_64-slc6/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../include/c++/6.2.0/x86_64-pc-linux-gnu/bits/c++config.h:495:
In file included from /cvmfs/sft.cern.ch/lcg/contrib/gcc/6.2/x86_64-slc6/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../include/c++/6.2.0/x86_64-pc-linux-gnu/bits/os_defines.h:39:
In file included from /usr/include/features.h:361:
/usr/include/sys/cdefs.h:90:35: note: expanded from macro '__BEGIN_DECLS'
# define __BEGIN_DECLS  extern "C" {
                                   ^
In file included from /build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/root/io/rootpcm/src/rootclingIO.cxx:15:
In file included from /build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Release/COMPILER/clang_gcc62/LABEL/slc6/b