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 machines for May 2024 #38834

Merged
merged 16 commits into from
Jun 4, 2024

Conversation

BillyONeal
Copy link
Member

@BillyONeal BillyONeal commented May 21, 2024

  • Run through the macOS update instructions one more time. I think they're in a pretty good state now since this is the first attempt to rerun them since we dropped Vagrant.
  • Removed Parallels references for arm64.
  • Removed references to removing Vagrant because it's no longer on any of the hosts.
  • Update macOS to 14.5.
  • Update XCode CLT to 14.3.

@BillyONeal BillyONeal added info:internal This PR or Issue was filed by the vcpkg team. category:infrastructure Pertaining to the CI/Testing infrastrucutre labels May 21, 2024
@BillyONeal
Copy link
Member Author

BillyONeal commented May 22, 2024

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

gmp hates the new copy of m4 or it isn't being installed correctly; I need to investigate.

I think if there was no m4 at all more than gmp would be broken.

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

New compiler warning:

provided for compatibility reasons only.  Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations]
  int ret = std::sprintf(buf, "%02x", (int)byte);
                 ^
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/include/stdio.h:180:1: note: 'sprintf' has been explicitly marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
^
/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/usr/include/sys/cdefs.h:218:48: note: expanded from macro '__deprecated_msg'
        #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
                                                      ^
1 warning generated.

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

Broken by Python 3.12

/usr/local/opt/[email protected]/bin/python3.12 gio/gdbus-2.0/codegen/gdbus-codegen --interface-prefix org. --output-directory gio --generate-c-code gdbus-daemon-generated --c-namespace _G ../src/glib-2-322e03f702.clean/gio/dbus-daemon.xml
Traceback (most recent call last):
  File "/Users/vcpkg/Data/b/glib/x64-osx-dbg/gio/gdbus-2.0/codegen/gdbus-codegen", line 53, in <module>
    from codegen import codegen_main
  File "/Users/vcpkg/Data/b/glib/x64-osx-dbg/gio/gdbus-2.0/codegen/codegen_main.py", line 29, in <module>
    from . import dbustypes
  File "/Users/vcpkg/Data/b/glib/x64-osx-dbg/gio/gdbus-2.0/codegen/dbustypes.py", line 22, in <module>
    from . import utils
  File "/Users/vcpkg/Data/b/glib/x64-osx-dbg/gio/gdbus-2.0/codegen/utils.py", line 22, in <module>
    import distutils.version
ModuleNotFoundError: No module named 'distutils'

Probably fixed by https://gitlab.gnome.org/GNOME/glib/-/commit/c40fa821b8f0a537e95cb0f1a615770cd34b61fb

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

New compiler warning:

/Users/vcpkg/Data/b/netcdf-c/src/83aa5b8e47-10b35fdabd.clean/libdispatch/dcopy.c:749:10: warning: implicit conversion changes signedness: 'int' to 'uintptr_t' (aka 'unsigned long') [-Wsign-conversion]
    id = grp;
       ~ ^~~

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

Almost certainly missing a header:

/Users/vcpkg/Data/b/clockutils/src/f5f00247c5-36925c3e84.clean/include/clockUtils/sockets/TcpSocket.h:423:8: error: no type named 'thread' in namespace 'std'
                std::thread * _worker;
                ~~~~~^

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

Might be a config switch to control but this is probably legitimately broken -> ci.baseline.txt after investigation.

/Users/vcpkg/Data/b/cppcoro/src/1f5f9eb148-82b1d1c484.clean/include/cppcoro/static_thread_pool.hpp:14:10: fatal error: 'experimental/coroutine' file not found
#include <experimental/coroutine>
         ^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

PASSING, REMOVE FROM FAIL LIST: cppslippi:x64-osx (/Users/vcpkg/Data/work/1/s/scripts/azure-pipelines/../ci.baseline.txt).

:)

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

Broken by Python 3.12

Traceback (most recent call last):
  File "/Users/vcpkg/Data/b/crashpad/src/951b70517d-a4e19cb5ec.clean/third_party/mini_chromium/mini_chromium/build/find_mac_sdk.py", line 11, in <module>
    import distutils.version
ModuleNotFoundError: No module named 'distutils'

I do not believe there is a workaround. Currently planning to skip in ci.baseline.txt. https://chromium.googlesource.com/chromium/mini_chromium/+/refs/heads/main/build/find_mac_sdk.py#11 has this as a hard dependency. /cc editors of Crashpad @RealChuan @omartijn @martijn-resolume @promag @Znurre @vejmartin @bold84

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

New compiler warning:

/Users/vcpkg/Data/b/geogram/src/v1.8.3-70b7bcf131.clean/src/lib/geogram/basic/attributes.h:1282:3: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins]
                __has_trivial_copy(T),
                ^

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

New compiler warning:

/Users/vcpkg/Data/b/stormlib/src/aee45ac3c2-cf775d9e5a.clean/src/StormPort.h:88:14: warning: '__SYS_BZLIB' macro redefined [-Wmacro-redefined]
  #define    __SYS_BZLIB
             ^
<command line>:3:9: note: previous definition is here
#define __SYS_BZLIB 1
        ^

@BillyONeal BillyONeal marked this pull request as draft May 22, 2024 00:46
@Neumann-A
Copy link
Contributor

Neumann-A commented May 22, 2024

The gmp issue could be due to an update of autoconf. We already saw failures on windows of it when msys was updated.

@Neumann-A
Copy link
Contributor

Broken by Python 3.12

pip install setuptools should solve it.

@RealChuan
Copy link
Contributor

brew install python-setuptools

@BillyONeal
Copy link
Member Author

gmp hates the new copy of m4 or it isn't being installed correctly; I need to investigate.

Might be https://apple.stackexchange.com/a/422242

@BillyONeal
Copy link
Member Author

Actually several of the compiler warning ones were actually the same m4 issue. Going to try reminting the image and poking the UI.

    * Also add explicit sanity test in the instructions
* Add python-setuptools to the brew list
* Delete .ssh/known_hosts when recycling the VM rather than -o StrictHostKeychecking=no
@BillyONeal
Copy link
Member Author

image
:sigh:

@BillyONeal
Copy link
Member Author

brew install python-setuptools

@RealChuan Thanks, added

@Neumann-A
Copy link
Contributor

Actually several of the compiler warning ones were actually the same m4 issue.

are you maybe seeing the same as in this issue:
#38963 (comment)

@BillyONeal
Copy link
Member Author

BillyONeal commented May 31, 2024

Builds:

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

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

/Users/vcpkg/Data/b/clockutils/src/f5f00247c5-36925c3e84.clean/include/clockUtils/sockets/TcpSocket.h:423:8: error: no type named 'thread' in namespace 'std'
                std::thread * _worker;
                ~~~~~^
/Users/vcpkg/Data/b/clockutils/src/f5f00247c5-36925c3e84.clean/include/clockUtils/sockets/TcpSocket.h:424:8: error: no type named 'thread' in namespace 'std'
                std::thread * _listenThread;
                ~~~~~^
/Users/vcpkg/Data/b/clockutils/src/f5f00247c5-36925c3e84.clean/include/clockUtils/sockets/TcpSocket.h:429:8: error: no type named 'thread' in namespace 'std'
                std::thread * _callbackThread;
                ~~~~~^

Missing header, patched here.

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

Depends on the Coroutines TS, which has now been removed. => ci.baseline.txt . This library looks dead.

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

/Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl3.h:1891:21: note: 'glShaderSource' has been explicitly marked deprecated here
GLAPI void APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) OPENGL_DEPRECATED(10.5, 10.14);
                    ^
src/libavdevice/opengl_enc.c:482:27: error: incompatible function pointer types assigning to 'FF_PFNGLSHADERSOURCEPROC' (aka 'void (*)(unsigned int, int, const char **, const int *)') from 'void (GLuint, GLsizei, const GLchar *const *, const GLint *)' (aka 'void (unsigned int, int, const char *const *, const int *)') [-Wincompatible-function-pointer-types]
    procs->glShaderSource = glShaderSource;
                          ^ ~~~~~~~~~~~~~~

Patch submitted upstream: https://ffmpeg.org/pipermail/ffmpeg-devel/2024-May/328635.html

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

/Users/vcpkg/Data/b/geogram/src/v1.8.3-70b7bcf131.clean/src/lib/third_party/numerics/SUPERLU/cutil.c:478:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
print_complex_vec(char *what, int n, complex *vec)
^
int
1 error generated.

Fixed by cherry picking upstream change.

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

These blow up in some Python guts. There have been other edits to qt in the meantime so I'm going to hope they fixed it...

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

/Users/vcpkg/Data/b/stormlib/src/aee45ac3c2-cf775d9e5a.clean/src/libtomcrypt/src/pk/rsa/rsa_verify_simple.c:58:12: warning: call to undeclared function 'LibTomMalloc'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  tmpbuf = XMALLOC(siglen);
           ^
/Users/vcpkg/Data/b/stormlib/src/aee45ac3c2-cf775d9e5a.clean/src/libtomcrypt/src/pk/rsa/../../headers/tomcrypt_custom.h:27:18: note: expanded from macro 'XMALLOC'
#define XMALLOC  LibTomMalloc

Fixed by updating to a non ancient copy.

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

Fixed by fixing ffmpeg.

…bot tagged dependencies.

Pathtools does not work with Python 3.12 ( gorakhargosh/pathtools#13 ) and qtinterfaceframework says: - Use ``pathlib`` from the standard library, instead of pathtools (`microsoft#556 <https://github.com/gorakhargosh/watchdog/pull/556>`_)
@BillyONeal BillyONeal marked this pull request as ready for review June 3, 2024 18:10
@BillyONeal
Copy link
Member Author

BillyONeal commented Jun 3, 2024

Tagging @Neumann-A due to qt edits herein

@@ -3,10 +3,9 @@ argh==0.26.2
click==6.7
Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor

Choose a reason for hiding this comment

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

but i dont mind the changes.

Copy link
Member Author

Choose a reason for hiding this comment

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

We already have some skew from there from other Dependabot fixes: 5d66a98

It looks like that's intended to document oldest dependencies that work based on https://code.qt.io/cgit/qt/qtinterfaceframework-qface.git/commit/requirements_minimal.txt?id=bab155249bbd8cba4efd96f50a22bdff37220ea9 so I think this is OK as long as build works...

@BillyONeal
Copy link
Member Author

qt5-location was:

In file included from /Users/vcpkg/Data/b/qt5-location/src/5.15.13-842fbb6b87.clean/src/3rdparty/mapbox-gl-native/src/mbgl/annotation/annotation_manager.cpp:1:
In file included from /Users/vcpkg/Data/b/qt5-location/src/5.15.13-842fbb6b87.clean/src/3rdparty/mapbox-gl-native/src/mbgl/annotation/annotation_manager.hpp:4:
In file included from /Users/vcpkg/Data/b/qt5-location/src/5.15.13-842fbb6b87.clean/src/3rdparty/mapbox-gl-native/src/mbgl/annotation/symbol_annotation_impl.hpp:24:
In file included from /Users/vcpkg/Data/b/qt5-location/src/5.15.13-842fbb6b87.clean/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/geometry.hpp:17:
In file included from /Users/vcpkg/Data/b/qt5-location/src/5.15.13-842fbb6b87.clean/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/geometry/geometry.hpp:43:
In file included from /Users/vcpkg/Data/b/qt5-location/src/5.15.13-842fbb6b87.clean/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/geometry/core/radian_access.hpp:26:
In file included from /Users/vcpkg/Data/b/qt5-location/src/5.15.13-842fbb6b87.clean/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/numeric/conversion/cast.hpp:33:
In file included from /Users/vcpkg/Data/b/qt5-location/src/5.15.13-842fbb6b87.clean/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/numeric/conversion/converter.hpp:13:
In file included from /Users/vcpkg/Data/b/qt5-location/src/5.15.13-842fbb6b87.clean/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/numeric/conversion/conversion_traits.hpp:13:
In file included from /Users/vcpkg/Data/b/qt5-location/src/5.15.13-842fbb6b87.clean/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/numeric/conversion/detail/conversion_traits.hpp:18:
In file included from /Users/vcpkg/Data/b/qt5-location/src/5.15.13-842fbb6b87.clean/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/numeric/conversion/detail/int_float_mixture.hpp:19:
In file included from /Users/vcpkg/Data/b/qt5-location/src/5.15.13-842fbb6b87.clean/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/mpl/integral_c.hpp:32:
/Users/vcpkg/Data/b/qt5-location/src/5.15.13-842fbb6b87.clean/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/mpl/aux_/integral_wrapper.hpp:73:31: error: integer value -1 is outside the valid range of values [0, 3] for this enumeration type [-Wenum-constexpr-conversion]
    typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior;
                              ^
/Users/vcpkg/Data/b/qt5-location/src/5.15.13-842fbb6b87.clean/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/mpl/aux_/static_cast.hpp:24:47: note: expanded from macro 'BOOST_MPL_AUX_STATIC_CAST'
#   define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)
                                              ^

@JonLiu1993 JonLiu1993 added the info:reviewed Pull Request changes follow basic guidelines label Jun 4, 2024
@BillyONeal BillyONeal merged commit a4275b7 into microsoft:master Jun 4, 2024
17 checks passed
@BillyONeal BillyONeal deleted the macos-may-2024 branch June 4, 2024 20:35
Jimmy-Hu added a commit to Jimmy-Hu/vcpkg that referenced this pull request Jun 5, 2024
Update macOS machines for May 2024 (microsoft#38834)
vicroms pushed a commit that referenced this pull request Jun 8, 2024
Passing on
https://dev.azure.com/vcpkg/public/_build/results?buildId=103701&view=results.

Added `clockutils:x64-linux=fail` to `ci.baseline.txt` by #9203, which
has been fixed by #38834.
```
PASSING, REMOVE FROM FAIL LIST: clockutils:x64-linux
```

- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] ~~SHA512s are updated for each updated download.~~
- [ ] ~~The "supports" clause reflects platforms that may be fixed by
this new version.~~
- [ ] ~~Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.~~
- [ ] ~~Any patches that are no longer applied are deleted from the
port's directory.~~
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.

Co-authored-by: Monica <[email protected]>
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.

5 participants