Loki-Astari / ThorsMongo

C++ MongoDB API and BSON/JSON Serialization library
GNU General Public License v3.0
316 stars 71 forks source link

Make under Homebrew results in template error #66

Closed vanschroeder closed 4 years ago

vanschroeder commented 4 years ago

Describe the bug

Make fails under Homebrew Install with template error

Output from brew install:

==> ./configure --disable-binary --disable-vera --prefix=/home/linuxbrew/.linuxbrew/Cellar/thors-serializer/1.15.1
==> make
Last 15 lines from /home/exp00/.cache/Homebrew/Logs/thors-serializer/02.make:
  232 |             void setstateMembers(iostate extraState, std::index_sequence<I...>);
      |                  ^~~~~~~~~~~~~~~
file.cpp:48:15: error: template-id ‘setstateMembers<0, 1>’ for ‘void ThorsAnvil::FileSystem::ColumnFormat::FileMembers<std::basic_ofstream<char>, TwoPeople>::setstateMembers(unsigned int, std::index_sequence<0, 1>)’ does not match any template declaration
   48 | template void FileMembers<std::ofstream, TwoPeople>::setstateMembers<0, 1>(unsigned int, std::index_sequence<0, 1>);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from file.cpp:2:
file.h:232:18: note: candidate is: ‘template<long unsigned int ...I> void ThorsAnvil::FileSystem::ColumnFormat::FileMembers<S, T>::setstateMembers(ThorsAnvil::FileSystem::iostate, std::index_sequence<I ...>) [with long unsigned int ...I = {I ...}; S = std::basic_ofstream<char>; T = TwoPeople]’
  232 |             void setstateMembers(iostate extraState, std::index_sequence<I...>);
      |                  ^~~~~~~~~~~~~~~
make[5]: *** [/tmp/thors-serializer-20200812-42470-dqfeen/third/ThorsStorage/build/tools/Makefile:799: coverage/file.o] Error 1
make[4]: *** [/tmp/thors-serializer-20200812-42470-dqfeen/third/ThorsStorage/build/tools/Makefile:437: build_unit_test] Error 2
make[3]: *** [/tmp/thors-serializer-20200812-42470-dqfeen/third/ThorsStorage/build/tools/Project.Makefile:48: ThorsStorage.dir] Error 2
make[2]: *** [/tmp/thors-serializer-20200812-42470-dqfeen/third/ThorsStorage/build/tools/Project.Makefile:48: src.dir] Error 2
make[1]: *** [/tmp/thors-serializer-20200812-42470-dqfeen/build/tools/Project.Makefile:48: ThorsStorage.dir] Error 2
make: *** [/tmp/thors-serializer-20200812-42470-dqfeen/build/tools/Project.Makefile:48: src.dir] Error 2

A description of how to build and run the code

brew update && brew install thors-serializer

Expected behavior

Expect to build binaries and install lib

Environment:

Linux Mint 20

g++ --version g++ (Ubuntu 9.3.0-10ubuntu2) 9.3.0

g++ -x c++ -E -dM -< /dev/null | grep __cplusplus

define __cplusplus 201402L

Loki-Astari commented 4 years ago

Should be fixed now.