mihaip / infinite-mac

A classic Mac loaded with everything you'd want
https://infinitemac.org
Apache License 2.0
1.17k stars 70 forks source link

xcode version required to build #169

Closed pixitha closed 1 year ago

pixitha commented 1 year ago

Ran into an issue trying to build locally:

/infinite-mac/XADMaster/XADMaster.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.6, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'libXADMaster.a' from project 'XADMaster')
** BUILD FAILED **

Which version of npm and which version of xcode would you recommend to build with?

I was using latest XCode on Ventura, 14.3. Also using npm v16 (to avoid the openssl errors with v17+).

mihaip commented 1 year ago

That's a build warning, but should not prevent the build from completing. Is there anything else in the build output?

FWIW I've successfully build XADMaster using Xcode 14.2, and 14.3 should not be materially different.

pixitha commented 1 year ago

Oh yeah I guess I just assume the errors were related to that, oops!

npm run build-xadmaster

> infinite-mac@0.1.0 build-xadmaster
> scripts/build-xadmaster.sh

2023-04-17 11:28:19.755 xcodebuild[1534:26332] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled)
Command line invocation:
    /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -scheme lsar -project scripts/../XADMaster/XADMaster.xcodeproj -configuration Release SYMROOT=/Users/user/infinite-mac/XADMaster-build

User defaults from command line:
    IDEPackageSupportUseBuiltinSCM = YES

Build settings from command line:
    SYMROOT = /Users/user/infinite-mac/XADMaster-build

--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:x86_64, id:31786216-B65F-5A73-A572-A580B0E6C01C }
{ platform:macOS, name:Any Mac }
Prepare packages

Computing target dependency graph and provisioning inputs

Create build description
Build description signature: 3f43f39ba6542c61afb5b4bf155e81cd
Build description path: /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XCBuildData/3f43f39ba6542c61afb5b4bf155e81cd.xcbuilddata

note: Building targets in dependency order
ClangStatCache /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk /Users/user/Library/Developer/Xcode/DerivedData/SDKStatCaches.noindex/macosx13.3-22E245-.sdkstatcache
    cd /Users/user/infinite-mac/XADMaster/XADMaster.xcodeproj
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -o /Users/user/Library/Developer/Xcode/DerivedData/SDKStatCaches.noindex/macosx13.3-22E245-.sdkstatcache
Base directory status changed. Regenerating...

ProcessProductPackaging "" /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/lsar.xcent (in target 'lsar' from project 'XADMaster')
    cd /Users/user/infinite-mac/XADMaster

    Entitlements:

    {
    "com.apple.application-identifier" = "";
    "com.apple.security.get-task-allow" = 1;
}

    builtin-productPackagingUtility -entitlements -format xml -o /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/lsar.xcent

ProcessProductPackagingDER /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/lsar.xcent /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/lsar.xcent.der (in target 'lsar' from project 'XADMaster')
    cd /Users/user/infinite-mac/XADMaster
    /usr/bin/derq query -f xml -i /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/lsar.xcent -o /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/lsar.xcent.der --raw

Ld /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/Objects-normal/x86_64/Binary/lsar normal x86_64 (in target 'lsar' from project 'XADMaster')
    cd /Users/user/infinite-mac/XADMaster
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -Xlinker -reproducible -target x86_64-apple-macos10.9 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -L/Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/EagerLinkingTBDs/Release -L/Users/user/infinite-mac/XADMaster-build/Release -F/Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/EagerLinkingTBDs/Release -F/Users/user/infinite-mac/XADMaster-build/Release -filelist /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/Objects-normal/x86_64/lsar.LinkFileList -Xlinker -object_path_lto -Xlinker /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/Objects-normal/x86_64/lsar_lto.o -fobjc-link-runtime -all_load -ObjC -lc++ -lbz2 -framework Foundation -framework Carbon -lUniversalDetector -lXADMaster -lz -Xlinker -no_adhoc_codesign -Xlinker -dependency_info -Xlinker /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/Objects-normal/x86_64/lsar_dependency_info.dat -o /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/Objects-normal/x86_64/Binary/lsar
ld: file not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Ld /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/Objects-normal/arm64/Binary/lsar normal arm64 (in target 'lsar' from project 'XADMaster')
    cd /Users/user/infinite-mac/XADMaster
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -Xlinker -reproducible -target arm64-apple-macos10.9 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -L/Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/EagerLinkingTBDs/Release -L/Users/user/infinite-mac/XADMaster-build/Release -F/Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/EagerLinkingTBDs/Release -F/Users/user/infinite-mac/XADMaster-build/Release -filelist /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/Objects-normal/arm64/lsar.LinkFileList -Xlinker -object_path_lto -Xlinker /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/Objects-normal/arm64/lsar_lto.o -fobjc-link-runtime -all_load -ObjC -lc++ -lbz2 -framework Foundation -framework Carbon -lUniversalDetector -lXADMaster -lz -Xlinker -no_adhoc_codesign -Xlinker -dependency_info -Xlinker /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/Objects-normal/arm64/lsar_dependency_info.dat -o /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/Objects-normal/arm64/Binary/lsar

/Users/user/infinite-mac/XADMaster/XADMaster.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.6, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'libXADMaster.a' from project 'XADMaster')
/Users/user/infinite-mac/XADMaster/XADMaster.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.9, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'lsar' from project 'XADMaster')
** BUILD FAILED **

The following build commands failed:
    Ld /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/lsar.build/Objects-normal/x86_64/Binary/lsar normal x86_64 (in target 'lsar' from project 'XADMaster')
(1 failure)
2023-04-17 11:28:33.250 xcodebuild[1562:26496] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled)
Command line invocation:
    /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -scheme unar -project scripts/../XADMaster/XADMaster.xcodeproj -configuration Release SYMROOT=/Users/user/infinite-mac/XADMaster-build

User defaults from command line:
    IDEPackageSupportUseBuiltinSCM = YES

Build settings from command line:
    SYMROOT = /Users/user/infinite-mac/XADMaster-build

--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:x86_64, id:31786216-B65F-5A73-A572-A580B0E6C01C }
{ platform:macOS, name:Any Mac }
Prepare packages

Computing target dependency graph and provisioning inputs

Create build description
Build description signature: 88f2e6b191b2705f3f424c4b893ce973
Build description path: /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XCBuildData/88f2e6b191b2705f3f424c4b893ce973.xcbuilddata

note: Building targets in dependency order
ClangStatCache /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk /Users/user/Library/Developer/Xcode/DerivedData/SDKStatCaches.noindex/macosx13.3-22E245-.sdkstatcache
    cd /Users/user/infinite-mac/XADMaster/XADMaster.xcodeproj
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -o /Users/user/Library/Developer/Xcode/DerivedData/SDKStatCaches.noindex/macosx13.3-22E245-.sdkstatcache

ProcessProductPackaging "" /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/unar.xcent (in target 'unar' from project 'XADMaster')
    cd /Users/user/infinite-mac/XADMaster

    Entitlements:

    {
    "com.apple.application-identifier" = "";
    "com.apple.security.get-task-allow" = 1;
}

    builtin-productPackagingUtility -entitlements -format xml -o /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/unar.xcent

ProcessProductPackagingDER /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/unar.xcent /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/unar.xcent.der (in target 'unar' from project 'XADMaster')
    cd /Users/user/infinite-mac/XADMaster
    /usr/bin/derq query -f xml -i /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/unar.xcent -o /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/unar.xcent.der --raw

Ld /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/Objects-normal/arm64/Binary/unar normal arm64 (in target 'unar' from project 'XADMaster')
    cd /Users/user/infinite-mac/XADMaster
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -Xlinker -reproducible -target arm64-apple-macos10.9 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -L/Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/EagerLinkingTBDs/Release -L/Users/user/infinite-mac/XADMaster-build/Release -F/Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/EagerLinkingTBDs/Release -F/Users/user/infinite-mac/XADMaster-build/Release -filelist /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/Objects-normal/arm64/unar.LinkFileList -Xlinker -object_path_lto -Xlinker /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/Objects-normal/arm64/unar_lto.o -fobjc-link-runtime -all_load -ObjC -lc++ -lbz2 -framework Foundation -framework Carbon -lUniversalDetector -lXADMaster -lz -Xlinker -no_adhoc_codesign -Xlinker -dependency_info -Xlinker /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/Objects-normal/arm64/unar_dependency_info.dat -o /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/Objects-normal/arm64/Binary/unar

Ld /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/Objects-normal/x86_64/Binary/unar normal x86_64 (in target 'unar' from project 'XADMaster')
    cd /Users/user/infinite-mac/XADMaster
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -Xlinker -reproducible -target x86_64-apple-macos10.9 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -L/Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/EagerLinkingTBDs/Release -L/Users/user/infinite-mac/XADMaster-build/Release -F/Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/EagerLinkingTBDs/Release -F/Users/user/infinite-mac/XADMaster-build/Release -filelist /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/Objects-normal/x86_64/unar.LinkFileList -Xlinker -object_path_lto -Xlinker /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/Objects-normal/x86_64/unar_lto.o -fobjc-link-runtime -all_load -ObjC -lc++ -lbz2 -framework Foundation -framework Carbon -lUniversalDetector -lXADMaster -lz -Xlinker -no_adhoc_codesign -Xlinker -dependency_info -Xlinker /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/Objects-normal/x86_64/unar_dependency_info.dat -o /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/Objects-normal/x86_64/Binary/unar
ld: file not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)

/Users/user/infinite-mac/XADMaster/XADMaster.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.6, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'libXADMaster.a' from project 'XADMaster')
/Users/user/infinite-mac/XADMaster/XADMaster.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.9, but the range of supported deployment target versions is 10.13 to 13.3.99. (in target 'unar' from project 'XADMaster')
warning: CLANG_CXX_LIBRARY is set to 'libstdc++': The 'libstdc++' C++ Standard Library is no longer available, and this setting can be removed. (in target 'unar' from project 'XADMaster')
** BUILD FAILED **

The following build commands failed:
    Ld /Users/user/Library/Developer/Xcode/DerivedData/XADMaster-cmjgolidmpdewofpsjfrloxapmkb/Build/Intermediates.noindex/XADMaster.build/Release/unar.build/Objects-normal/x86_64/Binary/unar normal x86_64 (in target 'unar' from project 'XADMaster')
(1 failure)
mihaip commented 1 year ago

The actual error seems to be:

ld: file not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a

This looks to be related to a change in Xcode 14.3 (based on https://github.com/flutter/flutter/issues/124340 and other things that I've found). I'll look into a fix later, but in the meantime you can either try downgrading to Xcode 14.2 or skipping over remote archives when building the disk image (comment out the import_manifests() call at https://github.com/mihaip/infinite-mac/blob/6359644cab0953c1eaaf12e2ff31bd68478efc1a/scripts/import-disks.py#L85)

pixitha commented 1 year ago

Yep, just double checked with 14.2 and it builds totally fine.

pixitha commented 1 year ago

npm v16 builds fine, but for v17+ you need export NODE_OPTIONS=--openssl-legacy-provider (macOS) to force the use of older TLS versions.

ref: https://weekendprojects.dev/posts/fixed-node-err_ossl_evp_unsupported/

mihaip commented 1 year ago

XADMaster should now build with Xcode 14.3

When I get around to removing the Webpack-based toolchain (#155) the need for the legacy SSL option option for node should also go away.