dascandy / evoke

Magic build tool
Apache License 2.0
168 stars 17 forks source link

`evoke_make` didn't build itself #11

Closed mattgodbolt closed 6 years ago

mattgodbolt commented 6 years ago

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.

dascandy commented 6 years ago

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.

dascandy commented 6 years ago

I've added the boost information to the local hook so now it should just work.