runner-images icon indicating copy to clipboard operation
runner-images copied to clipboard

MacOS {12-14} GCC build failures

Open EmilDohne opened this issue 1 month ago • 9 comments

Description

When compiling my C++ Library on MacOS 12, 13 and 14 I get a bunch of error messages from the stdlib which I am assuming has to do with the GCC bump to 13.3 in the last runner updates.

Would it be possible to drop the version again or provide a XCode 15.3 build on the macos runners as it appears that the compilation works with that version (Tested by running the macos-latest runners with XCode 15.3 which resolves the issues).

/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h:182:28: error: macro "__API_AVAILABLE2" requires 2 arguments, but only 1 given
  182 | __API_AVAILABLE(macos(10.0)) __IOS_PROHIBITED
      |                            ^
In file included from /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/Availability.h:166,
                 from /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/string.h:63,
                 from /Users/runner/work/PhotoshopAPI/PhotoshopAPI/thirdparty/libdeflate/lib/../common_defs.h:56,
                 from /Users/runner/work/PhotoshopAPI/PhotoshopAPI/thirdparty/libdeflate/lib/lib_common.h:40,
                 from /Users/runner/work/PhotoshopAPI/PhotoshopAPI/thirdparty/libdeflate/lib/utils.c:28:
/usr/local/Cellar/gcc@13/13.3.0/lib/gcc/13/gcc/x86_64-apple-darwin21/13/include-fixed/AvailabilityInternal.h:4502: note: macro "__API_AVAILABLE2" defined here
 4502 |     #define __API_AVAILABLE2(x,y) __API_A(x) __API_A(y)
      | 
/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h:184:1: error: expected ';' before 'int'
  184 | int      system(const char *) __DARWIN_ALIAS_C(system);
      | ^~~
/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h:220:[12](https://github.com/EmilDohne/PhotoshopAPI/actions/runs/9256194501/job/25825001717#step:5:13)3: error: macro "__API_AVAILABLE5" requires 5 arguments, but only 4 given
  220 | int ptsname_r(int fildes, char *buffer, size_t buflen) __API_AVAILABLE(macos(10.[13](https://github.com/EmilDohne/PhotoshopAPI/actions/runs/9256194501/job/25825001717#step:5:14).4), ios(11.3), tvos(11.3), watchos(4.3));
      |                                                                                                                           ^
/usr/local/Cellar/gcc@13/13.3.0/lib/gcc/13/gcc/x86_64-apple-darwin21/13/include-fixed/AvailabilityInternal.h:4505: note: macro "__API_AVAILABLE5" defined here
 4505 |     #define __API_AVAILABLE5(x,y,z,t,b) __API_A(x) __API_A(y) __API_A(z) __API_A(t) __API_A(b)
      | 
/Applications/Xcode_[14](https://github.com/EmilDohne/PhotoshopAPI/actions/runs/9256194501/job/25825001717#step:5:15).2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h: In function 'ptsname_r':
/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h:220:56: error: expected declaration specifiers before '__API_AVAILABLE5'
  220 | int ptsname_r(int fildes, char *buffer, size_t buflen) __API_AVAILABLE(macos(10.13.4), ios(11.3), tvos(11.3), watchos(4.3));
      |                                                        ^~~~~~~~~~~~~~~
In file included from /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h:256:
/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_dev_t.h:31:31: error: storage class specified for parameter 'dev_t'
   31 | typedef __darwin_dev_t        dev_t;    /* device number */
      |                               ^~~~~
In file included from /Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h:257:
/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_mode_t.h:31:33: error: storage class specified for parameter 'mode_t'
   31 | typedef __darwin_mode_t         mode_t;
      |                                 ^~~~~~
/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h:299:34: error: expected ')' before 'char'
  299 | char    *devname_r(dev_t, mode_t, char *buf, int len);
      |                                  ^~~~~
      |                                  )
/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h:349:74: error: macro "__API_AVAILABLE5" requires 5 arguments, but only 4 given
  349 |         __API_AVAILABLE(macos(10.[15](https://github.com/EmilDohne/PhotoshopAPI/actions/runs/9256194501/job/25825001717#step:5:16)), ios(13.0), tvos(13.0), watchos(6.0));
      |                                                                          ^
/usr/local/Cellar/gcc@13/13.3.0/lib/gcc/13/gcc/x86_64-apple-darwin21/13/include-fixed/AvailabilityInternal.h:4505: note: macro "__API_AVAILABLE5" defined here
 4505 |     #define __API_AVAILABLE5(x,y,z,t,b) __API_A(x) __API_A(y) __API_A(z) __API_A(t) __API_A(b)
      | 
/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h:349:9: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__API_AVAILABLE5'
  349 |         __API_AVAILABLE(macos(10.15), ios(13.0), tvos(13.0), watchos(6.0));
      |         ^~~~~~~~~~~~~~~
/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h:357:73: error: macro "__API_AVAILABLE5" requires 5 arguments, but only 4 given
  357 |         __API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0));
      |                                                                         ^
/usr/local/Cellar/gcc@13/13.3.0/lib/gcc/13/gcc/x86_64-apple-darwin[21](https://github.com/EmilDohne/PhotoshopAPI/actions/runs/9256194501/job/25825001717#step:5:22)/13/include-fixed/AvailabilityInternal.h:4505: note: macro "__API_AVAILABLE5" defined here
 4505 |     #define __API_AVAILABLE5(x,y,z,t,b) __API_A(x) __API_A(y) __API_A(z) __API_A(t) __API_A(b)
      | 
/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h:357:9: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__API_AVAILABLE5'
  357 |         __API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0));
      |         ^~~~~~~~~~~~~~~
/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h:364:14: error: storage class specified for parameter 'suboptarg'
  364 | extern char *suboptarg;         /* getsubopt(3) external variable */
      |              ^~~~~~~~~

Here you can find the relevant builds, I have included one which I reran today which passed last week

Failure: https://github.com/EmilDohne/PhotoshopAPI/actions/runs/9256194501/job/25825001717 Success: https://github.com/EmilDohne/PhotoshopAPI/actions/runs/9256194501/job/25461660008

Platforms affected

  • [ ] Azure DevOps
  • [X] GitHub Actions - Standard Runners
  • [ ] GitHub Actions - Larger Runners

Runner images affected

  • [ ] Ubuntu 20.04
  • [ ] Ubuntu 22.04
  • [ ] Ubuntu 24.04
  • [ ] macOS 11
  • [X] macOS 12
  • [X] macOS 13
  • [ ] macOS 13 Arm64
  • [X] macOS 14
  • [ ] macOS 14 Arm64
  • [ ] Windows Server 2019
  • [ ] Windows Server 2022

Image version and build link

Image: macos-13 Version: 20240526.1

https://github.com/EmilDohne/PhotoshopAPI/actions/runs/9365076914/job/25779508461

Is it regression?

Yes

Expected behavior

Compilation works as intended

Actual behavior

Compilation fails from stdlib

Repro steps

  1. Compile PhotoshopAPI with GCC 13 on a MacOS runner
  2. Failure

EmilDohne avatar Jun 05 '24 07:06 EmilDohne