jckarter / clay

The Clay programming language
http://claylabs.com/clay
Other
403 stars 34 forks source link

Linux build broken by pch #147

Closed ghost closed 12 years ago

ghost commented 12 years ago

Rebuilding latest results in the following error:

$ make
[  3%] Generating clay.hpp.gch
Scanning dependencies of target clay
[  7%] Building CXX object compiler/src/CMakeFiles/clay.dir/analyzer.cpp.o
cc1plus: error: one or more PCH files were found, but they were invalid
cc1plus: error: use -Winvalid-pch for more information
cc1plus: fatal error: /home/jeremy/Dev/clay/projects/clay/build/compiler/src/clay.hpp: No such file or directory
compilation terminated.
make[2]: *** [compiler/src/CMakeFiles/clay.dir/analyzer.cpp.o] Error 1
make[1]: *** [compiler/src/CMakeFiles/clay.dir/all] Error 2
make: *** [all] Error 2
jckarter commented 12 years ago

Does deleting the generated clay.hpp.gch file help?

ghost commented 12 years ago

No, generating from a clean build dir gives the error above.

jckarter commented 12 years ago

Lame. If you don't mind, could you paste the output from make VERBOSE=1? In the meantime I'll add an option for enabling pch until we can figure out the problem.

ghost commented 12 years ago
$ make VERBOSE=1
/usr/bin/cmake -H/home/jeremy/Dev/clay/projects/clay -B/home/jeremy/Dev/clay/projects/clay/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/jeremy/Dev/clay/projects/clay/build/CMakeFiles /home/jeremy/Dev/clay/projects/clay/build/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/home/jeremy/Dev/clay/projects/clay/build'
make -f compiler/src/CMakeFiles/clay.dir/build.make compiler/src/CMakeFiles/clay.dir/depend
make[2]: Entering directory `/home/jeremy/Dev/clay/projects/clay/build'
/usr/bin/cmake -E cmake_progress_report /home/jeremy/Dev/clay/projects/clay/build/CMakeFiles 24
[  3%] Generating clay.hpp.gch
cd /home/jeremy/Dev/clay/projects/clay/build/compiler/src && /usr/lib/colorgcc/bin/c++ -x c++-header /home/jeremy/Dev/clay/projects/clay/compiler/src/clay.hpp -I/usr/include -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -O3 -fomit-frame-pointer -fno-exceptions -fno-rtti -fPIC -Woverloaded-virtual -Wcast-qual -fno-rtti -o clay.hpp.gch
cd /home/jeremy/Dev/clay/projects/clay/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/jeremy/Dev/clay/projects/clay /home/jeremy/Dev/clay/projects/clay/compiler/src /home/jeremy/Dev/clay/projects/clay/build /home/jeremy/Dev/clay/projects/clay/build/compiler/src /home/jeremy/Dev/clay/projects/clay/build/compiler/src/CMakeFiles/clay.dir/DependInfo.cmake --color=
Dependee "/home/jeremy/Dev/clay/projects/clay/build/compiler/src/CMakeFiles/clay.dir/DependInfo.cmake" is newer than depender "/home/jeremy/Dev/clay/projects/clay/build/compiler/src/CMakeFiles/clay.dir/depend.internal".
Dependee "/home/jeremy/Dev/clay/projects/clay/build/compiler/src/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/jeremy/Dev/clay/projects/clay/build/compiler/src/CMakeFiles/clay.dir/depend.internal".
Scanning dependencies of target clay
make[2]: Leaving directory `/home/jeremy/Dev/clay/projects/clay/build'
make -f compiler/src/CMakeFiles/clay.dir/build.make compiler/src/CMakeFiles/clay.dir/build
make[2]: Entering directory `/home/jeremy/Dev/clay/projects/clay/build'
/usr/bin/cmake -E cmake_progress_report /home/jeremy/Dev/clay/projects/clay/build/CMakeFiles 1
[  7%] Building CXX object compiler/src/CMakeFiles/clay.dir/analyzer.cpp.o
cd /home/jeremy/Dev/clay/projects/clay/build/compiler/src && /usr/lib/colorgcc/bin/c++     -I/usr/include  -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -O3 -fomit-frame-pointer -fno-exceptions -fno-rtti -fPIC -Woverloaded-virtual -Wcast-qual -fno-rtti -DNDEBUG -include /home/jeremy/Dev/clay/projects/clay/build/compiler/src/clay.hpp -o CMakeFiles/clay.dir/analyzer.cpp.o -c /home/jeremy/Dev/clay/projects/clay/compiler/src/analyzer.cpp
cc1plus: error: one or more PCH files were found, but they were invalid
cc1plus: error: use -Winvalid-pch for more information
cc1plus: fatal error: /home/jeremy/Dev/clay/projects/clay/build/compiler/src/clay.hpp: No such file or directory
compilation terminated.
make[2]: *** [compiler/src/CMakeFiles/clay.dir/analyzer.cpp.o] Error 1
make[2]: Leaving directory `/home/jeremy/Dev/clay/projects/clay/build'
make[1]: *** [compiler/src/CMakeFiles/clay.dir/all] Error 2
make[1]: Leaving directory `/home/jeremy/Dev/clay/projects/clay/build'
make: *** [all] Error 2
jckarter commented 12 years ago

Thanks. I pushed a patch that disables PCH by default.

jckarter commented 12 years ago

I noticed that the cxxflags for the pch were different from the .cpp files. Does ENABLE_PCH work for you after 22b4a00ca15f7562f6a1cad957bf2ff3c82752bd ?

ghost commented 12 years ago

make ENABLE_PCH=1 ?

jckarter commented 12 years ago

cmake -DENABLE_PCH=1 .

ghost commented 12 years ago

OK, this works!

jckarter commented 12 years ago

Good to hear. I'll close this then.