Opened 3 years ago

Closed 3 years ago

#63095 closed defect (fixed)

hugin-app @2019.2.0_4 fails to build due to undefined symbols

Reported by: michaellass (Michael Lass) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: hugin-app

Description

Building hugin-app fails for me with the following error:

:info:build Undefined symbols for architecture x86_64:
:info:build   "boost::filesystem::detail::recur_dir_itr_imp::increment(boost::system::error_code*)", referenced from:
:info:build       boost::filesystem::recursive_directory_iterator::increment() in pto_move.cpp.o
:info:build   "boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, boost::filesystem::path const&, boost::system:>
:info:build       boost::filesystem::directory_iterator::directory_iterator(boost::filesystem::path const&) in pto_move.cpp.o
:info:build   "boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::detail::copy_option, b>
:info:build       PTOCopyMove(bool, boost::filesystem::path, boost::filesystem::path, bool) in pto_move.cpp.o
:info:build   "boost::filesystem::absolute(boost::filesystem::path const&, boost::filesystem::path const&)", referenced from:
:info:build       RebaseFilename(boost::filesystem::path, boost::filesystem::path&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::alloc>
:info:build       checkDestinationDirectory(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, boost::filesystem::path&) >
:info:build       PTOCopyMove(bool, boost::filesystem::path, boost::filesystem::path, bool) in pto_move.cpp.o
:info:build       _main in pto_move.cpp.o
:info:build ld: symbol(s) not found for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)

I'm on macOS 11.4 and boost is installed in version 1.71.0_4.

Attachments (1)

main.log (1.4 MB) - added by michaellass (Michael Lass) 3 years ago.

Download all attachments as: .zip

Change History (4)

Changed 3 years ago by michaellass (Michael Lass)

Attachment: main.log added

comment:1 Changed 3 years ago by michaellass (Michael Lass)

I just noticed that boost is installed in multiple versions:

  boost @1.71.0_4+no_single+no_static+python39 (active)
  boost176 @1.76.0_0+no_single+no_static+python39 (active)

Looks like 1.76 is the relevant one here.

comment:2 Changed 3 years ago by michaellass (Michael Lass)

Turns out this is some fallout of https://github.com/macports/macports-ports/commit/b25b206. It seems that hugin-app needs the older 1.71 version of Boost. I created a PR with a simple fix: https://github.com/macports/macports-ports/pull/11369

Might be that newer versions of hugin-app would build against newer versions of boost as well - I haven't tried updating the port.

comment:3 Changed 3 years ago by Michael Lass <michael.lass@…>

Resolution: fixed
Status: assignedclosed

In 4127a912ad8cc2c71b11f666c268da035f750380/macports-ports (master):

hugin-app: build against boost 1.71

Building against boost 1.76, which is currently the default used by the boost
portgroup, fails with the following error:

:info:build Undefined symbols for architecture x86_64:
:info:build "boost::filesystem::detail::recur_dir_itr_imp::increment(boost::system::error_code*)", referenced from:
:info:build boost::filesystem::recursive_directory_iterator::increment() in pto_move.cpp.o
:info:build "boost::filesystem::detail::directory_iterator_construct(boost::filesystem::directory_iterator&, boost::filesystem::path const&, boost::system:>
:info:build boost::filesystem::directory_iterator::directory_iterator(boost::filesystem::path const&) in pto_move.cpp.o
:info:build "boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::detail::copy_option, b>
:info:build PTOCopyMove(bool, boost::filesystem::path, boost::filesystem::path, bool) in pto_move.cpp.o
:info:build "boost::filesystem::absolute(boost::filesystem::path const&, boost::filesystem::path const&)", referenced from:
:info:build RebaseFilename(boost::filesystem::path, boost::filesystem::path&, std::1::basic_string<char, std::1::char_traits<char>, std::1::alloc>
:info:build checkDestinationDirectory(std::
1::basic_string<char, std::1::char_traits<char>, std::1::allocator<char> >, boost::filesystem::path&) >
:info:build PTOCopyMove(bool, boost::filesystem::path, boost::filesystem::path, bool) in pto_move.cpp.o
:info:build _main in pto_move.cpp.o
:info:build ld: symbol(s) not found for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)

Boost 1.71 matches the version that was used before b25b206.

Fixes: #63095

Note: See TracTickets for help on using tickets.