cmake -DCMAKE_EXPORT_COMPILE_COMMANDS exception - cmake

cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
-- Configuring done
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::replace: __pos (which is 18446744073709551615) > this->size() (which is 130)
Aborted (core dumped)
cmake ..
works fine, until I enter cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ... after this command I have the same output for next cmake .. inputs
gdb backtrace:
(gdb) bt
#0 0x00007ffff694b428 in __GI_raise (sig=sig#entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1 0x00007ffff694d02a in __GI_abort () at abort.c:89
#2 0x00007ffff6f8584d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff6f836b6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff6f83701 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff6f83919 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007ffff6fac3f7 in std::__throw_out_of_range_fmt(char const*, ...) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7 0x00007ffff7016247 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::replace(unsigned long, unsigned long, char const*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#8 0x00000000006fd555 in cmMakefileTargetGenerator::WriteObjectBuildFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cmSourceFile const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) ()
#9 0x00000000006ff57d in cmMakefileTargetGenerator::WriteObjectRuleFiles(cmSourceFile const&) ()
#10 0x00000000006ffe2f in cmMakefileTargetGenerator::WriteTargetBuildRules() ()
#11 0x000000000070b271 in cmMakefileLibraryTargetGenerator::WriteRuleFiles() ()
#12 0x00000000006f3d26 in cmLocalUnixMakefileGenerator3::Generate() ()
#13 0x00000000006c19bb in cmGlobalGenerator::Generate() ()
#14 0x00000000006cf853 in cmGlobalUnixMakefileGenerator3::Generate() ()
#15 0x0000000000561297 in cmake::Generate() ()
#16 0x0000000000561763 in cmake::Run(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool) ()
#17 0x00000000004bdf94 in do_cmake(int, char const* const*) ()
#18 0x00000000004b98e6 in main ()
Tested on three Ubuntu distro.
cmake versions: 3.10.0 and 3.5.1
What is the possible issue? Can`t find anything similar in Google at all

Fixed in CMake 3.19.1
https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5521
issue: https://gitlab.kitware.com/cmake/cmake/-/issues/21471

Related

tcmalloc in gperftools crash the programm

Connecting conan-package gperftools sometimes causes this core dump.
tcmalloc dynamically linked to gperftools and gperftools dynamically linked to project.
Seems like problem with allocation. Does anyone know why it happens?
#0 0x00007f8f087ec532 in abort () from fakeroot/lib/x86_64-linux-gnu/libc.so.6
#1 0x00007f8f05ece6dc in tcmalloc::Log(tcmalloc::LogMode, char const*, int, tcmalloc::LogItem, tcmalloc::LogItem, tcmalloc::LogItem, tcmalloc::LogItem) ()
from fakeroot/usr/lib/conan/libtcmalloc.so.4
#2 0x00007f8f05ec20c1 in (anonymous namespace)::InvalidFree(void*) () from fakeroot/usr/lib/conan/libtcmalloc.so.4
#3 0x00007f8f02a3b93a in j2pb::Serializer::json2field(google::protobuf::Message&, google::protobuf::FieldDescriptor const*, json_t*, j2pb::Options const&) const ()
from fakeroot/usr/lib/conan/libjson2pb.so.1
#4 0x00007f8f02a3c4a8 in j2pb::Serializer::jsonArrayOrField2field(google::protobuf::Message&, google::protobuf::FieldDescriptor const*, json_t*, j2pb::Options const&) const ()
from fakeroot/usr/lib/conan/libjson2pb.so.1
#5 0x00007f8f02a3c6ef in j2pb::Serializer::json2pb(google::protobuf::Message&, json_t*, j2pb::Options const&) const () from fakeroot/usr/lib/conan/libjson2pb.so.1
#6 0x00007f8f02a3b8ba in j2pb::Serializer::json2field(google::protobuf::Message&, google::protobuf::FieldDescriptor const*, json_t*, j2pb::Options const&) const ()
from fakeroot/usr/lib/conan/libjson2pb.so.1
#7 0x00007f8f02a3c4a8 in j2pb::Serializer::jsonArrayOrField2field(google::protobuf::Message&, google::protobuf::FieldDescriptor const*, json_t*, j2pb::Options const&) const ()
from fakeroot/usr/lib/conan/libjson2pb.so.1
#8 0x00007f8f02a3c6ef in j2pb::Serializer::json2pb(google::protobuf::Message&, json_t*, j2pb::Options const&) const () from fakeroot/usr/lib/conan/libjson2pb.so.1
#9 0x00007f8f02a3cba0 in j2pb::Serializer::toProtobuf(char const*, unsigned long, google::protobuf::Message&, j2pb::Options const&) () from fakeroot/usr/lib/conan/libjson2pb.so.1
#10 0x00007f8f0630329c in utils::toProtobuf (serializer=...,
The problem appears only after linking gperftools library even if i don't use profiling functions.

SCIP 7.0.3 installing using cmake on macOS TBB error

I am trying to build the SCIP 7.0.3 opt suite on my Mac machine and I facing some issues.
I am using CMake to generate the make Makefile and once I type make, I am failing at the linking step. I am attaching the log here
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
I installed TBB on my Mac using the command brew install tbb
The above log has to be trimmed in the middle as I am unable to paste the full log.
For full log https://pastebin.com/p7YL4161
edit: I am using macOS latest version and my 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
the compile fails because there is a internal function missing in your tbb lib.
TBB made a switch from tbb -> oneTBB base on the oneapi. We currently don't support the oneTBB but are working on that.
https://formulae.brew.sh/formula/tbb Tbb links to oneTBB so you need to install tbb#2020 (https://formulae.brew.sh/formula/tbb#2020).
Maybe you need to remove or unlink tbb before that to get the build running. Remember to delete the build directory before trying to recompile due to caching issues.
Could you please try that and then report if it worked.
Philipp

problem when get int data from TextController or Api in flutter

i want to get int data entered in the TextField() in flutter, i using TextEditingController like this:
TextEditingController _section_id = new TextEditingController();
and using this controller in it:
TextField(controller: _section_id,
keyboardType: TextInputType.number,)
and i get int data in this way:
Repository().placeAddApiProvider(int.parse(_section_id.text));
but show me error:
E/flutter (25586): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: FormatException: Invalid number (at character 1)
E/flutter (25586):
E/flutter (25586): ^
E/flutter (25586):
E/flutter (25586): #0 int._throwFormatException (dart:core/runtime/libintegers_patch.dart:129:7)
E/flutter (25586): #1 int.parse (dart:core/runtime/libintegers_patch.dart:53:14)
E/flutter (25586): #2 AddPlaceState.build.<anonymous closure> (package:mosul/src/ui/users/add_place.dart:93:37)
E/flutter (25586): <asynchronous suspension>
E/flutter (25586): #3 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:513:14)
E/flutter (25586): #4 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:568:30)
E/flutter (25586): #5 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:120:24)
E/flutter (25586): #6 TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:242:9)
E/flutter (25586): #7 TapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:204:7)
E/flutter (25586): #8 GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
E/flutter (25586): #9 _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:218:20)
E/flutter (25586): #10 _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:192:22)
E/flutter (25586): #11 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:149:7)
E/flutter (25586): #12 _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:101:7)
E/flutter (25586): #13 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:85:7)
E/flutter (25586): #14 _rootRunUnary (dart:async/zone.dart:1136:13)
E/flutter (25586): #15 _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter (25586): #16 _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
E/flutter (25586): #17 _invoke1 (dart:ui/hooks.dart:223:10)
E/flutter (25586): #18 _dispatchPointerDataPacket (dart:ui/hooks.dart:144:5)
E/flutter (25586):
V/ActivityThread(25586): updateVisibility : ActivityRecord{1e7c9680 token=android.os.BinderProxy#2565abb2 {org.codeforiraq.mosul/org.codeforiraq.mosul.MainActivity}} show : false
E/OpenGLRenderer(25586): SFEffectCache:clear(), mSize = 0
W/IInputConnectionWrapper(25586): showStatusIcon on inactive InputConnection
there is no problem in (Repository().placeAddApiProvider), and data return from API for section_id is int, i try in postman and every thing work good?
Thank you
The initial value of your TextField is just an empty string. Trying to parse that into an int will produce a FormatException error.
You may want to rewrite your code like this:
if (_section_id.text.trim() != "") {
Repository().placeAddApiProvider(int.parse(_section_id.text.trim()));
}

MONO - mono-sgen Runtime Error

We have received an error while our program on heavy work load. More than 600 thread works. Current mono version 2.10.9 and we compile mono with
"--prefix=/usr --with-large-heap=yes --enable-parallel-mark" parameters
We cannot handle errors inside of our codes. you can find some outputs below,
Native stacktrace:
/usr/bin/mono-sgen() [0x4940b2]
/usr/bin/mono-sgen() [0x4e833f]
/usr/bin/mono-sgen() [0x41bdc7]
/lib/x86_64-linux-gnu/libpthread.so.0(+0xfcb0) [0x7feecd473cb0]
/usr/bin/mono-sgen() [0x5a706e]
/usr/bin/mono-sgen() [0x5a71a9]
/usr/bin/mono-sgen() [0x5a79bf]
/usr/bin/mono-sgen() [0x5906ca]
/usr/bin/mono-sgen() [0x593443]
/usr/bin/mono-sgen() [0x4147ad]
/usr/bin/mono-sgen() [0x5958ed]
/usr/bin/mono-sgen() [0x595a6f]
/usr/bin/mono-sgen(mono_string_new_size+0x4c) [0x56671c]
[0x405f4c5a]
Debug info from gdb:
Mono support loaded.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fee7a6ca700 (LWP 24808)]
[New Thread 0x7fee7b977700 (LWP 24807)]
...
0x00007feecd0da7a4 in sigsuspend () from /lib/x86_64-linux-gnu/libc.so.6
Id Target Id Frame
46 Thread 0x7feecb0bd700 (LWP 14184) "mono-sgen" 0x00007feecd0da7a4 in sigsuspend () from /lib/x86_64-linux-gnu/libc.so.6
3 Thread 0x7fee7b977700 (LWP 24807) "mono-sgen" 0x00007feecd0da7a4 in sigsuspend () from /lib/x86_64-linux-gnu/libc.so.6
...
2 Thread 0x7fee7a6ca700 (LWP 24808) "mono-sgen" 0x00007feecd47388d in waitpid () from /lib/x86_64-linux-gnu/libpthread.so.0
* 1 Thread 0x7feecdf9b780 (LWP 14181) "mono-sgen" 0x00007feecd0da7a4 in sigsuspend () from /lib/x86_64-linux-gnu/libc.so.6
...
Thread 46 (Thread 0x7feecb0bd700 (LWP 14184)):
#0 0x00007feecd0da7a4 in sigsuspend () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x000000000058a6fb in suspend_handler (sig=<optimized out>, siginfo=<optimized out>, context=0x7feecb0bc7c0) at sgen-gc.c:5322
#2 <signal handler called>
#3 0x00007feecd471fce in sem_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
#4 0x00000000005e6458 in mono_sem_wait (sem=0x905ce0, alertable=1) at mono-semaphore.c:113
#5 0x0000000000515665 in finalizer_thread (unused=<optimized out>) at gc.c:1066
#6 0x00000000005b6d31 in start_wrapper_internal (data=0xc31080) at threads.c:784
#7 start_wrapper (data=0xc31080) at threads.c:832
#8 0x00000000005e0e42 in thread_start_routine (args=0xc13590) at wthreads.c:287
#9 0x000000000058dab8 in gc_start_thread (arg=0xc31020) at sgen-gc.c:6154
#10 0x00007feecd46be9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#11 0x00007feecd1983fd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#12 0x0000000000000000 in ?? ()
Thread 45 (Thread 0x7feeca40d700 (LWP 14192)):
#0 0x00007feecd0da7a4 in sigsuspend () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x000000000058a6fb in suspend_handler (sig=<optimized out>, siginfo=<optimized out>, context=0x7feeca40c180) at sgen-gc.c:5322
#2 <signal handler called>
#3 0x00007feecd4700fe in pthread_cond_timedwait##GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#4 0x00000000005cd258 in _wapi_handle_timedwait_signal_handle (handle=0x40a, timeout=0x7feeca40c8a0, alertable=1, poll=<optimized out>) at handles.c:1653
#5 0x00000000005de3be in WaitForSingleObjectEx (handle=0x40a, timeout=466, alertable=1) at wait.c:205
#6 0x00000000005b666b in ves_icall_System_Threading_WaitHandle_WaitOne_internal (this=<optimized out>, handle=0x40a, ms=466, exitContext=<optimized out>) at threads.c:1665
#7 0x0000000041241d98 in ?? ()
#8 0x00007feebc0022a0 in ?? ()
Mono's SGEN garbage collector was not production quality at version 2.x. Mono version 2.10.x can be considered very old, nowadays. Please upgrade to Mono 3.2.x

Linker error when compiling iPhone app for Simulator using OGRE libraries

I'm trying to build an iPhone app using the OGRE framework, and I'm getting a linker error when building for the simulator that I'm not sure how to fix.
I created the Xcode project using the OGRE iPhone template. I'm using the static libraries for OGRE from the main website, Ogre_iOS_4.0_Dependencies_20100623, and trying to build for the iOS 4.1 Simulator. I'm building with Xcode 3.2.4 on Mac OS X 10.6.4.
Compilation seems to work fine, but when it gets to the link stage, I get the following errors:
Ld build/Debug-iphonesimulator/OgreTestApp.app/OgreTestApp normal i386
cd /Users/pauly/Projects/workspaces/games/OgreTestApp
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk -L/Users/pauly/Projects/workspaces/games/OgreTestApp/build/Debug-iphonesimulator -L/Users/pauly/Projects/sdk/Ogre/OgreSDK-iPhone/lib/release -L/Users/pauly/Projects/sdk/Ogre/OgreSDK-iPhone/iPhoneDependencies/lib/release -F/Users/pauly/Projects/workspaces/games/OgreTestApp/build/Debug-iphonesimulator -filelist /Users/pauly/Projects/workspaces/games/OgreTestApp/build/OgreTestApp.build/Debug-iphonesimulator/OgreTestApp.build/Objects-normal/i386/OgreTestApp.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -framework Foundation -framework UIKit -framework OpenGLES -framework QuartzCore -lboost_date_time -lboost_thread -lFreeImage -lFreeType -lOIS -lzzip -lOgreMainStatic -lRenderSystem_GLESStatic -lPlugin_BSPSceneManagerStatic -lPlugin_OctreeSceneManagerStatic -lPlugin_ParticleFXStatic -o /Users/pauly/Projects/workspaces/games/OgreTestApp/build/Debug-iphonesimulator/OgreTestApp.app/OgreTestApp
ld: warning: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::allocate(unsigned long, void const*)has different visibility (default) in /Users/pauly/Projects/sdk/Ogre/OgreSDK-iPhone/lib/release/libOIS.a(OISInputManager.o) and (hidden) in /Users/pauly/Projects/workspaces/games/OgreTestApp/build/OgreTestApp.build/Debug-iphonesimulator/OgreTestApp.build/Objects-normal/i386/OgreFramework.o
ld: warning: std::_Rb_tree<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_create_node(std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)has different visibility (default) in /Users/pauly/Projects/sdk/Ogre/OgreSDK-iPhone/lib/release/libOIS.a(OISInputManager.o) and (hidden) in /Users/pauly/Projects/workspaces/games/OgreTestApp/build/OgreTestApp.build/Debug-iphonesimulator/OgreTestApp.build/Objects-normal/i386/OgreFramework.o
ld: warning: std::char_traits<char>::eq(char const&, char const&)has different visibility (hidden) in /Users/pauly/Projects/sdk/Ogre/OgreSDK-iPhone/lib/release/libFreeImage.a(IPTC.o) and (default) in /Users/pauly/Projects/sdk/Ogre/OgreSDK-iPhone/lib/release/libOgreMainStatic.a(OgreString.o)
ld: warning: std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_insert_aux(__gnu_cxx::__normal_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)has different visibility (hidden) in /Users/pauly/Projects/sdk/Ogre/OgreSDK-iPhone/lib/release/libFreeImage.a(IPTC.o) and (default) in /Users/pauly/Projects/sdk/Ogre/OgreSDK-iPhone/lib/release/libOgreMainStatic.a(OgreScriptCompiler.o)
Undefined symbols:
".objc_class_name_NSAutoreleasePool", referenced from:
literal-pointer#__OBJC#__cls_refs#NSAutoreleasePool in libRenderSystem_GLESStatic.a(OgreEAGLWindow.o)
".objc_class_name_UIApplication", referenced from:
literal-pointer#__OBJC#__cls_refs#UIApplication in libOIS.a(iPhoneInputManager.o)
".objc_class_name_UIWindow", referenced from:
literal-pointer#__OBJC#__cls_refs#UIWindow in libRenderSystem_GLESStatic.a(OgreEAGLWindow.o)
".objc_class_name_UIView", referenced from:
.objc_class_name_InputDelegate in libOIS.a(iPhoneInputManager.o)
.objc_class_name_EAGLView in libRenderSystem_GLESStatic.a(OgreEAGLWindow.o)
".objc_class_name_UIAccelerometer", referenced from:
literal-pointer#__OBJC#__cls_refs#UIAccelerometer in libOIS.a(iPhoneInputManager.o)
literal-pointer#__OBJC#__cls_refs#UIAccelerometer in libOIS.a(iPhoneAccelerometer.o)
".objc_class_name_CAEAGLLayer", referenced from:
literal-pointer#__OBJC#__cls_refs#CAEAGLLayer in libRenderSystem_GLESStatic.a(OgreEAGLWindow.o)
".objc_class_name_EAGLContext", referenced from:
literal-pointer#__OBJC#__cls_refs#EAGLContext in libRenderSystem_GLESStatic.a(OgreEAGLESContext.o)
".objc_class_name_NSDictionary", referenced from:
literal-pointer#__OBJC#__cls_refs#NSDictionary in libRenderSystem_GLESStatic.a(OgreEAGLWindow.o)
".objc_class_name_NSNumber", referenced from:
literal-pointer#__OBJC#__cls_refs#NSNumber in libRenderSystem_GLESStatic.a(OgreEAGLWindow.o)
".objc_class_name_UIScreen", referenced from:
literal-pointer#__OBJC#__cls_refs#UIScreen in libOIS.a(iPhoneInputManager.o)
literal-pointer#__OBJC#__cls_refs#UIScreen in libRenderSystem_GLESStatic.a(OgreEAGLSupport.o)
literal-pointer#__OBJC#__cls_refs#UIScreen in libRenderSystem_GLESStatic.a(OgreEAGLWindow.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
How do I fix this? Thanks.
Probably you need correct precompiled Ogre dependencies for correct iOS SDK version (Masterfalcon regularly publish those dependencies on the ogre3d.org).
Similar linker errors often caused by incorrect iPhoneDependencies (build for older iPhoneSKD that you have).
Just follow the instructions as listed here:
http://www.ogre3d.org/tikiwiki/Building+Ogre+with+CMake
Secion "Configuring for iPhone".
All should build fine.