SCIP 7.0.3在macOS上使用cmake安装TBB错误



我正试图在我的Mac机器上构建SCIP 7.0.3 opt套件,但我遇到了一些问题。

我正在使用CMake生成makeMakefile,一旦我键入make,链接步骤就失败了。我把日志附在这里

Consolidate compiler generated dependencies of target papilolib
[100%] Linking CXX shared library ../../lib/libpapilo.dylib
ld: warning: object file (../libclusol.a(lusol.f90.o)) was built for newer macOS version (11.4) than being linked (11.0)
ld: warning: object file (../libclusol.a(lusol6b.f.o)) was built for newer macOS version (11.4) than being linked (11.0)
ld: warning: object file (../libclusol.a(lusol8b.f.o)) was built for newer macOS version (11.4) than being linked (11.0)
ld: warning: object file (../libclusol.a(lusol_util.f.o)) was built for newer macOS version (11.4) than being linked (11.0)
ld: warning: object file (../libclusol.a(lusol7b.f.o)) was built for newer macOS version (11.4) than being linked (11.0)
Undefined symbols for architecture x86_64:
"tbb::interface5::internal::task_base::destroy(tbb::task&)", referenced from:
void tbb::parallel_invoke<papilo::ParallelRowDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(), papilo::ParallelRowDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'(), papilo::ParallelRowDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda1'()>(double const&, papilo::ParallelRowDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'() const&, papilo::ParallelRowDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'() const&, tbb::task_group_context&) in papilolib.cpp.o
void tbb::parallel_invoke<papilo::ParallelColDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(), papilo::ParallelColDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'(), papilo::ParallelColDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda1'()>(double const&, papilo::ParallelColDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'() const&, papilo::ParallelColDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'() const&, tbb::task_group_context&) in papilolib.cpp.o
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 papilolib.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 papilolib.cpp.o
void tbb::parallel_invoke<papilo::Problem<double>::compress(bool)::'lambda'(), papilo::Problem<double>::compress(bool)::'lambda0'(), papilo::Problem<double>::compress(bool)::'lambda1'()>(double const&, papilo::Problem<double>::compress(bool)::'lambda'() const&, papilo::Problem<double>::compress(bool)::'lambda0'() const&, tbb::task_group_context&) in papilolib.cpp.o

void tbb::interface9::internal::dynamic_grainsize_mode<tbb::interface9::internal::adaptive_mode<tbb::interface9::internal::auto_partition_type> >::work_balance<tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::ParallelColDetection<double>::computeColHashes(papilo::ConstraintMatrix<double> const&, std::__1::vector<double, std::__1::allocator<double> > const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>, tbb::blocked_range<int> >(double&, tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::ParallelColDetection<double>::computeColHashes(papilo::ConstraintMatrix<double> const&, std::__1::vector<double, std::__1::allocator<double> > const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>&) in papilolib.cpp.o
void tbb::interface9::internal::partition_type_base<tbb::interface9::internal::auto_partition_type>::execute<tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>, tbb::blocked_range<int> >(double&, tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>&) in papilolib.cpp.o
...
"tbb::internal::concurrent_vector_base_v3::internal_capacity() const", referenced from:
papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&) in papilolib.cpp.o
papilo::DominatedCols<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&) in papilolib.cpp.o
papilo::Sparsify<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&) in papilolib.cpp.o
"tbb::internal::allocate_continuation_proxy::allocate(unsigned long) const", referenced from:
void tbb::interface9::internal::partition_type_base<tbb::interface9::internal::auto_partition_type>::execute<tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::ParallelRowDetection<double>::computeRowHashes(papilo::ConstraintMatrix<double> const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>, tbb::blocked_range<int> >(double&, tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::ParallelRowDetection<double>::computeRowHashes(papilo::ConstraintMatrix<double> const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>&) in papilolib.cpp.o
void tbb::interface9::internal::dynamic_grainsize_mode<tbb::interface9::internal::adaptive_mode<tbb::interface9::internal::auto_partition_type> >::work_balance<tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::ParallelRowDetection<double>::computeRowHashes(papilo::ConstraintMatrix<double> const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>, tbb::blocked_range<int> >(double&, tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::ParallelRowDetection<double>::computeRowHashes(papilo::ConstraintMatrix<double> const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>&) in papilolib.cpp.o
void tbb::interface9::internal::partition_type_base<tbb::interface9::internal::auto_partition_type>::execute<tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::ParallelColDetection<double>::computeColHashes(papilo::ConstraintMatrix<double> const&, std::__1::vector<double, std::__1::allocator<double> > const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>, tbb::blocked_range<int> >(double&, tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::ParallelColDetection<double>::computeColHashes(papilo::ConstraintMatrix<double> const&, std::__1::vector<double, std::__1::allocator<double> > const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>&) in papilolib.cpp.o
void tbb::interface9::internal::dynamic_grainsize_mode<tbb::interface9::internal::adaptive_mode<tbb::interface9::internal::auto_partition_type> >::work_balance<tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::ParallelColDetection<double>::computeColHashes(papilo::ConstraintMatrix<double> const&, std::__1::vector<double, std::__1::allocator<double> > const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>, tbb::blocked_range<int> >(double&, tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::ParallelColDetection<double>::computeColHashes(papilo::ConstraintMatrix<double> const&, std::__1::vector<double, std::__1::allocator<double> > const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>&) in papilolib.cpp.o
void tbb::interface9::internal::partition_type_base<tbb::interface9::internal::auto_partition_type>::execute<tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>, tbb::blocked_range<int> >(double&, tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>&) in papilolib.cpp.o
void tbb::interface9::internal::dynamic_grainsize_mode<tbb::interface9::internal::adaptive_mode<tbb::interface9::internal::auto_partition_type> >::work_balance<tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>, tbb::blocked_range<int> >(double&, tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>&) in papilolib.cpp.o
void tbb::interface9::internal::partition_type_base<tbb::interface9::internal::auto_partition_type>::execute<tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>, tbb::blocked_range<int> >(double&, tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>&) in papilolib.cpp.o
...
"tbb::internal::allocate_root_with_context_proxy::free(tbb::task&) const", referenced from:
tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::ParallelRowDetection<double>::computeRowHashes(papilo::ConstraintMatrix<double> const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>::run(tbb::blocked_range<int> const&, papilo::ParallelRowDetection<double>::computeRowHashes(papilo::ConstraintMatrix<double> const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&) const&, tbb::auto_partitioner const&) in papilolib.cpp.o
tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::ParallelColDetection<double>::computeColHashes(papilo::ConstraintMatrix<double> const&, std::__1::vector<double, std::__1::allocator<double> > const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>::run(tbb::blocked_range<int> const&, papilo::ParallelColDetection<double>::computeColHashes(papilo::ConstraintMatrix<double> const&, std::__1::vector<double, std::__1::allocator<double> > const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&) const&, tbb::auto_partitioner const&) in papilolib.cpp.o
tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>::run(tbb::blocked_range<int> const&, papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(tbb::blocked_range<int> const&) const&, tbb::auto_partitioner const&) in papilolib.cpp.o
tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>::run(tbb::blocked_range<int> const&, papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'(tbb::blocked_range<int> const&) const&, tbb::auto_partitioner const&) in papilolib.cpp.o
tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::DominatedCols<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>::run(tbb::blocked_range<int> const&, papilo::DominatedCols<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(tbb::blocked_range<int> const&) const&, tbb::auto_partitioner const&) in papilolib.cpp.o
tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::DominatedCols<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>::run(tbb::blocked_range<int> const&, papilo::DominatedCols<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'(tbb::blocked_range<int> const&) const&, tbb::auto_partitioner const&) in papilolib.cpp.o
tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::Sparsify<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>::run(tbb::blocked_range<int> const&, papilo::Sparsify<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(tbb::blocked_range<int> const&) const&, tbb::auto_partitioner const&) in papilolib.cpp.o
...
"tbb::internal::allocate_root_with_context_proxy::allocate(unsigned long) const", referenced from:
void tbb::parallel_invoke<papilo::ParallelRowDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(), papilo::ParallelRowDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'(), papilo::ParallelRowDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda1'()>(double const&, papilo::ParallelRowDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'() const&, papilo::ParallelRowDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'() const&, tbb::task_group_context&) in papilolib.cpp.o
tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::ParallelRowDetection<double>::computeRowHashes(papilo::ConstraintMatrix<double> const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>::run(tbb::blocked_range<int> const&, papilo::ParallelRowDetection<double>::computeRowHashes(papilo::ConstraintMatrix<double> const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&) const&, tbb::auto_partitioner const&) in papilolib.cpp.o
void tbb::parallel_invoke<papilo::ParallelColDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(), papilo::ParallelColDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'(), papilo::ParallelColDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda1'()>(double const&, papilo::ParallelColDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'() const&, papilo::ParallelColDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'() const&, tbb::task_group_context&) in papilolib.cpp.o
tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::ParallelColDetection<double>::computeColHashes(papilo::ConstraintMatrix<double> const&, std::__1::vector<double, std::__1::allocator<double> > const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>::run(tbb::blocked_range<int> const&, papilo::ParallelColDetection<double>::computeColHashes(papilo::ConstraintMatrix<double> const&, std::__1::vector<double, std::__1::allocator<double> > const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&) const&, tbb::auto_partitioner const&) in papilolib.cpp.o
tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>::run(tbb::blocked_range<int> const&, papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(tbb::blocked_range<int> const&) const&, tbb::auto_partitioner const&) in papilolib.cpp.o
tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>::run(tbb::blocked_range<int> const&, papilo::Probing<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'(tbb::blocked_range<int> const&) const&, tbb::auto_partitioner const&) in papilolib.cpp.o
tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::DominatedCols<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const>::run(tbb::blocked_range<int> const&, papilo::DominatedCols<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'(tbb::blocked_range<int> const&) const&, tbb::auto_partitioner const&) in papilolib.cpp.o
...
"typeinfo for tbb::task", referenced from:
typeinfo for tbb::empty_task in papilolib.cpp.o
typeinfo for tbb::internal::function_invoker<papilo::ParallelRowDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda1'()> in papilolib.cpp.o
typeinfo for tbb::internal::function_invoker<papilo::ParallelRowDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda0'()> in papilolib.cpp.o
typeinfo for tbb::interface9::internal::start_for<tbb::blocked_range<int>, papilo::ParallelRowDetection<double>::computeRowHashes(papilo::ConstraintMatrix<double> const&, unsigned int*)::'lambda'(tbb::blocked_range<int> const&), tbb::auto_partitioner const> in papilolib.cpp.o
typeinfo for tbb::interface9::internal::flag_task in papilolib.cpp.o
typeinfo for tbb::internal::function_invoker<papilo::ParallelRowDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda'()> in papilolib.cpp.o
typeinfo for tbb::internal::function_invoker<papilo::ParallelColDetection<double>::execute(papilo::Problem<double> const&, papilo::ProblemUpdate<double> const&, papilo::Num<double> const&, papilo::Reductions<double>&)::'lambda1'()> in papilolib.cpp.o
...
"__gfortran_generate_error", referenced from:
___lusol_MOD_lu1rec in libclusol.a(lusol.f90.o)
___lusol_MOD_lu6chk.constprop.0 in libclusol.a(lusol.f90.o)
___lusol_MOD_lu8rpc in libclusol.a(lusol.f90.o)
___lusol_MOD_lu1fac in libclusol.a(lusol.f90.o)
"__gfortran_st_write", referenced from:
___lusol_MOD_lu1rec in libclusol.a(lusol.f90.o)
___lusol_MOD_lu6chk.constprop.0 in libclusol.a(lusol.f90.o)
___lusol_MOD_lu8rpc in libclusol.a(lusol.f90.o)
___lusol_MOD_lu1fac in libclusol.a(lusol.f90.o)
_lu6prt_ in libclusol.a(lusol6b.f.o)
_lu8mod_ in libclusol.a(lusol8b.f.o)
_lu8adc_ in libclusol.a(lusol8b.f.o)
...
"__gfortran_st_write_done", referenced from:
___lusol_MOD_lu1rec in libclusol.a(lusol.f90.o)
___lusol_MOD_lu6chk.constprop.0 in libclusol.a(lusol.f90.o)
___lusol_MOD_lu8rpc in libclusol.a(lusol.f90.o)
___lusol_MOD_lu1fac in libclusol.a(lusol.f90.o)
_lu6prt_ in libclusol.a(lusol6b.f.o)
_lu8mod_ in libclusol.a(lusol8b.f.o)
_lu8adc_ in libclusol.a(lusol8b.f.o)
...
"__gfortran_stop_string", referenced from:
___lusol_MOD_lu8rpc in libclusol.a(lusol.f90.o)
"__gfortran_transfer_array_write", referenced from:
_lu6prt_ in libclusol.a(lusol6b.f.o)
"__gfortran_transfer_character_write", referenced from:
___lusol_MOD_lu6chk.constprop.0 in libclusol.a(lusol.f90.o)
___lusol_MOD_lu8rpc in libclusol.a(lusol.f90.o)
___lusol_MOD_lu1fac in libclusol.a(lusol.f90.o)
_lu7rnk_ in libclusol.a(lusol_util.f.o)
_lu6chk_ in libclusol.a(lusol_util.f.o)
_lu1fad_ in libclusol.a(lusol_util.f.o)
_lu1fac_ in libclusol.a(lusol_util.f.o)
...
"__gfortran_transfer_integer_write", referenced from:
___lusol_MOD_lu1rec in libclusol.a(lusol.f90.o)
___lusol_MOD_lu6chk.constprop.0 in libclusol.a(lusol.f90.o)
___lusol_MOD_lu8rpc in libclusol.a(lusol.f90.o)
___lusol_MOD_lu1fac in libclusol.a(lusol.f90.o)
_lu6prt_ in libclusol.a(lusol6b.f.o)
_lu8mod_ in libclusol.a(lusol8b.f.o)
_lu8adc_ in libclusol.a(lusol8b.f.o)
...
"__gfortran_transfer_logical_write", referenced from:
___lusol_MOD_lu1rec in libclusol.a(lusol.f90.o)
_lu1rec_ in libclusol.a(lusol_util.f.o)
"__gfortran_transfer_real_write", referenced from:
___lusol_MOD_lu8rpc in libclusol.a(lusol.f90.o)
___lusol_MOD_lu1fac in libclusol.a(lusol.f90.o)
_lu6prt_ in libclusol.a(lusol6b.f.o)
_lu8adc_ in libclusol.a(lusol8b.f.o)
_lu8adr_ in libclusol.a(lusol8b.f.o)
_lu1fad_ in libclusol.a(lusol_util.f.o)
_lu1fac_ in libclusol.a(lusol_util.f.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]: *** [lib/libpapilo.dylib] Error 1
make[1]: *** [papilo/binaries/CMakeFiles/papilolib.dir/all] Error 2
make: *** [all] Error 2

我使用命令brew install tbb在Mac上安装了TBB

上面的日志必须在中间修剪,因为我无法粘贴完整的日志。

对于完整日志https://pastebin.com/p7YL4161

编辑:我使用的是macOS最新版本和我的cmake -DCMAKE_BUILD_TYPE=Release -DIPOPT=off ..

-- Build type: Release
SoPlex with Boost CPP multiprecision libraries.
-- Could NOT find Quadmath (missing: Quadmath_LIBRARY Quadmath_INCLUDE_DIR) 
-- Found Boost: /usr/local/lib/cmake/Boost-1.76.0/BoostConfig.cmake (found suitable version "1.76.0", minimum required is "1.58.0") found components: program_options 
-- Found Boost: /usr/local/lib/cmake/Boost-1.76.0/BoostConfig.cmake (found version "1.76.0")  
-- Could NOT find Quadmath (missing: Quadmath_LIBRARY Quadmath_INCLUDE_DIR) 
-- Git hash: e567fef
-- Build shared libraries: ON
-- Build type: Release
-- Finding ZLIB
-- Finding ZLIB - found
-- Finding Readline
-- Finding Readline - found
-- Finding GMP
-- Finding GMP - found
-- Finding PAPILO
-- Finding PAPILO - found
-- Finding Solver "spx"
-- Finding Soplex
-- Finding SOPLEX - found
-- Support CLP: OFF
-- Support CPLEX: OFF
-- Support GLOP: OFF
-- Support GUROBI: OFF
-- Support XPRESS: OFF
-- Support MOSEK: OFF
-- Support QSO: OFF
-- Finding symmetry computation program "bliss"
-- Finding BLISS
-- Could NOT find BLISS (missing: BLISS_INCLUDE_DIR BLISS_INCLUDE_DIRS BLISS_LIBRARIES BLISS_DEFINITIONS) 
-- Finding BLISS - not found
-- CodeCoverage: OFF
-- Finding ZIMPL
-- Finding ZIMPL - found
-- Support IPOPT: OFF
-- Support WORHP: OFF
-- Looking for FE_DOWNWARD
-- Looking for FE_DOWNWARD - found
-- Finding CRITERION
-- Could NOT find CRITERION (missing: CRITERION_LIBRARY CRITERION_INCLUDE_DIR) 
-- Finding CRITERION - not found
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Could NOT find CRITERION (missing: CRITERION_LIBRARY CRITERION_INCLUDE_DIR) 
-- Support AMPL: OFF
-- Build shared libraries: ON
-- Build type: Release
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2") 
-- Found GSL: /usr/local/Cellar/gsl/2.6/include (found suitable version "2.6", minimum required is "2.0") 
-- Could NOT find CLIQUER (missing: CLIQUER_INCLUDE_DIRS CLIQUER_LIBRARIES) 
-- Could NOT find BLISS (missing: BLISS_INCLUDE_DIR BLISS_INCLUDE_DIRS BLISS_LIBRARIES BLISS_DEFINITIONS) 
-- Found Boost: /usr/local/lib/cmake/Boost-1.76.0/BoostConfig.cmake (found version "1.76.0") found components: iostreams serialization program_options 
-- Performing Test PAPILO_USE_BOOST_IOSTREAMS_WITH_ZLIB
-- Performing Test PAPILO_USE_BOOST_IOSTREAMS_WITH_ZLIB - Success
-- Performing Test PAPILO_USE_BOOST_IOSTREAMS_WITH_BZIP2
-- Performing Test PAPILO_USE_BOOST_IOSTREAMS_WITH_BZIP2 - Success
-- Linking solvers: SCIP;SoPlex
-- The following OPTIONAL packages have been found:
* Threads
* BLAS
* PkgConfig
* GSL (required version >= 2.0)
-- The following REQUIRED packages have been found:
* BISON
* FLEX
* TBB
* Readline
* PAPILO
* ZIMPL
* ZLIB
* GMP
* SCIP
* SOPLEX
* boost_headers (required version == 1.76.0)
* Boost
-- The following OPTIONAL packages have not been found:
* Quadmath
* CRITERION
* CLIQUER
* HMETIS
* BLISS
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/username/Downloads/scipoptsuite-7.0.3/build

编译失败,因为tbb-lib中缺少一个内部函数。

TBB从TBB->oneTBB基于oneapi。我们目前不支持oneTBB,但正在努力。

https://formulae.brew.sh/formula/tbbTbb链接到一个Tbb,因此您需要安装tbb@2020(https://formulae.brew.sh/formula/tbb@2020(。

也许您需要在此之前删除或取消链接tbb以运行构建。由于缓存问题,请记住在尝试重新编译之前删除生成目录。

请你试一下,然后报告它是否有效。

Philipp

最新更新