Opened 6 years ago
Closed 17 months ago
#57234 closed defect (fixed)
Some ports are failing to build due to new build system in Xcode 10
Reported by: | mf2k (Frank Schima) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | xcode10 | Cc: | michaellass (Michael Lass), radarhere (Andrew Murray), rlhamil, inyeollee, justr1 (Juergen), kpreid (Kevin Reid), jeremyhu (Jeremy Huddleston Sequoia), yan12125 (Chih-Hsuan Yen), cooljeanius (Eric Gallager), danchr (Dan Villiom Podlaski Christiansen) |
Port: | BGHUDAppKit cotvnc gimp-app macports-notifier MacVim pinentry-mac terminal-notifier unison VLC xhyve |
Description (last modified by mf2k (Frank Schima))
Xcode 9 introduced a new build system but it was not the default. Xcode 10 has made it the default.
This is an example of a failure message usually seen.
:info:build Details: Failed to create workspace arena at <DVTFilePath:0x7f9ad0459500:'/Users/macports/Library/Developer/Xcode/DerivedData/pinentry-mac-asqmjqvkuvyzkeaduqaryxjqemdk'>: Error Domain=NSCocoaErrorDomain Code=513 "You don’t have permission to save the file “pinentry-mac-asqmjqvkuvyzkeaduqaryxjqemdk” in the folder “DerivedData”." UserInfo={NSFilePath=/Users/macports/Library/Developer/Xcode/DerivedData/pinentry-mac-asqmjqvkuvyzkeaduqaryxjqemdk, NSUnderlyingError=0x7f9ad02c4190 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}} 75 :info:build Object: <IDEWorkspaceArena: 0x7f9ad01ea080> 76 :info:build Method: -createWorkspaceArenaFolderIfNecessary 77 :info:build Thread: <NSThread: 0x7f9acb617690>{number = 1, name = main} 78 :info:build Please file a bug at https://bugreport.apple.com with this warning message and any useful information you can provide.
This ticket will track ports that are affected by it. It is a work in progress so feel free to add/remove ports and improve my description of it.
port | maintainer | status |
---|---|---|
BGHUDAppKit | https://github.com/macports/macports-ports/pull/2720 | |
cotvnc | #57174 | |
gimp-app | #2718 | |
macports-notifier | #57209 | |
MacVim | @raimue | #57170 |
mkconsole | #58585 | |
pinentry-mac | @Ionic | #57178 |
terminal-notifier | @raimue,openmaintainer | #57210 |
unison | #57347 | |
VLC | @RJVB,openmaintainer | #57260 |
xhyve | @jeremyhu | #57223 |
Change History (43)
comment:1 Changed 6 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|
comment:2 Changed 6 years ago by mf2k (Frank Schima)
Summary: | Some ports are failing at staging due to new build system in Xcode 10 → Some ports are failing to build due to new build system in Xcode 10 |
---|
comment:3 Changed 6 years ago by michaellass (Michael Lass)
Cc: | michaellass added |
---|
comment:4 Changed 6 years ago by radarhere (Andrew Murray)
Cc: | radarhere added |
---|
comment:5 Changed 6 years ago by amake (Aaron Madlon-Kay)
Description: | modified (diff) |
---|
comment:6 Changed 6 years ago by michaellass (Michael Lass)
comment:8 Changed 6 years ago by Aaron Madlon-Kay <amake@…>
comment:9 follow-up: 11 Changed 6 years ago by pmetzger (Perry E. Metzger)
BTW note that the kludge for this is really only needed for destroot. Typically if the build itself fails and is fixed by this, it means that the include statements in the sources are incorrectly using angle brackets instead of double quotes.
comment:10 Changed 6 years ago by kencu (Ken)
I would worry that using the new build system for the build and then the old build system for the destroot might truly be leading into totally unknown territory. Seems logical to me to use one or the other throughout.
comment:11 follow-up: 26 Changed 6 years ago by kencu (Ken)
Replying to pmetzger:
it means that the include statements in the sources are incorrectly using angle brackets instead of double quotes.
This behaviour seems to have changed in Xcode10. I am unable to find any documentation about exactly what is different about the CPP search path handling anywhere on the web so far (if that is what this is about). I would appreciate any information anyone knows about this.
comment:12 Changed 6 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|---|
Port: | BGHUDAppKit VLC added |
comment:13 Changed 6 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|---|
Port: | gimp-app added |
comment:14 Changed 6 years ago by rlhamil
Cc: | rlhamil added |
---|
comment:15 Changed 6 years ago by rlhamil
Cc: | rlhamil removed |
---|
comment:16 Changed 6 years ago by rlhamil
Cc: | rlhamil added |
---|
comment:17 Changed 6 years ago by rlhamil
Cc: | rlhamil removed |
---|
comment:18 Changed 6 years ago by rlhamil
Cc: | rlhamil added |
---|
comment:19 Changed 6 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|---|
Port: | MacVim added |
comment:20 Changed 6 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|
comment:21 Changed 6 years ago by d0wntime
this also affects the mkconsole port; I don't seem to have the perms to edit the table above, but wanted to contribute.
comment:22 Changed 6 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|
comment:23 follow-up: 34 Changed 6 years ago by mf2k (Frank Schima)
@d0wntime: Is there a Trac ticket that shows the problem? If not, please open one and submit the main.log that proves it. Thanks!
comment:24 Changed 6 years ago by mf2k (Frank Schima)
Port: | unison added |
---|
comment:25 Changed 6 years ago by inyeollee
Cc: | inyeollee added |
---|
comment:26 Changed 6 years ago by kencu (Ken)
Replying to kencu:
it means that the include statements in the sources are incorrectly using angle brackets instead of double quotes.
This behaviour seems to have changed in Xcode10. I am unable to find any documentation about exactly what is different about the CPP search path handling anywhere on the web so far (if that is what this is about). I would appreciate any information anyone knows about this.
I found some documentation about this change in header path searching, and other changes in the build system that we've been running into: <https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes/build_system_release_notes_for_xcode_10>
comment:27 Changed 6 years ago by justr1 (Juergen)
Cc: | justr1 added |
---|
comment:28 Changed 6 years ago by kpreid (Kevin Reid)
Cc: | kpreid added |
---|
comment:29 follow-up: 32 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)
We are certain that there is a problem with these ports and the new build system? We are certain it isn't solved by the change proposed in #57137?
comment:30 Changed 6 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Has someone filed a radar on this issue? Please provide reference to it.
comment:31 Changed 6 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Cc: | jeremyhu added |
---|
comment:32 Changed 6 years ago by jmroot (Joshua Root)
Replying to ryandesign:
We are certain that there is a problem with these ports and the new build system? We are certain it isn't solved by the change proposed in #57137?
The headermap change is deliberate and not a bug. Ports relying on the old behaviour need to be fixed.
There is a definite bug where a symlink cannot be created when building and destrooting in separate xcodebuild invocations. This can easily be reproduced with the cocoa app template project included with Xcode. Using the old build system works around this problem. I'm not sure if it's related to the DerivedData permissions thing.
comment:33 Changed 5 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|
comment:34 Changed 5 years ago by d0wntime
comment:35 Changed 5 years ago by yan12125 (Chih-Hsuan Yen)
As a side note, the port welly-clyang fails to build with Xcode 10.2.1 (1) while it builds fine with Xcode 11 beta 3 on my machine.
comment:36 Changed 5 years ago by yan12125 (Chih-Hsuan Yen)
Cc: | yan12125 added |
---|
comment:37 Changed 5 years ago by Andrew Udvare <audvare@…>
comment:38 Changed 4 years ago by cooljeanius (Eric Gallager)
Cc: | cooljeanius added |
---|
comment:39 Changed 4 years ago by mascguy (Christopher Nielsen)
Cc: | mascguy added |
---|
comment:40 Changed 4 years ago by danchr (Dan Villiom Podlaski Christiansen)
I ran into this when creating a port for Aerial; disabling the “new” build system didn't help. The only solution I could find was relocating the build root and derived data directory to /tmp
.
comment:41 Changed 4 years ago by danchr (Dan Villiom Podlaski Christiansen)
Cc: | danchr added |
---|
comment:42 Changed 4 years ago by mascguy (Christopher Nielsen)
Cc: | mascguy removed |
---|
comment:43 Changed 17 months ago by mf2k (Frank Schima)
Resolution: | → fixed |
---|---|
Status: | new → closed |
I think we can close this generic issue. Any remaining ports that don't build should already have tickets.
BGHUDAppKit is also affected. A workaround was proposed as #2720.