Opened 4 years ago

Last modified 5 months ago

#60817 new update

darwinbuild @37: update to PureDarwin fork of darwinbuild

Reported by: cooljeanius (Eric Gallager) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.6.2
Keywords: Cc:
Port: darwinbuild

Description (last modified by cooljeanius (Eric Gallager))

Currently darwinbuild fails to build on Catalina because it tries to build for i386, which is no longer supported. The main thing I had used darwinbuild for in the past was building PureDarwin, so when I raised this issue with them, they told me that they had their own fork of it: https://github.com/PureDarwin/PureDarwin/issues/53#issuecomment-657109554

The fork is many commits ahead of the MacOSForge one, and I managed to build it on my own, so it seems like updating to PureDarwin version of darwinbuild would be a good way to continue to support it in MacPorts: https://github.com/PureDarwin/darwinbuild

The latest tag is 1640.0.2: https://github.com/PureDarwin/darwinbuild/releases/tag/1640.0.2

Change History (9)

comment:1 Changed 4 years ago by cooljeanius (Eric Gallager)

Description: modified (diff)

comment:2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Seems reasonable. Feel free to submit a pull request and, if you're interested in darwinbuild, to become the port's maintainer.

comment:3 in reply to:  2 Changed 4 years ago by cooljeanius (Eric Gallager)

Replying to ryandesign:

Seems reasonable. Feel free to submit a pull request and, if you're interested in darwinbuild, to become the port's maintainer.

ok I've given it a try; preliminary Portfile is here: https://github.com/cooljeanius/LocalPorts/blob/master/devel/darwinbuild/Portfile

Unfortunately it fails building for me under MacPorts; output looks like this:

--->  Building darwinbuild
DEBUG: Executing org.macports.build (darwinbuild)
DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_Users_ericgallager_LocalPorts_devel_darwinbuild/darwinbuild/work/darwinbuild-1640.0.2" && /usr/bin/xcodebuild  -target "world" -configuration Public build   OBJROOT="/opt/local/var/macports/build/_Users_ericgallager_LocalPorts_devel_darwinbuild/darwinbuild/work/darwinbuild-1640.0.2/build/" SYMROOT="/opt/local/var/macports/build/_Users_ericgallager_LocalPorts_devel_darwinbuild/darwinbuild/work/darwinbuild-1640.0.2/build/" MACOSX_DEPLOYMENT_TARGET=10.15 ARCHS=x86_64 SDKROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk" GCC_VERSION=com.apple.compilers.llvm.clang.1_0 CLANG_CXX_LIBRARY="libc++" PREFIX=/opt/local GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS=NO'
DEBUG: system: cd "/opt/local/var/macports/build/_Users_ericgallager_LocalPorts_devel_darwinbuild/darwinbuild/work/darwinbuild-1640.0.2" && /usr/bin/xcodebuild  -target "world" -configuration Public build   OBJROOT="/opt/local/var/macports/build/_Users_ericgallager_LocalPorts_devel_darwinbuild/darwinbuild/work/darwinbuild-1640.0.2/build/" SYMROOT="/opt/local/var/macports/build/_Users_ericgallager_LocalPorts_devel_darwinbuild/darwinbuild/work/darwinbuild-1640.0.2/build/" MACOSX_DEPLOYMENT_TARGET=10.15 ARCHS=x86_64 SDKROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk" GCC_VERSION=com.apple.compilers.llvm.clang.1_0 CLANG_CXX_LIBRARY="libc++" PREFIX=/opt/local GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS=NO
Command line invocation:
    /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -target world -configuration Public build OBJROOT=/opt/local/var/macports/build/_Users_ericgallager_LocalPorts_devel_darwinbuild/darwinbuild/work/darwinbuild-1640.0.2/build/ SYMROOT=/opt/local/var/macports/build/_Users_ericgallager_LocalPorts_devel_darwinbuild/darwinbuild/work/darwinbuild-1640.0.2/build/ MACOSX_DEPLOYMENT_TARGET=10.15 ARCHS=x86_64 SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk GCC_VERSION=com.apple.compilers.llvm.clang.1_0 CLANG_CXX_LIBRARY=libc++ PREFIX=/opt/local GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS=NO

Build settings from command line:
    ARCHS = x86_64
    CLANG_CXX_LIBRARY = libc++
    GCC_VERSION = com.apple.compilers.llvm.clang.1_0
    GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO
    MACOSX_DEPLOYMENT_TARGET = 10.15
    OBJROOT = /opt/local/var/macports/build/_Users_ericgallager_LocalPorts_devel_darwinbuild/darwinbuild/work/darwinbuild-1640.0.2/build/
    PREFIX = /opt/local
    SDKROOT = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk
    SYMROOT = /opt/local/var/macports/build/_Users_ericgallager_LocalPorts_devel_darwinbuild/darwinbuild/work/darwinbuild-1640.0.2/build/

2020-07-12 18:52:48.508 xcodebuild[71105:77482318] [MT] IDELogStore: Failed to open log store at /Users/macports/Library/Developer/Xcode/DerivedData/darwinbuild-eteqwnveeqaljebpqchxajorkddd/Logs/Build
2020-07-12 18:52:48.508 xcodebuild[71105:77482318] [MT] IDELogStore: Failed to open Build log store: Error Domain=IDEFoundationErrorDomain Code=1 "Unable to create log store directory at '/Users/macports/Library/Developer/Xcode/DerivedData/darwinbuild-eteqwnveeqaljebpqchxajorkddd/Logs/Build': (513) You don’t have permission to save the file “Build” in the folder “Logs”." UserInfo={NSLocalizedDescription=Unable to create log store directory at '/Users/macports/Library/Developer/Xcode/DerivedData/darwinbuild-eteqwnveeqaljebpqchxajorkddd/Logs/Build': (513) You don’t have permission to save the file “Build” in the folder “Logs”.}. User info: {
    NSLocalizedDescription = "Unable to create log store directory at '/Users/macports/Library/Developer/Xcode/DerivedData/darwinbuild-eteqwnveeqaljebpqchxajorkddd/Logs/Build': (513) You don\U2019t have permission to save the file \U201cBuild\U201d in the folder \U201cLogs\U201d.";
}.
2020-07-12 18:52:48.539 xcodebuild[71105:77482318] [MT] IDELogStore: Failed to open log store at /Users/macports/Library/Developer/Xcode/DerivedData/darwinbuild-eteqwnveeqaljebpqchxajorkddd/Logs/Package
2020-07-12 18:52:48.539 xcodebuild[71105:77482318] [MT] IDELogStore: Failed to open Package log store: Error Domain=IDEFoundationErrorDomain Code=1 "Unable to create log store directory at '/Users/macports/Library/Developer/Xcode/DerivedData/darwinbuild-eteqwnveeqaljebpqchxajorkddd/Logs/Package': (513) You don’t have permission to save the file “Package” in the folder “Logs”." UserInfo={NSLocalizedDescription=Unable to create log store directory at '/Users/macports/Library/Developer/Xcode/DerivedData/darwinbuild-eteqwnveeqaljebpqchxajorkddd/Logs/Package': (513) You don’t have permission to save the file “Package” in the folder “Logs”.}. User info: {
    NSLocalizedDescription = "Unable to create log store directory at '/Users/macports/Library/Developer/Xcode/DerivedData/darwinbuild-eteqwnveeqaljebpqchxajorkddd/Logs/Package': (513) You don\U2019t have permission to save the file \U201cPackage\U201d in the folder \U201cLogs\U201d.";
}.
2020-07-12 18:52:48.551 xcodebuild[71105:77482318] [MT] IDELogStore: Failed to open log store at /Users/macports/Library/Developer/Xcode/DerivedData/darwinbuild-eteqwnveeqaljebpqchxajorkddd/Logs/Test
2020-07-12 18:52:48.551 xcodebuild[71105:77482318] [MT] IDELogStore: Failed to open Test log store: Error Domain=IDEFoundationErrorDomain Code=1 "Unable to create log store directory at '/Users/macports/Library/Developer/Xcode/DerivedData/darwinbuild-eteqwnveeqaljebpqchxajorkddd/Logs/Test': (513) You don’t have permission to save the file “Test” in the folder “Logs”." UserInfo={NSLocalizedDescription=Unable to create log store directory at '/Users/macports/Library/Developer/Xcode/DerivedData/darwinbuild-eteqwnveeqaljebpqchxajorkddd/Logs/Test': (513) You don’t have permission to save the file “Test” in the folder “Logs”.}. User info: {
    NSLocalizedDescription = "Unable to create log store directory at '/Users/macports/Library/Developer/Xcode/DerivedData/darwinbuild-eteqwnveeqaljebpqchxajorkddd/Logs/Test': (513) You don\U2019t have permission to save the file \U201cTest\U201d in the folder \U201cLogs\U201d.";
}.
Resolve Package Graph
xcodebuild: error: Could not resolve package dependencies:
  Error Domain=NSCocoaErrorDomain Code=513 "You don’t have permission to save the file “repositories” in the folder “SourcePackages”." UserInfo={NSFilePath=/Users/macports/Library/Developer/Xcode/DerivedData/darwinbuild-eteqwnveeqaljebpqchxajorkddd/SourcePackages/repositories, NSUnderlyingError=0x7fa6756e10c0 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}

Command failed: cd "/opt/local/var/macports/build/_Users_ericgallager_LocalPorts_devel_darwinbuild/darwinbuild/work/darwinbuild-1640.0.2" && /usr/bin/xcodebuild  -target "world" -configuration Public build   OBJROOT="/opt/local/var/macports/build/_Users_ericgallager_LocalPorts_devel_darwinbuild/darwinbuild/work/darwinbuild-1640.0.2/build/" SYMROOT="/opt/local/var/macports/build/_Users_ericgallager_LocalPorts_devel_darwinbuild/darwinbuild/work/darwinbuild-1640.0.2/build/" MACOSX_DEPLOYMENT_TARGET=10.15 ARCHS=x86_64 SDKROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk" GCC_VERSION=com.apple.compilers.llvm.clang.1_0 CLANG_CXX_LIBRARY="libc++" PREFIX=/opt/local GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS=NO
Exit code: 74
Error: Failed to build darwinbuild: command execution failed
DEBUG: Error code: NONE
DEBUG: Backtrace: command execution failed
    while executing
"$procedure $targetname"
Error: See /opt/local/var/macports/logs/_Users_ericgallager_LocalPorts_devel_darwinbuild/darwinbuild/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port darwinbuild failed

comment:4 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

That sounds like #57137.

comment:5 Changed 3 years ago by barracuda156

Unfortunately, some of their updated break down functionality on earlier systems: https://github.com/macosforge/darwinbuild/pull/142/commits/ff1c173232a0649714772d6bb92f7df7f1d88569 This then has to be restored with a patch on MP side.

comment:6 in reply to:  5 ; Changed 2 years ago by cooljeanius (Eric Gallager)

Replying to barracuda156:

Unfortunately, some of their updated break down functionality on earlier systems: https://github.com/macosforge/darwinbuild/pull/142/commits/ff1c173232a0649714772d6bb92f7df7f1d88569 This then has to be restored with a patch on MP side.

That pull request hasn't been merged yet...

Edit: actually never mind, the pull request is against the macosforge version, so it's already part of the puredarwin version...

Last edited 2 years ago by cooljeanius (Eric Gallager) (previous) (diff)

comment:7 in reply to:  6 Changed 2 years ago by barracuda156

Replying to cooljeanius:

Edit: actually never mind, the pull request is against the macosforge version, so it's already part of the puredarwin version...

Then that has to be fixed if darwinbuild gets updated. Or someone has to fix it with puredarwin upstream.

comment:8 in reply to:  6 ; Changed 2 years ago by barracuda156

Replying to cooljeanius:

Looked briefly at the code, apparently more things are broken: plists do not have arch settings, unless I miss something. We may need to restore quite a bit more than two files for Xcode 3.1 and 3.2.

comment:9 in reply to:  8 Changed 5 months ago by cooljeanius (Eric Gallager)

Replying to barracuda156:

Replying to cooljeanius:

Looked briefly at the code, apparently more things are broken: plists do not have arch settings, unless I miss something. We may need to restore quite a bit more than two files for Xcode 3.1 and 3.2.

Please let the PureDarwin folks know; you can join our Discord server here: https://discord.gg/9kz8XXRRcT

Note: See TracTickets for help on using tickets.