#31525: boost @1.47.0_0: shouldn't be compiled by clang++ 3.0 ------------------------------------+--------------------------------------- Reporter: takanori@… | Owner: adfernandes@… Type: defect | Status: reopened Priority: Normal | Milestone: Component: ports | Version: 2.0.3 Resolution: | Keywords: Port: boost | ------------------------------------+--------------------------------------- Changes (by takanori@…): * status: closed => reopened * resolution: fixed => Comment: This problem flared up again if Boost was upgraded to @1.48.0_1. ;-( How to reproduce: {{{ $ cd ~/Downloads $ curl -O http://trac.macports.org/raw-attachment/ticket/31525/sample.cpp $ clang++ -Wno-parentheses -O3 sample.cpp -o icu_test `pkg-config --libs --cflags icu-i18n` -lboost_regex-mt -lboost_system-mt Undefined symbols for architecture x86_64: "boost::icu_regex_traits::isctype(int, unsigned long long) const", referenced from: boost::re_detail::perl_matcher<boost::u8_to_u32_iterator<char const*, int>, std::allocator<boost::sub_match<boost::u8_to_u32_iterator<char const*, int> > >, boost::icu_regex_traits>::find_restart_word() in cc-4xcagz.o boost::u8_to_u32_iterator<char const*, int> boost::re_detail::re_is_set_member<boost::u8_to_u32_iterator<char const*, int>, int, boost::icu_regex_traits, unsigned long long>(boost::u8_to_u32_iterator<char const*, int>, boost::u8_to_u32_iterator<char const*, int>, boost::re_detail::re_set_long<unsigned long long> const*, boost::re_detail::regex_data<int, boost::icu_regex_traits> const&, bool) in cc-4xcagz.o boost::re_detail::perl_matcher<boost::u8_to_u32_iterator<char const*, int>, std::allocator<boost::sub_match<boost::u8_to_u32_iterator<char const*, int> > >, boost::icu_regex_traits>::match_word_boundary() in cc-4xcagz.o boost::re_detail::perl_matcher<boost::u8_to_u32_iterator<char const*, int>, std::allocator<boost::sub_match<boost::u8_to_u32_iterator<char const*, int> > >, boost::icu_regex_traits>::match_within_word() in cc-4xcagz.o boost::re_detail::perl_matcher<boost::u8_to_u32_iterator<char const*, int>, std::allocator<boost::sub_match<boost::u8_to_u32_iterator<char const*, int> > >, boost::icu_regex_traits>::match_word_start() in cc-4xcagz.o boost::re_detail::perl_matcher<boost::u8_to_u32_iterator<char const*, int>, std::allocator<boost::sub_match<boost::u8_to_u32_iterator<char const*, int> > >, boost::icu_regex_traits>::match_word_end() in cc-4xcagz.o "boost::re_detail::icu_regex_traits_implementation::do_transform(int const*, int const*, icu_48::Collator const*) const", referenced from: boost::u8_to_u32_iterator<char const*, int> boost::re_detail::re_is_set_member<boost::u8_to_u32_iterator<char const*, int>, int, boost::icu_regex_traits, unsigned long long>(boost::u8_to_u32_iterator<char const*, int>, boost::u8_to_u32_iterator<char const*, int>, boost::re_detail::re_set_long<unsigned long long> const*, boost::re_detail::regex_data<int, boost::icu_regex_traits> const&, bool) in cc-4xcagz.o "boost::basic_regex<int, boost::icu_regex_traits>::do_assign(int const*, int const*, unsigned int)", referenced from: boost::basic_regex<int, boost::icu_regex_traits>::basic_regex<boost::u8_to_u32_iterator<char const*, int> >(boost::u8_to_u32_iterator<char const*, int>, boost::u8_to_u32_iterator<char const*, int>, unsigned int) in cc-4xcagz.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) }}} -- Ticket URL: <https://trac.macports.org/ticket/31525#comment:8> MacPorts <http://www.macports.org/> Ports system for Mac OS