Potential problem with small subset of Cocoa ports on Xcode 10

Marius Schamschula lists at schamschula.com
Fri Sep 28 13:22:01 UTC 2018


Perry,

I’ve just run into this problem with TeXShop4. The build phase succeeds, but destroot fails.

How does one revert to the “old” build system under Xcode 10?

> On Sep 28, 2018, at 8:12 AM, Perry E. Metzger <pmetzger at macports.org> wrote:
> 
> [resending as I messed up the first time...]
> 
> On Fri, 28 Sep 2018 00:21:17 -0500 Ryan Schmidt
> <ryandesign at macports.org> wrote:
>> On Sep 26, 2018, at 17:14, Perry E. Metzger wrote:
>> 
>>> It seems that there's a bad interaction between Xcode 10's new
>>> build system and certain ports. "pinentry-mac" is the only one
>>> I've hit so far but there may be others. The kludge is to tell
>>> Xcode 10 (if it is the version running) to use its old build
>>> system. If you hit this, try the kludge I've added to
>>> "pinentry-mac" as a temporary workaround.
>>> 
>>> (Note that Xcode 10 also seems to be much more strict about
>>> include file paths, which necessitated a distinct required fix
>>> on "pinentry-mac".)
>> 
>> Could you describe what the problem or error is, so we'll
>> recognize it if we run into it?
> 
> Sorry for being too oblique. It only impacts things built from Xcode
> projects, like Mac GUI apps.
> 
> The deal is that there's a distinction now between the "new" and
> "old" Xcode build system. "New" was added in 10. Xcode projects can
> simply fail to destroot when built with "new" because of an apparent
> bug. (We're pretty sure it's a bug because it will hit an empty,
> brand-new Cocoa project.)
> 
> You can see the symptoms by trying to build pinentry-mac without
> turning off the new build system.
> 
> You will hit this only on Xcode projects, not on building ordinary
> stuff, and you can kludge around it by turning off the new build
> system for the destroot phase as I've done for
> pinentry-mac. Unfortunately the flag is only understood by Xcode 10
> so it can't be just used all the time.
> 
> Note that the new build system is also much more strict about many
> things, you may have to clean up latent sloppy code (like the use of
> <include.h> for something that should be "include.h" in C) to get
> things to build with the new build system.
> 
> Perry
> --
> Perry E. Metzger		pmetzger at macports.org

Marius
--
Marius Schamschula






More information about the macports-dev mailing list