Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update macOS to 2024-10-02. #41307

Closed
wants to merge 11 commits into from
Closed

Conversation

BillyONeal
Copy link
Member

Contains macOS 15 "Sequoia" and XCode Command Line Tools 16.

Contains macOS 15 "Sequoia" and XCode Command Line Tools 16.
@BillyONeal BillyONeal added info:internal This PR or Issue was filed by the vcpkg team. category:infrastructure Pertaining to the CI/Testing infrastrucutre labels Oct 2, 2024
@BillyONeal BillyONeal closed this Oct 3, 2024
@BillyONeal BillyONeal reopened this Oct 3, 2024
@BillyONeal
Copy link
Member Author

Close and reopen to kick CLABot

…kg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt).

PASSING, REMOVE FROM FAIL LIST: atliac-minitest:x64-osx (/Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: libcoro:arm64-osx (/Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: libcoro:x64-osx (/Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt).
@BillyONeal
Copy link
Member Author

BillyONeal commented Oct 5, 2024

Build results from https://dev.azure.com/vcpkg/public/_build/results?buildId=107535

PASSING, REMOVE FROM FAIL LIST: atliac-minitest:arm64-osx (/Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: atliac-minitest:x64-osx (/Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: libcoro:arm64-osx (/Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt).
PASSING, REMOVE FROM FAIL LIST: libcoro:x64-osx (/Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt).

:)

REGRESSION: angelscript:x64-osx failed with BUILD_FAILED. If expected, add angelscript:x64-osx=fail to /Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt.

'OSAtomicIncrement32' is deprecated: first deprecated in macOS 10.12 - Use std::atomic_fetch_add_explicit(std::memory_order_relaxed) from <atomic> instead [-Wdeprecated-declarations]
  162 |         return OSAtomicIncrement32((int32_t*)&value);
      |                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX15.0.sdk/usr/include/libkern/OSAtomicDeprecated.h:173:9: note: 'OSAtomicIncrement32' has been explicitly marked deprecated here
  173 | int32_t OSAtomicIncrement32( volatile int32_t *__theValue );
      |         ^
/Users/vcpkg/Data/b/angelscript/src/elscript_2-a9741774b9.clean/angelscript/source/as_atomic.cpp:167:9: warning: 'OSAtomicDecrement32' is deprecated: first deprecated in macOS 10.12 - Use std::atomic_fetch_sub_explicit(std::memory_order_relaxed) from <atomic> instead [-Wdeprecated-declarations]
  167 |         return OSAtomicDecrement32((int32_t*)&value);
      |                ^
/Library/Developer/CommandLineTools/SDKs/MacOSX15.0.sdk/usr/include/libkern/OSAtomicDeprecated.h:192:9: note: 'OSAtomicDecrement32' has been explicitly marked deprecated here
  192 | int32_t OSAtomicDecrement32( volatile int32_t *__theValue );
      |         ^
2 warnings generated.

Fixed with pragma push/disable/pop suppressions. (It isn't obvious to me how to adapt this to std:: as clang suggests; certainly not without involvement of upstream.) I emailed the upstream maintainer.

REGRESSION: awlib:arm64-osx failed with BUILD_FAILED. If expected, add awlib:arm64-osx=fail to /Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt.
REGRESSION: awlib:x64-osx failed with BUILD_FAILED. If expected, add awlib:x64-osx=fail to /Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt.

/Users/vcpkg/Data/b/awlib/src/2024-04-06-4d0885f5ee.clean/io/include/aw/io/mmap_file.h:91:7: warning: case value not in enumerated type 'map_perms' [-Wswitch]
   91 |         case mp::read|mp::exec:
      |              ^
/Users/vcpkg/Data/b/awlib/src/2024-04-06-4d0885f5ee.clean/io/include/aw/io/mmap_file.h:95:7: warning: case value not in enumerated type 'map_perms' [-Wswitch]
   95 |         case mp::write|mp::exec:
      |              ^
/Users/vcpkg/Data/b/awlib/src/2024-04-06-4d0885f5ee.clean/io/include/aw/io/mmap_file.h:97:7: warning: case value not in enumerated type 'map_perms' [-Wswitch]
   97 |         case mp::rdwr|mp::exec:
      |              ^
3 warnings generated.

I think making the switch see the underlying unsigned would work to suppress this. If that works I need to submit to https://github.com/absurdworlds/awlib/

REGRESSION: freerdp:arm64-osx failed with BUILD_FAILED. If expected, add freerdp:arm64-osx=fail to /Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt.
REGRESSION: freerdp:x64-osx failed with BUILD_FAILED. If expected, add freerdp:x64-osx=fail to /Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt.

/Users/vcpkg/Data/b/freerdp/src/3.4.0-9495f3f830.clean/server/shadow/Mac/mac_shadow.c:254:8: error: 'CGDisplayStreamStart' is unavailable: obsoleted in macOS 15.0 - Please use ScreenCaptureKit instead.
  254 |         err = CGDisplayStreamStart(subsystem->stream);
      |               ^

This is FreeRDP/FreeRDP#10558 , no reasonable workaround available. /cc @dg0yt due to #32416

REGRESSION: juce:arm64-osx failed with BUILD_FAILED. If expected, add juce:arm64-osx=fail to /Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt.
REGRESSION: juce:x64-osx failed with BUILD_FAILED. If expected, add juce:x64-osx=fail to /Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt.

  /Users/vcpkg/Data/b/juce/src/7.0.12-cb25bcc0dc.clean/modules/juce_gui_basics/native/juce_PerScreenDisplayLinks_mac.h:110:52:
  warning: 'CVDisplayLinkCreateWithCGDisplay' is deprecated: first deprecated
  in macOS 15.0 - use NSView.displayLink(target:selector:),
  NSWindow.displayLink(target:selector:), or
  NSScreen.displayLink(target:selector:) [-Wdeprecated-declarations]

    110 |               [[maybe_unused]] const auto result = CVDisplayLinkCreateWithCGDisplay (display, &ptr);
        |                                                    ^

Upstream already aware and unwilling to fix in JUCE 7.

REGRESSION: libproxy:arm64-osx failed with FILE_CONFLICTS. If expected, add libproxy:arm64-osx=fail to /Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt.
REGRESSION: libproxy:x64-osx failed with FILE_CONFLICTS. If expected, add libproxy:x64-osx=fail to /Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt.

error: The following files are already installed in /Users/vcpkg/Data/installed/arm64-osx and are in conflict with libproxy:arm64-osx
Installed by influxdb-cxx:arm64-osx  
include/Proxy.h

This is a preexisting failure now detected by microsoft/vcpkg-tool#1483

REGRESSION: msquic:arm64-osx failed with BUILD_FAILED. If expected, add msquic:arm64-osx=fail to /Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt.
REGRESSION: msquic:x64-osx failed with BUILD_FAILED. If expected, add msquic:x64-osx=fail to /Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt.

/Users/vcpkg/Data/b/msquic/src/v2.4.5-9d07a67b94.clean/src/core/quicdef.h:243:66: error: encoding prefix 'L' on an unevaluated string literal has no effect [-Werror,-Winvalid-unevaluated-string]
  243 | CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_ALLOC_SIZE), L"Must be power of two");
      |                                                                  ^

If this fix works I need to submit to https://github.com/microsoft/msquic/

REGRESSION: qtbase:arm64-osx failed with BUILD_FAILED. If expected, add qtbase:arm64-osx=fail to /Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt.
REGRESSION: qtbase:x64-osx failed with BUILD_FAILED. If expected, add qtbase:x64-osx=fail to /Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt.

/Users/vcpkg/Data/b/qtbase/src/here-src-6-ac50939fe7.clean/src/plugins/platforms/cocoa/qcocoascreen.mm:601:37: error: 'CGDisplayCreateImageForRect' is unavailable: obsoleted in macOS 15.0 - Please use ScreenCaptureKit instead.
  601 |         QCFType<CGImageRef> image = CGDisplayCreateImageForRect(displayId, grabRect.toCGRect());
      |                                     ^

I am not sure what to do here :/

REGRESSION: realsense2:arm64-osx failed with BUILD_FAILED. If expected, add realsense2:arm64-osx=fail to /Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt.

c++: error: unsupported option '-mfpu=' for target 'arm64-apple-darwin24.0.0'
c++: error: unsupported option '-mfloat-abi=' for target 'arm64-apple-darwin24.0.0'

Fixed upstream already: IntelRealSense/librealsense@5a24405

REGRESSION: urho3d:x64-osx failed with BUILD_FAILED. If expected, add urho3d:x64-osx=fail to /Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt.

/Users/vcpkg/Data/b/urho3d/src/3eb4f765c8-a481604850.clean/Source/ThirdParty/AngelScript/source/as_callfunc_x64_gcc.cpp
/Users/vcpkg/Data/b/urho3d/src/3eb4f765c8-a481604850.clean/Source/ThirdParty/AngelScript/source/as_callfunc_x64_gcc.cpp:143:4: error: invalid CFI advance_loc expression
  143 |                 " .cfi_def_cfa_register rsp \n"
      |                  ^
<inline asm>:44:2: note: instantiated into assembly here
   44 |  .cfi_def_cfa_register rsp 
      |  ^
1 error generated.
  1. This is vendoring angelscript which is bad/unacceptable.
  2. The repo has been archived https://github.com/urho3d/Urho3D

I think this should be delisted completely given that it broke and upstream is archived but given that this is just supposed to be an infrastructure update, I'm just skipping it for now.

REGRESSION: cmake:x64-osx cascaded, but it is required to pass. (/Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt).
REGRESSION: vcpkg-ci-freerdp:x64-osx cascaded, but it is required to pass. (/Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt).
REGRESSION: vcpkg-ci-openimageio:x64-osx cascaded, but it is required to pass. (/Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt).
REGRESSION: vcpkg-ci-paraview:arm64-osx cascaded, but it is required to pass. (/Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt).
REGRESSION: vcpkg-ci-paraview:x64-osx cascaded, but it is required to pass. (/Users/vcpkg/Data/work/2/s/scripts/azure-pipelines/../ci.baseline.txt).

These are broken by freerdp or qtbase missing.

@dg0yt
Copy link
Contributor

dg0yt commented Oct 5, 2024

urho3d: #27407

@BillyONeal
Copy link
Member Author

Angelscript failed again with:

/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/vcpkg/Data/p/angelscript_x64-osx/debug/lib/libangelscript.a(as_callfunc_mips.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/vcpkg/Data/p/angelscript_x64-osx/debug/lib/libangelscript.a(as_callfunc_x86.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/vcpkg/Data/p/angelscript_x64-osx/debug/lib/libangelscript.a(as_callfunc_x64_msvc.cpp.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /Users/vcpkg/Data/p/angelscript_x64-osx/debug/lib/libangelscript.a(as_callfunc_x64_mingw.cpp.o) has no symbols

Since that seems to be by design on macOS I'm not sure what to do here.

awlib:

/Library/Developer/CommandLineTools/usr/bin/c++ -DAW_MODULE_PLATFORM -DAW_STATIC_BUILD -I/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/platform/include -I/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/awlib/include -I/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/types/include -I/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/meta/include -I/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/algorithm/include -I/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/utility/include -I/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/math/include -fPIC -g -std=c++2b -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX15.0.sdk -fPIC -fvisibility=hidden -MD -MT platform/CMakeFiles/awplatform.dir/demangle.c++.o -MF platform/CMakeFiles/awplatform.dir/demangle.c++.o.d -o platform/CMakeFiles/awplatform.dir/demangle.c++.o -c /Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/platform/demangle.c++
In file included from /Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/platform/demangle.c++:10:
/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/types/include/aw/types/byte_buffer.h:25:75: error: no member named 'malloc' in namespace 'std'; did you mean simply 'malloc'?
   25 |         std::unique_ptr<byte_type, free_deleter> memory{ static_cast<byte_type*>(std::malloc(size)) };
      |                                                                                  ^~~~~~~~~~~
      |                                                                                  malloc
/Library/Developer/CommandLineTools/SDKs/MacOSX15.0.sdk/usr/include/malloc/_malloc.h:54:35: note: 'malloc' declared here
   54 | void * __sized_by_or_null(__size) malloc(size_t __size) __result_use_check __alloc_size(1) _MALLOC_TYPED(malloc_type_malloc, 1);
      |                                   ^
In file included from /Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/platform/demangle.c++:10:
/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/types/include/aw/types/byte_buffer.h:19:45: error: no type named 'free' in namespace 'std'
   19 |                 void operator()(byte_type* memory) { std::free(memory); }
      |                                                      ~~~~~^
2 errors generated.

Needs either <cstdlib> or to drop the std::.

I missed some msquic literals.

@BillyONeal
Copy link
Member Author

We have decided that we will not update our build lab to macOS 15/XCode 16 for now given the number of important components broken by the screen reading API removals. I'm going to finish the couple of patches here to submit them upstream, then close this PR.

@BillyONeal BillyONeal marked this pull request as draft October 10, 2024 00:46
@BillyONeal BillyONeal closed this Oct 10, 2024
BillyONeal added a commit to BillyONeal/awlib that referenced this pull request Oct 10, 2024
These build failures were detected while attempting to update vcpkg's test lab, which builds awlib, to macOS 15 "Sequoia" and XCode CLT 16: microsoft/vcpkg#41307

```console
/Users/vcpkg/Data/b/awlib/src/2024-04-06-4d0885f5ee.clean/io/include/aw/io/mmap_file.h:91:7: warning: case value not in enumerated type 'map_perms' [-Wswitch]
   91 |         case mp::read|mp::exec:
      |              ^
/Users/vcpkg/Data/b/awlib/src/2024-04-06-4d0885f5ee.clean/io/include/aw/io/mmap_file.h:95:7: warning: case value not in enumerated type 'map_perms' [-Wswitch]
   95 |         case mp::write|mp::exec:
      |              ^
/Users/vcpkg/Data/b/awlib/src/2024-04-06-4d0885f5ee.clean/io/include/aw/io/mmap_file.h:97:7: warning: case value not in enumerated type 'map_perms' [-Wswitch]
   97 |         case mp::rdwr|mp::exec:
      |              ^
3 warnings generated.
```

Fixed by casting these values to `unsigned` before going into the switch. I don't think this is particularly 'pretty' but at least it builds. A better solution in vcpkg would be to somehow make these warnings not errors, but I was less confident in being able to suppress that in ways that awlib's maintainers would find acceptable.

```
/Library/Developer/CommandLineTools/usr/bin/c++ -DAW_MODULE_PLATFORM -DAW_STATIC_BUILD -I/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/platform/include -I/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/awlib/include -I/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/types/include -I/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/meta/include -I/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/algorithm/include -I/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/utility/include -I/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/math/include -fPIC -g -std=c++2b -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX15.0.sdk -fPIC -fvisibility=hidden -MD -MT platform/CMakeFiles/awplatform.dir/demangle.c++.o -MF platform/CMakeFiles/awplatform.dir/demangle.c++.o.d -o platform/CMakeFiles/awplatform.dir/demangle.c++.o -c /Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/platform/demangle.c++
In file included from /Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/platform/demangle.c++:10:
/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/types/include/aw/types/byte_buffer.h:25:75: error: no member named 'malloc' in namespace 'std'; did you mean simply 'malloc'?
   25 |         std::unique_ptr<byte_type, free_deleter> memory{ static_cast<byte_type*>(std::malloc(size)) };
      |                                                                                  ^~~~~~~~~~~
      |                                                                                  malloc
/Library/Developer/CommandLineTools/SDKs/MacOSX15.0.sdk/usr/include/malloc/_malloc.h:54:35: note: 'malloc' declared here
   54 | void * __sized_by_or_null(__size) malloc(size_t __size) __result_use_check __alloc_size(1) _MALLOC_TYPED(malloc_type_malloc, 1);
      |                                   ^
In file included from /Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/platform/demangle.c++:10:
/Users/vcpkg/Data/b/awlib/src/2024-04-06-b57ded9dee.clean/types/include/aw/types/byte_buffer.h:19:45: error: no type named 'free' in namespace 'std'
   19 |                 void operator()(byte_type* memory) { std::free(memory); }
      |                                                      ~~~~~^
2 errors generated.
```

Fixed by adding missing <cstdlib> for std::malloc and std::free.
BillyONeal added a commit to BillyONeal/msquic that referenced this pull request Oct 10, 2024
This resolves build failures on macOS 15 "Sequoia" / XCode Command Line Tools 16 detected while attempting to update vcpkg's build and test lab: microsoft/vcpkg#41307

Example:

```
/Users/vcpkg/Data/b/msquic/src/v2.4.5-9d07a67b94.clean/src/core/quicdef.h:243:66: error: encoding prefix 'L' on an unevaluated string literal has no effect [-Werror,-Winvalid-unevaluated-string]
  243 | CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_ALLOC_SIZE), L"Must be power of two");
      |                                                                  ^
```
nibanks pushed a commit to microsoft/msquic that referenced this pull request Oct 10, 2024
This resolves build failures on macOS 15 "Sequoia" / XCode Command Line Tools 16 detected while attempting to update vcpkg's build and test lab: microsoft/vcpkg#41307

Example:

```
/Users/vcpkg/Data/b/msquic/src/v2.4.5-9d07a67b94.clean/src/core/quicdef.h:243:66: error: encoding prefix 'L' on an unevaluated string literal has no effect [-Werror,-Winvalid-unevaluated-string]
  243 | CXPLAT_STATIC_ASSERT(IS_POWER_OF_TWO(QUIC_MAX_RANGE_ALLOC_SIZE), L"Must be power of two");
      |                                                                  ^
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:infrastructure Pertaining to the CI/Testing infrastrucutre info:internal This PR or Issue was filed by the vcpkg team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants