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 for January 2024 #35617

Merged
merged 19 commits into from
Jan 25, 2024
Merged

Conversation

BillyONeal
Copy link
Member

@BillyONeal BillyONeal commented Dec 12, 2023

macOS 14.2.1 on amd64, 14.3 on arm64
XCode Console Tools 15.1

Other changes:

  • macOS install is done from the installers rather than from the recovery partition
  • readme.md is now written for a vcpkg-team audience
  • vagrant is removed as a dependency so that discussion of how to persist the VMs between machines could be included
  • arm64 is added using https://github.com/s-u/macosvm

@BillyONeal BillyONeal added info:internal This PR or Issue was filed by the vcpkg team. category:infrastructure Pertaining to the CI/Testing infrastrucutre labels Dec 12, 2023
@@ -279,8 +277,6 @@ directxsdk:x64-windows=skip
directxsdk:x64-windows-static-md=skip
discord-rpc:arm64-uwp=fail
discord-rpc:x64-uwp=fail
discordcoreapi:x64-linux=fail
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This record still needs to be kept.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I messed up a merge :/

@Cheney-W
Copy link
Contributor

discordcoreapi:x64-linux still failed with below error:
/mnt/vcpkg-ci/buildtrees/discordcoreapi/src/v2.0.3-443fae93ea.clean/Library/../Include/discordcoreapi/Utilities/Base.hpp:409:46: error: ‘current_zone’ is not a member of ‘std::chrono’

@BillyONeal BillyONeal changed the title Update macOS for December 2023 + turn on arm64 Update macOS for December 2023 Dec 13, 2023
@BillyONeal BillyONeal mentioned this pull request Dec 13, 2023
@BillyONeal
Copy link
Member Author

@autoantwort pointed out I created the VMs with the wrong number of cpus and RAM over Discord so I have severed the arm64 part into #35665

@BillyONeal
Copy link
Member Author

The amd64 instructions are toast due to popups happening during the build that cause things to hang while building kf5texteditor:

screenshot popup example

@autoantwort
Copy link
Contributor

-- installation will execute /Users/leanderSchulten/git_projekte/vcpkg/vcpkg_installed/x64-osx/debug/lib/libexec/kauth/kauth-policy-gen buffer/org.kde.ktexteditor.katetextbuffer.actions in /Users/leanderSchulten/git_projekte/vcpkg/buildtrees/kf5texteditor/src/v5.98.0-94e36b3867.clean/src

I have done that manually, but it simply runs without a popup. Maybe I already said no in the past (?)

@BillyONeal BillyONeal changed the title Update macOS for December 2023 Update macOS for January 2024 Jan 13, 2024
Other changes:
* macOS install is done from the installers rather than from the recovery partition
* readme.md is now written for a vcpkg-team audience
* vagrant is removed as a dependency so that discussion of how to persist the VMs between machines could be included

I expect the next time we do this more steps to be automated.
@BillyONeal
Copy link
Member Author

BillyONeal commented Jan 20, 2024

OK, now everything happens through SSH just like it did with Vagrant, meaning the guest has no interactive user, meaning that popup should be dead. We'll see!

@BillyONeal
Copy link
Member Author

I made the arm64 boxes incorrectly (forgot to expand the disk) so if amd64 passes I'm going to just use that.

@autoantwort
Copy link
Contributor

I made the arm64 boxes incorrectly (forgot to expand the disk)

But apart from that, everything seems to be working now?

@BillyONeal
Copy link
Member Author

I made the arm64 boxes incorrectly (forgot to expand the disk)

But apart from that, everything seems to be working now?

I don't know, since it got about 200 packages in and exploded due to no disk space

@BillyONeal
Copy link
Member Author

@autoantwort On the plus side I'm going to try to use https://github.com/s-u/macosvm for arm64 instead of Parallels meaning it should be easier to follow our exact instructions.

@autoantwort
Copy link
Contributor

@autoantwort The only one I'm not sure how to address is the allegro5 one. Any ideas?

Hm no. I also can not reproduce

@BillyONeal
Copy link
Member Author

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

BillyONeal added a commit to BillyONeal/vcpkg that referenced this pull request Jan 24, 2024
@CaseyCarter , the author of cmcstl2, indicates that it is no longer maintained. It also conflicts with range-v3, which is why it is marked 'skip' in all non-community triplets in ci.baseline.txt .

This was discovered in the attempt to add `arm64-osx` as a non-community triplet in microsoft#35617 / https://dev.azure.com/vcpkg/public/_build/results?buildId=98838
@BillyONeal
Copy link
Member Author

@autoantwort The only one I'm not sure how to address is the allegro5 one. Any ideas?

Hm no. I also can not reproduce

image

Maybe depends on CMake version?

@BillyONeal
Copy link
Member Author

BillyONeal commented Jan 25, 2024

@autoantwort The only one I'm not sure how to address is the allegro5 one. Any ideas?

Hm no. I also can not reproduce

image

Maybe depends on CMake version?

Confirmed: It is broken in CMake 3.28.1 but works in 3.27.9.

@BillyONeal
Copy link
Member Author

In CMake 3.27, FREETYPE_LIBRARIES is:

optimized;/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libfreetype.a;debug;/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libfreetyped.a;optimized;/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libz.a;debug;/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libz.a;optimized;/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libbz2.a;debug;/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libbz2d.a;optimized;/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libpng16.a;debug;/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libpng16d.a;optimized;/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libz.a;debug;/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libz.a;optimized;/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libbrotlidec.a;debug;/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libbrotlidec.a;optimized;/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libbrotlicommon.a;debug;/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libbrotlicommon.a

while in 3.28 it is:

optimized;/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libfreetype.a;debug;/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libfreetyped.a;$<LINK_ONLY:ZLIB::ZLIB>;$<$<NOT:$CONFIG:DEBUG>:/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libbz2.a>;$<$CONFIG:DEBUG:/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libbz2d.a>;$<$<NOT:$CONFIG:DEBUG>:/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libpng16.a>;$<$CONFIG:DEBUG:/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libpng16d.a>;$<$<NOT:$CONFIG:DEBUG>:/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libz.a>;$<$CONFIG:DEBUG:/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libz.a>;$<$<NOT:$CONFIG:DEBUG>:/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libbrotlidec.a>;$<$CONFIG:DEBUG:/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libbrotlidec.a>;$<$<NOT:$CONFIG:DEBUG>:/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libbrotlicommon.a>;$<$CONFIG:DEBUG:/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libbrotlicommon.a>;optimized;/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libz.a;debug;/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libz.a;optimized;/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libbz2.a;debug;/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libbz2d.a;optimized;/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libpng16.a;debug;/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libpng16d.a;optimized;/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libz.a;debug;/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libz.a;optimized;/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libbrotlidec.a;debug;/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libbrotlidec.a;optimized;/Users/vcpkg/vcpkg/installed/arm64-osx/lib/libbrotlicommon.a;debug;/Users/vcpkg/vcpkg/installed/arm64-osx/debug/lib/libbrotlicommon.a

The only place I see this LINK_ONLY is in installed/arm64-osx/share/freetype/freetype-targets.cmake:

set_target_properties(freetype PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:ZLIB::ZLIB>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${VCPKG_IMPORT_PREFIX}/lib/libbz2.a>;\$<\$<CONFIG:DEBUG>:${VCPKG_IMPORT_PREFIX}/debug/lib/libbz2d.a>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${VCPKG_IMPORT_PREFIX}/lib/libpng16.a>;\$<\$<CONFIG:DEBUG>:${VCPKG_IMPORT_PREFIX}/debug/lib/libpng16d.a>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${VCPKG_IMPORT_PREFIX}/lib/libz.a>;\$<\$<CONFIG:DEBUG>:${VCPKG_IMPORT_PREFIX}/debug/lib/libz.a>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${VCPKG_IMPORT_PREFIX}/lib/libbrotlidec.a>;\$<\$<CONFIG:DEBUG>:${VCPKG_IMPORT_PREFIX}/debug/lib/libbrotlidec.a>;\$<\$<NOT:\$<CONFIG:DEBUG>>:${VCPKG_IMPORT_PREFIX}/lib/libbrotlicommon.a>;\$<\$<CONFIG:DEBUG>:${VCPKG_IMPORT_PREFIX}/debug/lib/libbrotlicommon.a>"
)

@BillyONeal
Copy link
Member Author

BillyONeal commented Jan 25, 2024

I think https://gitlab.kitware.com/cmake/cmake/-/commit/d83d925045484c882527477b01596073f45d3faa is the source of the regression of our allegro5 port. (This may be intentionally changed on CMake's part so I'm not calling it a bug there yet)

@BillyONeal
Copy link
Member Author

I filed https://gitlab.kitware.com/cmake/cmake/-/issues/25635

BillyONeal added a commit that referenced this pull request Jan 25, 2024
@CaseyCarter , the author of cmcstl2, indicates that it is no longer maintained. It also conflicts with range-v3, which is why it is marked 'skip' in all non-community triplets in ci.baseline.txt .

This was discovered in the attempt to add `arm64-osx` as a non-community triplet in #35617 / https://dev.azure.com/vcpkg/public/_build/results?buildId=98838
@autoantwort
Copy link
Contributor

I think we should also move the triplet file from the community triplet folder to the official one.

@BillyONeal
Copy link
Member Author

I think we should also move the triplet file from the community triplet folder to the official one.

I agree but I need lots of folks to sign off making that change so I want to land this as is for now.

@BillyONeal BillyONeal merged commit cf20e29 into microsoft:master Jan 25, 2024
14 of 16 checks passed
@BillyONeal BillyONeal deleted the macos-december-2023 branch January 25, 2024 18:50
@autoantwort
Copy link
Contributor

Whoop whoop 🎉 Thank you for investing this large amount of time to make this possible! :)

@Cheney-W Cheney-W added the info:reviewed Pull Request changes follow basic guidelines label Jan 26, 2024
@BillyONeal
Copy link
Member Author

Whoop whoop 🎉 Thank you for investing this large amount of time to make this possible! :)

Thank you for the large amount of time fixing a bunch of ports before we got off our butts to fix it so that doing it was relatively painless :)

TomKatom pushed a commit to TomKatom/vcpkg that referenced this pull request Feb 23, 2024
@CaseyCarter , the author of cmcstl2, indicates that it is no longer maintained. It also conflicts with range-v3, which is why it is marked 'skip' in all non-community triplets in ci.baseline.txt .

This was discovered in the attempt to add `arm64-osx` as a non-community triplet in microsoft#35617 / https://dev.azure.com/vcpkg/public/_build/results?buildId=98838
TomKatom pushed a commit to TomKatom/vcpkg that referenced this pull request Feb 23, 2024
macOS 14.2.1 on amd64, 14.3 on arm64
XCode Console Tools 15.1

Other changes:

macOS install is done from the installers rather than from the recovery partition
readme.md is now written for a vcpkg-team audience
vagrant is removed as a dependency so that discussion of how to persist the VMs between machines could be included
arm64 is added using https://github.com/s-u/macosvm
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. info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants