Compile error for version 1.5.1

21 views
Skip to first unread message

Guoyi Zhang

unread,
Dec 11, 2021, 12:05:25 AM12/11/21
to ExaBayes
My command is

  cd $srcdir/$pkgname-$pkgver
  ./configure --prefix=/usr
  make

For details
make --version
GNU Make 4.3

gcc --version
gcc (GCC) 11.1.0

And the error report is here

  CXX      src/apps/yggdrasil-exabayes.o
In file included from ./src/comm/LocalComm.hpp:10,
                 from ./src/comm/Communicator.hpp:5,
                 from ./src/comm/ParallelSetup.hpp:8,
                 from ./src/mcmc/SampleMaster.hpp:20,
                 from ./src/apps/exabayes.cpp:29:
./src/comm/threads/MessageQueue.hpp:56:24: 错误:模板第 1 个参数无效
   56 |   Node(std::vector<byte> msg, std::vector<int> whoReads );
      |                        ^
./src/comm/threads/MessageQueue.hpp:56:24: 错误:模板第 2 个参数无效
./src/comm/threads/MessageQueue.hpp:61:35: 错误:模板第 1 个参数无效
   61 |   std::tuple<int, std::vector<byte> > getConsumed(int threadId);
      |                                   ^
./src/comm/threads/MessageQueue.hpp:61:35: 错误:模板第 2 个参数无效
./src/comm/threads/MessageQueue.hpp:61:37: 错误:模板第 2 个参数无效
   61 |   std::tuple<int, std::vector<byte> > getConsumed(int threadId);
      |                                     ^
./src/comm/threads/MessageQueue.hpp:64:19: 错误:模板第 1 个参数无效
   64 |   std::vector<byte> _message;
      |                   ^
./src/comm/threads/MessageQueue.hpp:64:19: 错误:模板第 2 个参数无效
In file included from ./src/comm/threads/MessageQueue.hpp:71,
                 from ./src/comm/LocalComm.hpp:10,
                 from ./src/comm/Communicator.hpp:5,
                 from ./src/comm/ParallelSetup.hpp:8,
                 from ./src/mcmc/SampleMaster.hpp:20,
                 from ./src/apps/exabayes.cpp:29:
./src/comm/threads/MessageQueue.tpp: 在成员函数‘void MessageQueue::produce(std::vector<T>, const std::vector<int>&)’中:
./src/comm/threads/MessageQueue.tpp:15:33: 错误:模板第 1 个参数无效
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                 ^
./src/comm/threads/MessageQueue.tpp:15:33: 错误:模板第 2 个参数无效
./src/comm/threads/MessageQueue.tpp:15:52: 错误:对‘byte’的引用有歧义
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                    ^~~~
In file included from /usr/include/c++/11.1.0/bits/stl_algobase.h:61,
                 from /usr/include/c++/11.1.0/bits/char_traits.h:39,
                 from /usr/include/c++/11.1.0/ios:40,
                 from /usr/include/c++/11.1.0/ostream:38,
                 from /usr/include/c++/11.1.0/iostream:39,
                 from ./src/apps/exabayes.cpp:22:
/usr/include/c++/11.1.0/bits/cpp_type_traits.h:404:30: 附注:备选为: ‘enum class std::byte’
  404 |   enum class byte : unsigned char;
      |                              ^~~~
In file included from ./src/comm/LocalComm.hpp:10,
                 from ./src/comm/Communicator.hpp:5,
                 from ./src/comm/ParallelSetup.hpp:8,
                 from ./src/mcmc/SampleMaster.hpp:20,
                 from ./src/apps/exabayes.cpp:29:
./src/comm/threads/MessageQueue.hpp:24:17: 附注:         ‘typedef uint8_t byte’
   24 | typedef uint8_t byte;
      |                 ^~~~
In file included from ./src/comm/threads/MessageQueue.hpp:71,
                 from ./src/comm/LocalComm.hpp:10,
                 from ./src/comm/Communicator.hpp:5,
                 from ./src/comm/ParallelSetup.hpp:8,
                 from ./src/mcmc/SampleMaster.hpp:20,
                 from ./src/apps/exabayes.cpp:29:
./src/comm/threads/MessageQueue.tpp:15:56: 错误:expected ‘>’ before ‘*’ token
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                        ^
./src/comm/threads/MessageQueue.tpp:15:56: 错误:expected ‘(’ before ‘*’ token
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                        ^
      |                                                        (
./src/comm/threads/MessageQueue.tpp:15:57: 错误:expected primary-expression before ‘>’ token
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                         ^
./src/comm/threads/MessageQueue.tpp:15:89: 错误:对‘byte’的引用有歧义
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                                                         ^~~~
In file included from /usr/include/c++/11.1.0/bits/stl_algobase.h:61,
                 from /usr/include/c++/11.1.0/bits/char_traits.h:39,
                 from /usr/include/c++/11.1.0/ios:40,
                 from /usr/include/c++/11.1.0/ostream:38,
                 from /usr/include/c++/11.1.0/iostream:39,
                 from ./src/apps/exabayes.cpp:22:
/usr/include/c++/11.1.0/bits/cpp_type_traits.h:404:30: 附注:备选为: ‘enum class std::byte’
  404 |   enum class byte : unsigned char;
      |                              ^~~~
In file included from ./src/comm/LocalComm.hpp:10,
                 from ./src/comm/Communicator.hpp:5,
                 from ./src/comm/ParallelSetup.hpp:8,
                 from ./src/mcmc/SampleMaster.hpp:20,
                 from ./src/apps/exabayes.cpp:29:
./src/comm/threads/MessageQueue.hpp:24:17: 附注:         ‘typedef uint8_t byte’
   24 | typedef uint8_t byte;
      |                 ^~~~
In file included from ./src/comm/threads/MessageQueue.hpp:71,
                 from ./src/comm/LocalComm.hpp:10,
                 from ./src/comm/Communicator.hpp:5,
                 from ./src/comm/ParallelSetup.hpp:8,
                 from ./src/mcmc/SampleMaster.hpp:20,
                 from ./src/apps/exabayes.cpp:29:
./src/comm/threads/MessageQueue.tpp:15:93: 错误:expected ‘>’ before ‘*’ token
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                                                             ^
./src/comm/threads/MessageQueue.tpp:15:93: 错误:expected ‘(’ before ‘*’ token
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                                                             ^
      |                                                                                             (
./src/comm/threads/MessageQueue.tpp:15:94: 错误:expected primary-expression before ‘>’ token
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                                                              ^
./src/comm/threads/MessageQueue.tpp:15:121: 错误:expected ‘)’ before ‘;’ token
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                                                                                         ^
      |                                                                                                                         )
./src/comm/threads/MessageQueue.tpp: 在成员函数‘std::tuple<bool, std::vector<T, std::allocator<_CharT> > > MessageQueue::consume(int)’中:
./src/comm/threads/MessageQueue.tpp:46:39: 错误:模板第 1 个参数无效
   46 |           auto msg =  std::vector<byte>();
      |                                       ^
./src/comm/threads/MessageQueue.tpp:46:39: 错误:模板第 2 个参数无效
In file included from ./src/comm/LocalComm.hpp:11,
                 from ./src/comm/Communicator.hpp:5,
                 from ./src/comm/ParallelSetup.hpp:8,
                 from ./src/mcmc/SampleMaster.hpp:20,
                 from ./src/apps/exabayes.cpp:29:
./src/comm/threads/MessageQueueSingle.hpp: 在全局域:
./src/comm/threads/MessageQueueSingle.hpp:46:24: 错误:模板第 1 个参数无效
   46 |   Node(std::vector<byte> msg );
      |                        ^
./src/comm/threads/MessageQueueSingle.hpp:46:24: 错误:模板第 2 个参数无效
./src/comm/threads/MessageQueueSingle.hpp:50:19: 错误:模板第 1 个参数无效
   50 |   std::vector<byte> _message;
      |                   ^
./src/comm/threads/MessageQueueSingle.hpp:50:19: 错误:模板第 2 个参数无效
In file included from ./src/comm/threads/MessageQueueSingle.hpp:55,
                 from ./src/comm/LocalComm.hpp:11,
                 from ./src/comm/Communicator.hpp:5,
                 from ./src/comm/ParallelSetup.hpp:8,
                 from ./src/mcmc/SampleMaster.hpp:20,
                 from ./src/apps/exabayes.cpp:29:
./src/comm/threads/MessageQueueSingle.tpp: 在成员函数‘void MessageQueueSingle::produce(std::vector<T>)’中:
./src/comm/threads/MessageQueueSingle.tpp:15:33: 错误:模板第 1 个参数无效
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                 ^
./src/comm/threads/MessageQueueSingle.tpp:15:33: 错误:模板第 2 个参数无效
./src/comm/threads/MessageQueueSingle.tpp:15:52: 错误:对‘byte’的引用有歧义
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                    ^~~~
In file included from /usr/include/c++/11.1.0/bits/stl_algobase.h:61,
                 from /usr/include/c++/11.1.0/bits/char_traits.h:39,
                 from /usr/include/c++/11.1.0/ios:40,
                 from /usr/include/c++/11.1.0/ostream:38,
                 from /usr/include/c++/11.1.0/iostream:39,
                 from ./src/apps/exabayes.cpp:22:
/usr/include/c++/11.1.0/bits/cpp_type_traits.h:404:30: 附注:备选为: ‘enum class std::byte’
  404 |   enum class byte : unsigned char;
      |                              ^~~~
In file included from ./src/comm/LocalComm.hpp:11,
                 from ./src/comm/Communicator.hpp:5,
                 from ./src/comm/ParallelSetup.hpp:8,
                 from ./src/mcmc/SampleMaster.hpp:20,
                 from ./src/apps/exabayes.cpp:29:
./src/comm/threads/MessageQueueSingle.hpp:16:17: 附注:         ‘typedef uint8_t byte’
   16 | typedef uint8_t byte;
      |                 ^~~~
In file included from ./src/comm/threads/MessageQueueSingle.hpp:55,
                 from ./src/comm/LocalComm.hpp:11,
                 from ./src/comm/Communicator.hpp:5,
                 from ./src/comm/ParallelSetup.hpp:8,
                 from ./src/mcmc/SampleMaster.hpp:20,
                 from ./src/apps/exabayes.cpp:29:
./src/comm/threads/MessageQueueSingle.tpp:15:56: 错误:expected ‘>’ before ‘*’ token
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                        ^
./src/comm/threads/MessageQueueSingle.tpp:15:56: 错误:expected ‘(’ before ‘*’ token
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                        ^
      |                                                        (
./src/comm/threads/MessageQueueSingle.tpp:15:57: 错误:expected primary-expression before ‘>’ token
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                         ^
./src/comm/threads/MessageQueueSingle.tpp:15:89: 错误:对‘byte’的引用有歧义
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                                                         ^~~~
In file included from /usr/include/c++/11.1.0/bits/stl_algobase.h:61,
                 from /usr/include/c++/11.1.0/bits/char_traits.h:39,
                 from /usr/include/c++/11.1.0/ios:40,
                 from /usr/include/c++/11.1.0/ostream:38,
                 from /usr/include/c++/11.1.0/iostream:39,
                 from ./src/apps/exabayes.cpp:22:
/usr/include/c++/11.1.0/bits/cpp_type_traits.h:404:30: 附注:备选为: ‘enum class std::byte’
  404 |   enum class byte : unsigned char;
      |                              ^~~~
In file included from ./src/comm/LocalComm.hpp:11,
                 from ./src/comm/Communicator.hpp:5,
                 from ./src/comm/ParallelSetup.hpp:8,
                 from ./src/mcmc/SampleMaster.hpp:20,
                 from ./src/apps/exabayes.cpp:29:
./src/comm/threads/MessageQueueSingle.hpp:16:17: 附注:         ‘typedef uint8_t byte’
   16 | typedef uint8_t byte;
      |                 ^~~~
In file included from ./src/comm/threads/MessageQueueSingle.hpp:55,
                 from ./src/comm/LocalComm.hpp:11,
                 from ./src/comm/Communicator.hpp:5,
                 from ./src/comm/ParallelSetup.hpp:8,
                 from ./src/mcmc/SampleMaster.hpp:20,
                 from ./src/apps/exabayes.cpp:29:
./src/comm/threads/MessageQueueSingle.tpp:15:93: 错误:expected ‘>’ before ‘*’ token
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                                                             ^
./src/comm/threads/MessageQueueSingle.tpp:15:93: 错误:expected ‘(’ before ‘*’ token
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                                                             ^
      |                                                                                             (
./src/comm/threads/MessageQueueSingle.tpp:15:94: 错误:expected primary-expression before ‘>’ token
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                                                              ^
./src/comm/threads/MessageQueueSingle.tpp:15:121: 错误:expected ‘)’ before ‘;’ token
   15 |   auto tmpMsg = std::vector<byte>(reinterpret_cast<byte*>(msg.data()), reinterpret_cast<byte*>(msg.data() + msg.size()));
      |                                                                                                                         ^
      |                                                                                                                         )
./src/comm/threads/MessageQueueSingle.tpp: 在成员函数‘std::tuple<bool, std::vector<T, std::allocator<_CharT> > > MessageQueueSingle::consume(int)’中:
./src/comm/threads/MessageQueueSingle.tpp:37:35: 错误:模板第 1 个参数无效
   37 |       auto msg =  std::vector<byte>();
      |                                   ^
./src/comm/threads/MessageQueueSingle.tpp:37:35: 错误:模板第 2 个参数无效
在全局域:
cc1plus: 附注:unrecognized command-line option ‘-Wno-unknown-warning’ may have been intended to silence earlier diagnostics
cc1plus: 附注:unrecognized command-line option ‘-Wno-unknown-warning-option’ may have been intended to silence earlier diagnostics
make: *** [Makefile:5278:src/apps/yggdrasil-exabayes.o] 错误 1
Reply all
Reply to author
Forward
0 new messages