Opened 6 months ago

Last modified 3 months ago

#57234 new defect

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)
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
pinentry-mac@Ionic #57178
terminal-notifier@raimue,openmaintainer #57210
unison #57347
VLC@RJVB,openmaintainer #57260
xhyve@jeremyhu #57223

Change History (32)

comment:1 Changed 6 months ago by mf2k (Frank Schima)

Description: modified (diff)

comment:2 Changed 6 months ago by mf2k (Frank Schima)

Summary: Some ports are failing at staging due to new build system in Xcode 10Some ports are failing to build due to new build system in Xcode 10

comment:3 Changed 6 months ago by michaellass (Michael Lass)

Cc: michaellass added

comment:4 Changed 6 months ago by radarhere (Andrew Murray)

Cc: radarhere added

comment:5 Changed 6 months ago by amake (Aaron Madlon-Kay)

Description: modified (diff)

comment:6 Changed 6 months ago by michaellass (Michael Lass)

BGHUDAppKit is also affected. A workaround was proposed as #2720.

comment:7 Changed 6 months ago by michaellass (Michael Lass)

... and so is VLC: #57260

comment:8 Changed 6 months ago by Aaron Madlon-Kay <amake@…>

In 6e5b5bd7177b4ae6cbf3ee31d5a6409dd2258775/macports-ports (master):

gimp-app: fix build on macOS 10.14

refs #57234

comment:9 Changed 6 months 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 months 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.

Last edited 6 months ago by kencu (Ken) (previous) (diff)

comment:11 in reply to:  9 ; Changed 6 months 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 months ago by mf2k (Frank Schima)

Description: modified (diff)
Port: BGHUDAppKit VLC added

comment:13 Changed 6 months ago by mf2k (Frank Schima)

Description: modified (diff)
Port: gimp-app added

comment:14 Changed 6 months ago by rlhamil

Cc: rlhamil added

comment:15 Changed 6 months ago by rlhamil

Cc: rlhamil removed

comment:16 Changed 6 months ago by rlhamil

Cc: rlhamil added

comment:17 Changed 6 months ago by rlhamil

Cc: rlhamil removed

comment:18 Changed 6 months ago by rlhamil

Cc: rlhamil added

comment:19 Changed 5 months ago by mf2k (Frank Schima)

Description: modified (diff)
Port: MacVim added

comment:20 Changed 5 months ago by mf2k (Frank Schima)

Description: modified (diff)

comment:21 Changed 5 months 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.

Last edited 5 months ago by d0wntime (previous) (diff)

comment:22 Changed 5 months ago by mf2k (Frank Schima)

Description: modified (diff)

comment:23 Changed 5 months 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 5 months ago by mf2k (Frank Schima)

Port: unison added

comment:25 Changed 5 months ago by inyeollee

Cc: inyeollee added

comment:26 in reply to:  11 Changed 5 months 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 5 months ago by justr1 (Juergen)

Cc: justr1 added

comment:28 Changed 4 months ago by kpreid (Kevin Reid)

Cc: kpreid added

comment:29 Changed 4 months ago by ryandesign (Ryan 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 4 months ago by jeremyhu (Jeremy Huddleston Sequoia)

Has someone filed a radar on this issue? Please provide reference to it.

comment:31 Changed 4 months ago by jeremyhu (Jeremy Huddleston Sequoia)

Cc: jeremyhu added

comment:32 in reply to:  29 Changed 3 months 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.

Note: See TracTickets for help on using tickets.