Opened 11 months ago
Last modified 11 days ago
#68640 assigned defect
clang-17: builds some software that does not link on older macOS: Undefined symbols "std::__1::__libcpp_verbose_abort — at Version 12
Reported by: | snowflake (Dave Evans) | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | haspatch | Cc: | cjones051073 (Chris Jones) |
Port: | clang-18 |
Description (last modified by kencu (Ken))
Here's the link error for poppler which is also reported by the build bots for macOS 10.11:
Undefined symbols for architecture x86_64: "std::__1::__libcpp_verbose_abort(char const*, ...)", referenced from: __ZNSt3__120__throw_out_of_rangeB8un170004EPKc in GooString.cc.o __ZNSt3__120__throw_length_errorB8un170004EPKc in GooString.cc.o __ZNSt3__120__throw_length_errorB8un170004EPKc in gbase64.cc.o __ZNSt3__120__throw_length_errorB8un170004EPKc in gbasename.cc.o __ZNSt3__120__throw_length_errorB8un170004EPKc in gfile.cc.o __ZNSt3__120__throw_length_errorB8un170004EPKc in grandom.cc.o __ZNSt3__120__throw_length_errorB8un170004EPKc in FoFiTrueType.cc.o ...
Change History (12)
comment:1 follow-up: 2 Changed 11 months ago by kencu (Ken)
comment:2 Changed 11 months ago by snowflake (Dave Evans)
Replying to kencu:
more of this error….
can you try clang-16 instead of clang-17?
Building with clang-16 works! Thank you.
sudo port -s upgrade poppler configure.compiler=macports-clang-16
comment:3 Changed 11 months ago by RobK88
FYI - I had the same problem building poppler
on Lion and Mtn Lion. But I was able to build poppler
on Lion and Mtn Lion using clang-16
.
comment:4 Changed 11 months ago by kencu (Ken)
there are a few changes in clang-17 that are causing troubles
comment:5 Changed 11 months ago by kencu (Ken)
Cc: | cjones051073 added |
---|
comment:6 Changed 11 months ago by kencu (Ken)
chris this error has been showing up building with clang-17 on systems with older libc++ installations (see the recent mozjs pr for another example) , and there was another different error as well with clang-17…I’m sure you saw the ticket.
comment:8 Changed 11 months ago by kencu (Ken)
Summary: | poppler @23.11.0 does not link on older macOS → poppler @23.11.0 does not link on older macOS: Undefined symbols "std::__1::__libcpp_verbose_abort |
---|
comment:9 Changed 11 months ago by yaobao1993 (Yao Bao)
Hello,
Seems macOS Sierra (10.12.6) encounters the same issue.
Inspired by above comments, I tried:
$ sudo port install poppler configure.compiler=macports-clang-16
But the build failed with the same error.
I am new to MacPorts, seems above command does not make compiler switched to clang-16.
Here is the installed clang related packages:
clang-16 @16.0.6_2+analyzer (active) clang-17 @17.0.4_0+analyzer (active)
How to make sure clang-16 is used for this build?
Thanks
comment:10 Changed 11 months ago by snowflake (Dave Evans)
Yao, You need to tell Macports to build from source. This is done by the -s flag
sudo port -s install poppler configure.compiler=macports-clang-16
Without the -s flag, Macports will try to fetch a built archive from the central server. It probably won't exist as this port is not built on the server either.
comment:11 Changed 10 months ago by snowflake (Dave Evans)
The latest version of Poppler, poppler @23.12.0_0+boost, has just built on my old El Capitan Mac without any special invocations for selecting a compiler.
comment:12 Changed 10 months ago by kencu (Ken)
Description: | modified (diff) |
---|---|
Port: | clang-17 added |
Summary: | poppler @23.11.0 does not link on older macOS: Undefined symbols "std::__1::__libcpp_verbose_abort → clang-17: builds some software that does not link on older macOS: Undefined symbols "std::__1::__libcpp_verbose_abort |
more of this error….
can you try clang-16 instead of clang-17?