[MacPorts] #74296: mysql8 at 8.4.8_1 build failure with macOS Tahoe 26.6 on arm64

MacPorts noreply at macports.org
Tue Aug 4 06:44:50 UTC 2026


#74296: mysql8 at 8.4.8_1 build failure with macOS Tahoe 26.6 on arm64
------------------------+-------------------------
  Reporter:  murrayE    |      Owner:  (none)
      Type:  defect     |     Status:  closed
  Priority:  Normal     |  Milestone:
 Component:  ports      |    Version:  2.12.5
Resolution:  duplicate  |   Keywords:  arm64 tahoe
      Port:  mysql8     |
------------------------+-------------------------
Changes (by ryandesign):

 * status:  new => closed
 * resolution:   => duplicate


Comment:

 Replying to [comment:1 mikey-work]:
 > {{{
 > Error: Port keka requires a full Xcode installation, which was not found
 on your system.
 > }}}

 This error you encountered while installing keka is unrelated to the error
 Murray encountered while installing mysql8. The keka issue is #74297.

 The error here with mysql8 is a bunch of undefined icu symbols:

 {{{
 Undefined symbols for architecture arm64:
   "icu_78::StringPiece::StringPiece(char const*)", referenced from:
       xpl::Regex::Regex(char const*) in libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::Regex(char const*) in libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::match(char const*) const in
 libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::match_groups(char const*,
 std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>,
 std::__1::allocator<char>>,
 std::__1::allocator<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>>>*, bool) const in
 libmysqlx.a[121](xpl_regex.cc.o)
   "icu_78::RegexMatcher::matches(UErrorCode&)", referenced from:
       xpl::Regex::match(char const*) const in
 libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::match_groups(char const*,
 std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>,
 std::__1::allocator<char>>,
 std::__1::allocator<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>>>*, bool) const in
 libmysqlx.a[121](xpl_regex.cc.o)
   "icu_78::RegexMatcher::~RegexMatcher()", referenced from:
       xpl::Regex::match(char const*) const in
 libmysqlx.a[121](xpl_regex.cc.o)
       std::__1::unique_ptr<icu_78::RegexMatcher,
 std::__1::default_delete<icu_78::RegexMatcher>>::~unique_ptr[abi:nqe210106]()
 in libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::match_groups(char const*,
 std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>,
 std::__1::allocator<char>>,
 std::__1::allocator<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>>>*, bool) const in
 libmysqlx.a[121](xpl_regex.cc.o)
   "icu_78::RegexPattern::compile(icu_78::UnicodeString const&, unsigned
 int, UParseError&, UErrorCode&)", referenced from:
       xpl::Regex::Regex(char const*) in libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::Regex(char const*) in libmysqlx.a[121](xpl_regex.cc.o)
   "icu_78::RegexPattern::~RegexPattern()", referenced from:
       xpl::Regex::~Regex() in libmysqlx.a[3](admin_cmd_arguments.cc.o)
   "icu_78::UnicodeString::fromUTF8(icu_78::StringPiece)", referenced from:
       xpl::Regex::Regex(char const*) in libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::Regex(char const*) in libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::match(char const*) const in
 libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::match_groups(char const*,
 std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>,
 std::__1::allocator<char>>,
 std::__1::allocator<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>>>*, bool) const in
 libmysqlx.a[121](xpl_regex.cc.o)
   "icu_78::UnicodeString::~UnicodeString()", referenced from:
       xpl::Regex::Regex(char const*) in libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::Regex(char const*) in libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::Regex(char const*) in libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::Regex(char const*) in libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::match(char const*) const in
 libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::match(char const*) const in
 libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::match(char const*) const in
 libmysqlx.a[121](xpl_regex.cc.o)
       ...
   "icu_78::UMemory::operator delete(void*)", referenced from:
       xpl::Regex::~Regex() in libmysqlx.a[3](admin_cmd_arguments.cc.o)
       xpl::Regex::match(char const*) const in
 libmysqlx.a[121](xpl_regex.cc.o)
       std::__1::unique_ptr<icu_78::RegexMatcher,
 std::__1::default_delete<icu_78::RegexMatcher>>::~unique_ptr[abi:nqe210106]()
 in libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::match_groups(char const*,
 std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>,
 std::__1::allocator<char>>,
 std::__1::allocator<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>>>*, bool) const in
 libmysqlx.a[121](xpl_regex.cc.o)
       icu_78::StringByteSink<std::__1::basic_string<char,
 std::__1::char_traits<char>,
 std::__1::allocator<char>>>::~StringByteSink() in
 libmysqlx.a[121](xpl_regex.cc.o)
   "icu_78::ByteSink::GetAppendBuffer(int, int, char*, int, int*)",
 referenced from:
       vtable for icu_78::StringByteSink<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>> in
 libmysqlx.a[121](xpl_regex.cc.o)
   "icu_78::ByteSink::Flush()", referenced from:
       vtable for icu_78::StringByteSink<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>> in
 libmysqlx.a[121](xpl_regex.cc.o)
   "icu_78::ByteSink::~ByteSink()", referenced from:
       xpl::Regex::match_groups(char const*,
 std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>,
 std::__1::allocator<char>>,
 std::__1::allocator<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>>>*, bool) const in
 libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::match_groups(char const*,
 std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>,
 std::__1::allocator<char>>,
 std::__1::allocator<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>>>*, bool) const in
 libmysqlx.a[121](xpl_regex.cc.o)
       icu_78::StringByteSink<std::__1::basic_string<char,
 std::__1::char_traits<char>,
 std::__1::allocator<char>>>::~StringByteSink() in
 libmysqlx.a[121](xpl_regex.cc.o)
       icu_78::StringByteSink<std::__1::basic_string<char,
 std::__1::char_traits<char>,
 std::__1::allocator<char>>>::StringByteSink(std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>*, int) in
 libmysqlx.a[121](xpl_regex.cc.o)
       icu_78::StringByteSink<std::__1::basic_string<char,
 std::__1::char_traits<char>,
 std::__1::allocator<char>>>::~StringByteSink() in
 libmysqlx.a[121](xpl_regex.cc.o)
   "icu_78::RegexMatcher::groupCount() const", referenced from:
       xpl::Regex::match_groups(char const*,
 std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>,
 std::__1::allocator<char>>,
 std::__1::allocator<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>>>*, bool) const in
 libmysqlx.a[121](xpl_regex.cc.o)
   "icu_78::RegexMatcher::group(int, UErrorCode&) const", referenced from:
       xpl::Regex::match_groups(char const*,
 std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>,
 std::__1::allocator<char>>,
 std::__1::allocator<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>>>*, bool) const in
 libmysqlx.a[121](xpl_regex.cc.o)
   "icu_78::RegexPattern::matcher(icu_78::UnicodeString const&,
 UErrorCode&) const", referenced from:
       xpl::Regex::match(char const*) const in
 libmysqlx.a[121](xpl_regex.cc.o)
       xpl::Regex::match_groups(char const*,
 std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>,
 std::__1::allocator<char>>,
 std::__1::allocator<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>>>*, bool) const in
 libmysqlx.a[121](xpl_regex.cc.o)
   "icu_78::UnicodeString::toUTF8(icu_78::ByteSink&) const", referenced
 from:
       xpl::Regex::match_groups(char const*,
 std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>,
 std::__1::allocator<char>>,
 std::__1::allocator<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>>>*, bool) const in
 libmysqlx.a[121](xpl_regex.cc.o)
   "typeinfo for icu_78::ByteSink", referenced from:
       typeinfo for icu_78::StringByteSink<std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char>>> in
 libmysqlx.a[121](xpl_regex.cc.o)
 ld: symbol(s) not found for architecture arm64
 clang++: error: linker command failed with exit code 1 (use -v to see
 invocation)
 }}}

 That's a duplicate of #71426.

-- 
Ticket URL: <https://trac.macports.org/ticket/74296#comment:3>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list