首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在macOS上编译papillo包时遇到了tbb库的问题

在macOS上编译papillo包时遇到了tbb库的问题
EN

Stack Overflow用户
提问于 2021-09-27 09:39:56
回答 1查看 51关注 0票数 0

我正在尝试通过scip优化套件安装Scip。我用Cmake构建scip,Cmake部分工作得很好。当我执行make命令时,出现以下错误。

代码语言:javascript
运行
复制
Undefined symbols for architecture x86_64:
  "tbb::interface5::internal::task_base::destroy(tbb::task&)", referenced from:
      void tbb::parallel_invoke<papilo::ConstraintMatrix<double>::compress(bool)::'lambda'(), papilo::ConstraintMatrix<double>::compress(bool)::'lambda0'()>(double const&, papilo::ConstraintMatrix<double>::compress(bool)::'lambda'() const&, tbb::task_group_context&) in libpapilo-core.a(ConstraintMatrix.cpp.o)
      void tbb::parallel_invoke<papilo::ConstraintMatrix<double>::compress(bool)::'lambda1'(), papilo::ConstraintMatrix<double>::compress(bool)::'lambda2'(), papilo::ConstraintMatrix<double>::compress(bool)::'lambda3'(), papilo::ConstraintMatrix<double>::compress(bool)::'lambda4'(), papilo::ConstraintMatrix<double>::compress(bool)::'lambda5'()>(double const&, papilo::ConstraintMatrix<double>::compress(bool)::'lambda1'() const&, papilo::ConstraintMatrix<double>::compress(bool)::'lambda2'() const&, papilo::ConstraintMatrix<double>::compress(bool)::'lambda3'() const&, papilo::ConstraintMatrix<double>::compress(bool)::'lambda4'() const&, tbb::task_group_context&) in libpapilo-core.a(ConstraintMatrix.cpp.o)
      void tbb::parallel_invoke<papilo::ConstraintMatrix<double>::deleteRowsAndCols(std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<papilo::RowActivity<double>, std::__1::allocator<papilo::RowActivity<double> > >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&)::'lambda'(), papilo::ConstraintMatrix<double>::deleteRowsAndCols(std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<papilo::RowActivity<double>, std::__1::allocator<papilo::RowActivity<double> > >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&)::'lambda0'()>(double const&, papilo::ConstraintMatrix<double>::deleteRowsAndCols(std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<papilo::RowActivity<double>, std::__1::allocator<papilo::RowActivity<double> > >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&)::'lambda'() const&, tbb::task_group_context&) in libpapilo-core.a(ConstraintMatrix.cpp.o)
      void tbb::parallel_invoke<papilo::ConstraintMatrix<double>::deleteRowsAndCols(std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<papilo::RowActivity<double>, std::__1::allocator<papilo::RowActivity<double> > >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&)::'lambda1'(), papilo::ConstraintMatrix<double>::deleteRowsAndCols(std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<papilo::RowActivity<double>, std::__1::allocator<papilo::RowActivity<double> > >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&)::'lambda2'()>(double const&, papilo::ConstraintMatrix<double>::deleteRowsAndCols(std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<papilo::RowActivity<double>, std::__1::allocator<papilo::RowActivity<double> > >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&)::'lambda1'() const&, tbb::task_group_context&) in libpapilo-core.a(ConstraintMatrix.cpp.o)
      void tbb::parallel_invoke<papilo::ConstraintMatrix<double>::deleteRowsAndCols(std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<papilo::RowActivity<double>, std::__1::allocator<papilo::RowActivity<double> > >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&)::'lambda3'(), papilo::ConstraintMatrix<double>::deleteRowsAndCols(std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<papilo::RowActivity<double>, std::__1::allocator<papilo::RowActivity<double> > >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&)::'lambda4'()>(double const&, papilo::ConstraintMatrix<double>::deleteRowsAndCols(std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<papilo::RowActivity<double>, std::__1::allocator<papilo::RowActivity<double> > >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<int, std::__1::allocator<int> >&)::'lambda3'() const&, tbb::task_group_context&) in libpapilo-core.a(ConstraintMatrix.cpp.o)
      void tbb::parallel_invoke<papilo::ConstraintMatrix<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<35u>, (boost::multiprecision::expression_template_option)1> >::compress(bool)::'lambda'(), papilo::ConstraintMatrix<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<35u>, (boost::multiprecision::expression_template_option)1> >::compress(bool)::'lambda0'()>(boost::multiprecision::number<boost::multiprecision::backends::gmp_float<35u>, (boost::multiprecision::expression_template_option)1> const&, papilo::ConstraintMatrix<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<35u>, (boost::multiprecision::expression_template_option)1> >::compress(bool)::'lambda'() const&, tbb::task_group_context&) in libpapilo-core.a(ConstraintMatrix.cpp.o)
      void tbb::parallel_invoke<papilo::ConstraintMatrix<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<35u>, (boost::multiprecision::expression_template_option)1> >::compress(bool)::'lambda1'(), papilo::ConstraintMatrix<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<35u>, (boost::multiprecision::expression_template_option)1> >::compress(bool)::'lambda2'(), papilo::ConstraintMatrix<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<35u>, (boost::multiprecision::expression_template_option)1> >::compress(bool)::'lambda3'(), papilo::ConstraintMatrix<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<35u>, (boost::multiprecision::expression_template_option)1> >::compress(bool)::'lambda4'(), papilo::ConstraintMatrix<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<35u>, (boost::multiprecision::expression_template_option)1> >::compress(bool)::'lambda5'()>(boost::multiprecision::number<boost::multiprecision::backends::gmp_float<35u>, (boost::multiprecision::expression_template_option)1> const&, papilo::ConstraintMatrix<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<35u>, (boost::multiprecision::expression_template_option)1> >::compress(bool)::'lambda1'() const&, papilo::ConstraintMatrix<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<35u>, (boost::multiprecision::expression_template_option)1> >::compress(bool)::'lambda2'() const&, papilo::ConstraintMatrix<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<35u>, (boost::multiprecision::expression_template_option)1> >::compress(bool)::'lambda3'() const&, papilo::ConstraintMatrix<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<35u>, (boost::multiprecision::expression_template_option)1> >::compress(bool)::'lambda4'() const&, tbb::task_group_context&) in libpapilo-core.a(ConstraintMatrix.cpp.o)
      ...
[...]

  "typeinfo for tbb::task", referenced from:
      typeinfo for tbb::empty_task in libpapilo-core.a(ConstraintMatrix.cpp.o)
      typeinfo for tbb::internal::function_invoker<papilo::ConstraintMatrix<double>::compress(bool)::'lambda0'()> in libpapilo-core.a(ConstraintMatrix.cpp.o)
      typeinfo for tbb::internal::function_invoker<papilo::ConstraintMatrix<double>::compress(bool)::'lambda'()> in libpapilo-core.a(ConstraintMatrix.cpp.o)
      typeinfo for tbb::internal::spawner<2ul, papilo::ConstraintMatrix<double>::compress(bool)::'lambda5'(), papilo::ConstraintMatrix<double>::compress(bool)::'lambda4'(), tbb::internal::parallel_invoke_helper::parallel_invoke_noop> in libpapilo-core.a(ConstraintMatrix.cpp.o)
      typeinfo for tbb::internal::function_invoker<papilo::ConstraintMatrix<double>::compress(bool)::'lambda4'()> in libpapilo-core.a(ConstraintMatrix.cpp.o)
      typeinfo for tbb::internal::spawner<2ul, papilo::ConstraintMatrix<double>::compress(bool)::'lambda3'(), papilo::ConstraintMatrix<double>::compress(bool)::'lambda2'(), tbb::internal::parallel_invoke_helper::parallel_invoke_noop> in libpapilo-core.a(ConstraintMatrix.cpp.o)
      typeinfo for tbb::internal::function_invoker<papilo::ConstraintMatrix<double>::compress(bool)::'lambda2'()> in libpapilo-core.a(ConstraintMatrix.cpp.o)
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [bin/papilo] Error 1
make[1]: *** [binaries/CMakeFiles/papilo-executable.dir/all] Error 2
make: *** [all] Error 2

我尝试重新安装tbb或在makefile中指定tbb库的位置,但都没有真正的帮助。

有没有人遇到过类似的问题,可以帮我?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-27 10:23:57

不幸的是,PaPILO需要TBB2020,并且不能处理TBB2021 (至少对于当前版本1.x)。

因此,我建议您检查一下您安装了哪个TBB版本,并确保您安装了TBB2020。

另一方面,如果PaPILO没有找到TBB库,PaPILO会从外部的源代码构建一个静态TBB库。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69344466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档