[MacPorts] #68640: clang-16 and clang-17: Undefined symbols "std::__1::__libcpp_verbose_abort

MacPorts noreply at macports.org
Fri Jul 19 11:52:17 UTC 2024


#68640: clang-16 and clang-17: Undefined symbols "std::__1::__libcpp_verbose_abort
-------------------------------------------------+-------------------------
  Reporter:  snowflake                           |      Owner:  nobody
      Type:  defect                              |     Status:  assigned
  Priority:  Normal                              |  Milestone:
 Component:  ports                               |    Version:
Resolution:                                      |   Keywords:  haspatch
      Port:  clang-16, clang-17, poppler, gjs,   |
  gegl, mesa                                     |
-------------------------------------------------+-------------------------

Comment (by cjones051073):

 Above commits implement the changes for clang16-18

 clang17 now works OK for me, tested fine on MAcOSX10.11 for a few of the
 previously failing ports.

 clang18 seems to have another issue, e.g. mesa on MacOSX10.11

 {{{
 Undefined symbols for architecture x86_64:
   "std::__1::basic_filebuf<char, std::__1::char_traits<char> >::open(char
 const*, unsigned int)", referenced from:
       std::__1::basic_ifstream<char, std::__1::char_traits<char>
 >::basic_ifstream(char const*, unsigned int) in
 libmesa.a(state_tracker_st_glsl_to_tgsi.cpp.o)
   "std::__1::basic_filebuf<char, std::__1::char_traits<char>
 >::basic_filebuf()", referenced from:
       std::__1::basic_ifstream<char, std::__1::char_traits<char>
 >::basic_ifstream(char const*, unsigned int) in
 libmesa.a(state_tracker_st_glsl_to_tgsi.cpp.o)
       __GLOBAL__sub_I_st_glsl_to_tgsi.cpp in
 libmesa.a(state_tracker_st_glsl_to_tgsi.cpp.o)
   "std::__1::basic_filebuf<char, std::__1::char_traits<char>
 >::~basic_filebuf()", referenced from:
       std::__1::basic_ofstream<char, std::__1::char_traits<char>
 >::~basic_ofstream() in libmesa.a(state_tracker_st_glsl_to_tgsi.cpp.o)
       _st_link_tgsi in libmesa.a(state_tracker_st_glsl_to_tgsi.cpp.o)
       std::__1::basic_ifstream<char, std::__1::char_traits<char>
 >::basic_ifstream(char const*, unsigned int) in
 libmesa.a(state_tracker_st_glsl_to_tgsi.cpp.o)
   "std::__1::basic_ofstream<char, std::__1::char_traits<char> >::open(char
 const*, unsigned int)", referenced from:
       _st_link_tgsi in libmesa.a(state_tracker_st_glsl_to_tgsi.cpp.o)
   "VTT for std::__1::basic_ifstream<char, std::__1::char_traits<char> >",
 referenced from:
       _st_link_tgsi in libmesa.a(state_tracker_st_glsl_to_tgsi.cpp.o)
       std::__1::basic_ifstream<char, std::__1::char_traits<char>
 >::basic_ifstream(char const*, unsigned int) in
 libmesa.a(state_tracker_st_glsl_to_tgsi.cpp.o)
   "VTT for std::__1::basic_ofstream<char, std::__1::char_traits<char> >",
 referenced from:
       std::__1::basic_ofstream<char, std::__1::char_traits<char>
 >::~basic_ofstream() in libmesa.a(state_tracker_st_glsl_to_tgsi.cpp.o)
       __GLOBAL__sub_I_st_glsl_to_tgsi.cpp in
 libmesa.a(state_tracker_st_glsl_to_tgsi.cpp.o)
   "vtable for std::__1::basic_ifstream<char, std::__1::char_traits<char>
 >", referenced from:
       std::__1::basic_ifstream<char, std::__1::char_traits<char>
 >::basic_ifstream(char const*, unsigned int) in
 libmesa.a(state_tracker_st_glsl_to_tgsi.cpp.o)
   NOTE: a missing vtable usually means the first non-inline virtual member
 function has no definition.
   "vtable for std::__1::basic_ofstream<char, std::__1::char_traits<char>
 >", referenced from:
       __GLOBAL__sub_I_st_glsl_to_tgsi.cpp in
 libmesa.a(state_tracker_st_glsl_to_tgsi.cpp.o)
   NOTE: a missing vtable usually means the first non-inline virtual member
 function has no definition.
 ld: symbol(s) not found for architecture x86_64
 }}}

 so for now clang18 is still not allowed on older OSes.

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


More information about the macports-tickets mailing list