Opened 2 days ago

#71288 new defect

llvm-17: headers broken on macOS 10.8

Reported by: szhorvat (Szabolcs Horvát) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: cjones051073 (Chris Jones)
Port: llvm-17

Description

Standard library headers in llvm-17 seem to be broken on macOS 10.8. I see the following in the igraph build logs:

https://build.macports.org/builders/ports-10.8_x86_64-builder/builds/194298/steps/install-port/logs/stdio

In file included from /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_igraph/igraph/work/igraph-0.10.15/src/isomorphism/bliss/graph.cc:4:
In file included from /opt/local/libexec/llvm-17/bin/../include/c++/v1/set:1761:
In file included from /opt/local/libexec/llvm-17/bin/../include/c++/v1/functional:526:
In file included from /opt/local/libexec/llvm-17/bin/../include/c++/v1/__functional/boyer_moore_searcher.h:27:
In file included from /opt/local/libexec/llvm-17/bin/../include/c++/v1/vector:321:
In file included from /opt/local/libexec/llvm-17/bin/../include/c++/v1/__format/formatter_bool.h:20:
In file included from /opt/local/libexec/llvm-17/bin/../include/c++/v1/__format/formatter_integral.h:32:
/opt/local/libexec/llvm-17/bin/../include/c++/v1/locale:3360:15: error: use of undeclared identifier 'asprintf_l'; did you mean 'vsprintf_l'?
 3360 |         __n = __libcpp_asprintf_l(&__bb, _LIBCPP_GET_C_LOCALE, "%.0Lf", __units);
      |               ^
/opt/local/libexec/llvm-17/bin/../include/c++/v1/__locale_dir/locale_base_api/bsd_locale_defaults.h:33:61: note: expanded from macro '__libcpp_asprintf_l'
   33 | #define __libcpp_asprintf_l(...)                            asprintf_l(__VA_ARGS__)
      |                                                             ^
/usr/include/xlocale/_stdio.h:45:6: note: 'vsprintf_l' declared here
   45 | int      vsprintf_l(char * __restrict, locale_t, const char * __restrict, va_list)
      |          ^
In file included from /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_math_igraph/igraph/work/igraph-0.10.15/src/isomorphism/bliss/graph.cc:4:
In file included from /opt/local/libexec/llvm-17/bin/../include/c++/v1/set:1761:
In file included from /opt/local/libexec/llvm-17/bin/../include/c++/v1/functional:526:
In file included from /opt/local/libexec/llvm-17/bin/../include/c++/v1/__functional/boyer_moore_searcher.h:27:
In file included from /opt/local/libexec/llvm-17/bin/../include/c++/v1/vector:321:
In file included from /opt/local/libexec/llvm-17/bin/../include/c++/v1/__format/formatter_bool.h:20:
In file included from /opt/local/libexec/llvm-17/bin/../include/c++/v1/__format/formatter_integral.h:32:
/opt/local/libexec/llvm-17/bin/../include/c++/v1/locale:3360:35: error: cannot initialize a parameter of type 'char *' with an rvalue of type 'char **'
 3360 |         __n = __libcpp_asprintf_l(&__bb, _LIBCPP_GET_C_LOCALE, "%.0Lf", __units);
      |                                   ^~~~~
/opt/local/libexec/llvm-17/bin/../include/c++/v1/__locale_dir/locale_base_api/bsd_locale_defaults.h:33:72: note: expanded from macro '__libcpp_asprintf_l'
   33 | #define __libcpp_asprintf_l(...)                            asprintf_l(__VA_ARGS__)
      |                                                                        ^~~~~~~~~~~
/usr/include/xlocale/_stdio.h:45:34: note: passing argument to parameter here
   45 | int      vsprintf_l(char * __restrict, locale_t, const char * __restrict, va_list)
      |                                      ^

It looks like a simple #include <set> caused a failure.

I cannot test directly on this platform.

Change History (0)

Note: See TracTickets for help on using tickets.