osquery icon indicating copy to clipboard operation
osquery copied to clipboard

Build broken with XCode 16.3 (macOS SDK 15.4)

Open zwass opened this issue 6 months ago • 6 comments

Workaround

Use XCode 16.2

  1. Download XCode 16.2 (requires Apple Developer login)
  2. Put it in Applications (eg mv ~/Downloads/Xcode.app /Applications/Xcode-16.2.app)
  3. xcode-select that version (eg sudo xcode-select -s /Applications/Xcode-16.2.app)

Issues

(At least 2)

zlib

In file included from /Users/zwass/dev/osquery/libraries/cmake/source/zlib/src/zutil.c:10:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/zlib/src/gzguts.h:20:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/stdio.h:61:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/_stdio.h:318:7: error: expected identifier or '('
  318 | FILE    *fdopen(int, const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_2_0, __DARWIN_ALIAS(fdopen));
      |          ^
/Users/zwass/dev/osquery/libraries/cmake/source/zlib/src/zutil.h:147:33: note: expanded from macro 'fdopen'
  147 | #        define fdopen(fd,mode) NULL /* No fdopen() */
      |                                 ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/17/include/__stddef_null.h:26:16: note: expanded from macro 'NULL'
   26 | #define NULL ((void*)0)
      |                ^

This seems to be resolved by updating to zlib v1.3.1. See forum thread.

boost

In file included from /Users/zwass/dev/osquery/osquery/remote/http_client.cpp:11:
In file included from /Users/zwass/dev/osquery/build/ns_osquery_remote_httpclient/osquery/remote/http_client.h:31:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/asio/include/boost/asio/deadline_timer.hpp:24:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/asio/include/boost/asio/basic_deadline_timer.hpp:25:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/asio/include/boost/asio/detail/deadline_timer_service.hpp:31:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/asio/include/boost/asio/detail/timer_queue_ptime.hpp:22:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/asio/include/boost/asio/time_traits.hpp:23:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/date_time/include/boost/date_time/posix_time/posix_time_types.hpp:16:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/date_time/include/boost/date_time/posix_time/posix_time_duration.hpp:15:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/numeric/conversion/include/boost/numeric/conversion/cast.hpp:33:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/numeric/conversion/include/boost/numeric/conversion/converter.hpp:13:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/numeric/conversion/include/boost/numeric/conversion/conversion_traits.hpp:13:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/numeric/conversion/include/boost/numeric/conversion/detail/conversion_traits.hpp:18:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/numeric/conversion/include/boost/numeric/conversion/detail/int_float_mixture.hpp:19:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/mpl/include/boost/mpl/integral_c.hpp:32:
/Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/mpl/include/boost/mpl/aux_/integral_wrapper.hpp:73:31: error: integer value -1 is outside the valid range of values [0, 3] for the enumeration type 'udt_builtin_mixture_enum' [-Wenum-constexpr-conversion]
   73 |     typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior;
      |                               ^
/Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/mpl/include/boost/mpl/aux_/static_cast.hpp:24:47: note: expanded from macro 'BOOST_MPL_AUX_STATIC_CAST'
   24 | #   define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)
      |                                               ^
In file included from /Users/zwass/dev/osquery/osquery/remote/http_client.cpp:11:
In file included from /Users/zwass/dev/osquery/build/ns_osquery_remote_httpclient/osquery/remote/http_client.h:31:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/asio/include/boost/asio/deadline_timer.hpp:24:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/asio/include/boost/asio/basic_deadline_timer.hpp:25:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/asio/include/boost/asio/detail/deadline_timer_service.hpp:31:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/asio/include/boost/asio/detail/timer_queue_ptime.hpp:22:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/asio/include/boost/asio/time_traits.hpp:23:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/date_time/include/boost/date_time/posix_time/posix_time_types.hpp:16:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/date_time/include/boost/date_time/posix_time/posix_time_duration.hpp:15:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/numeric/conversion/include/boost/numeric/conversion/cast.hpp:33:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/numeric/conversion/include/boost/numeric/conversion/converter.hpp:13:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/numeric/conversion/include/boost/numeric/conversion/conversion_traits.hpp:13:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/numeric/conversion/include/boost/numeric/conversion/detail/conversion_traits.hpp:18:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/numeric/conversion/include/boost/numeric/conversion/detail/int_float_mixture.hpp:19:
In file included from /Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/mpl/include/boost/mpl/integral_c.hpp:32:
/Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/mpl/include/boost/mpl/aux_/integral_wrapper.hpp:73:31: error: integer value -1 is outside the valid range of values [0, 3] for the enumeration type 'int_float_mixture_enum' [-Wenum-constexpr-conversion]
/Users/zwass/dev/osquery/libraries/cmake/source/boost/src/libs/mpl/include/boost/mpl/aux_/static_cast.hpp:24:47: note: expanded from macro 'BOOST_MPL_AUX_STATIC_CAST'
   24 | #   define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)
      |                                               ^
2 errors generated.
make[2]: *** [osquery/remote/CMakeFiles/osquery_remote_httpclient.dir/http_client.cpp.o] Error 1
make[1]: *** [osquery/remote/CMakeFiles/osquery_remote_httpclient.dir/all] Error 2

zwass avatar Apr 08 '25 19:04 zwass