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 Changed 11 months ago by kencu (Ken)

more of this error….

can you try clang-16 instead of clang-17?

comment:2 in reply to:  1 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:7 Changed 11 months ago by kencu (Ken)

chris bump

comment:8 Changed 11 months ago by kencu (Ken)

Summary: poppler @23.11.0 does not link on older macOSpoppler @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

Last edited 7 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

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_abortclang-17: builds some software that does not link on older macOS: Undefined symbols "std::__1::__libcpp_verbose_abort
Note: See TracTickets for help on using tickets.