`evoke_make` didn't build itself
mattgodbolt opened this issue · comments
Matt Godbolt commented
I ran bin/evoke_main
from the top level evoke
directory (just after building it with make). It compiled (yay!) but failed to link, as it seemingly didn't find the dependency on boost
. I'd hope it could build itself :)
$ bin/evoke_make
Unknown header: boost/filesystem.hpp
4 concurrent tasks, 1 active, 17 commands left to run
[evoke ] [ ] [ ] [ ]
Error while running command for evoke:
$ g++ -pthread -o bin/evoke obj/evoke/src/Executor.cpp.o obj/evoke/src/main.cpp.o -Llib -Wl,--start-group -ltoolsets -lproject -Wl,--end-group -lfw
/usr/bin/ld: obj/evoke/src/Executor.cpp.o: in function `Executor::RunMoreCommands()::{lambda(Task*)#1}::operator()(Task*) const':
Executor.cpp:(.text+0x377): undefined reference to `boost::filesystem::path::filename() const'
/usr/bin/ld: obj/evoke/src/Executor.cpp.o: in function `Executor::RunMoreCommands()':
...
I installed boost
using apt
, and the make
process found it ok.
Peter Bindels commented
This is a result of not knowing Boost at this point. I've commented out where it would invoke Accio to get a package, but it should be integrated with pkg-config to retrieve local build information.
Peter Bindels commented
I've added the boost information to the local hook so now it should just work.