Skip to content

Comments

Update macOS machines for May 2024#38834

Merged
BillyONeal merged 16 commits intomicrosoft:masterfrom
BillyONeal:macos-may-2024
Jun 4, 2024
Merged

Update macOS machines for May 2024#38834
BillyONeal merged 16 commits intomicrosoft:masterfrom
BillyONeal:macos-may-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 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/python@3.12/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:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this. label Jun 4, 2024
@BillyONeal BillyONeal merged commit a4275b7 into microsoft:master Jun 4, 2024
@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 <v-liumonica@microsoft.com>
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:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants