namelessvoid / qrwar

:european_castle: Pen&Paper like quad ruled war game.
MIT License
6 stars 0 forks source link

Ubuntu 18.10 rapport #109

Closed AssociationSirius closed 5 years ago

AssociationSirius commented 5 years ago

If we install the good dependencies, without doing anything else, everything works, compilation and links.

Ubuntu 18.10 take:

namelessvoid commented 5 years ago

I'm creating a Dockerfile with Ubuntu 18.10. However, during building the tests, I get following error:

In file included from /usr/include/yaml-cpp/yaml.h:17,
                 from /qrw/test/game/skirmish/mapvalidator_validate.cpp:4:
/usr/include/yaml-cpp/node/impl.h: In instantiation of 'const T YAML::as_if<T, void>::operator()() const [with T = YAML::Node]':
/usr/include/yaml-cpp/node/impl.h:139:31:   required from 'const T YAML::Node::as() const [with T = YAML::Node]'
/usr/include/yaml-cpp/node/convert.h:200:7:   required from 'static bool YAML::convert<std::vector<T> >::decode(const YAML::Node&, std::vector<T>&) [with T = YAML::Node]'
/usr/include/yaml-cpp/node/impl.h:116:27:   required from 'const T YAML::as_if<T, void>::operator()() const [with T = std::vector<YAML::Node>]'
/usr/include/yaml-cpp/node/impl.h:139:31:   required from 'const T YAML::Node::as() const [with T = std::vector<YAML::Node>]'
/qrw/test/game/skirmish/mapvalidator_validate.cpp:115:65:   required from here
/usr/include/yaml-cpp/node/impl.h:116:27: error: incomplete type 'YAML::convert<YAML::Node>' used in nested name specifier
     if (convert<T>::decode(node, t))
         ~~~~~~~~~~~~~~~~~~^~~~~~~~~
make[2]: *** [test/CMakeFiles/unittest.dir/build.make:531: test/CMakeFiles/unittest.dir/game/skirmish/mapvalidator_validate.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:244: test/CMakeFiles/unittest.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

Did you also see this error?

I see that Ubuntu contains version 0.5 of yaml-cpp whereas my Arch Linux has 0.6 currently installed. Maybe that's the reason but I did not have time to investigate further.

AssociationSirius commented 5 years ago

I'm sorry: I did not compile the test directory; I did not want to install new dependencies.

namelessvoid commented 5 years ago

As part of getting the CI pipeline back up, I've created a docker file for Ubuntu 18.10. It also includes manually built yaml-cpp in version 0.6 which fixes the error I posted above.

See commit 8e2c2b4974cdbff0e6f0ac1b925b91a0853f17f2

Thanks for your hints @AssociationSirius :+1: