Opened 5 years ago

Closed 5 years ago

#57629 closed defect (invalid)

CMake won't build on MacOS (i386 architecture is deprecated).

Reported by: hipcrime Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: highsierra Cc: michaelld (Michael Dickens)
Port: cmake

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Since the most recent update, CMake refuses to build on MacOS. The failure generates tons of output, but the important bit is this:

:info:configure     ld: warning: The i386 architecture is deprecated for macOS (remove from the Xcode build setting: ARCHS)
:info:configure     ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib/libSystem.tbd, missing required architecture i386 in file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib/libSystem.tbd
:info:configure     ld: dynamic main executables must link with libSystem.dylib for architecture i386
:info:configure     clang: error: linker command failed with exit code 1 (use -v to see invocation)

Change History (10)

comment:1 Changed 5 years ago by kencu (Ken)

Although it is in fact possible to get cmake to build +universal on Mojave, with some shenanigans:

$ /opt/universal/bin/port -v installed cmake
The following ports are currently installed:
  cmake @3.12.3_0+universal platform='darwin 18' archs='i386 x86_64' date='2018-11-05T23:25:47-0800'
  cmake @3.12.4_0+universal (active) platform='darwin 18' archs='i386 x86_64' date='2018-11-15T17:33:55-0800'

the real question is why would anyone want to? There is no useful purpose to having cmake +universal on Mojave, and it's been made quite difficult to do by Apple.

Please disable the +universal build and you should be good to go.

sudo port -v intall cmake -universal

should do it for you.

Last edited 5 years ago by kencu (Ken) (previous) (diff)

comment:2 Changed 5 years ago by kencu (Ken)

Cc: michaelld added
Keywords: mojave added
Port: cmake added
Resolution: wontfix
Status: newclosed

comment:3 Changed 5 years ago by hipcrime

That worked ... thanks!

But now the same error is happening for these ports as well:

    gstreamer1-gst-plugins-base @1.14.4+ogg+universal+x11
    wine @3.0.3+universal+x11
    gtk2 @2.24.32+universal+x11

Is this something that's gone wrong with MacPorts on the latest versions of MacOS?

This error wasn't happening until the most recent MacPort upgrade.

Last edited 5 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:4 Changed 5 years ago by hipcrime

Resolution: wontfix
Status: closedreopened

That worked ... thanks!

But now the same error is happening for these ports as well:

gstreamer1-gst-plugins-base @1.14.4+ogg+universal+x11
wine @3.0.3+universal+x11
gtk2 @2.24.32+universal+x11

Is this something that's gone wrong with MacPorts on the latest versions of MacOS?

This error wasn't happening until the most recent MacPort upgrade.

Last edited 5 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:5 Changed 5 years ago by kencu (Ken)

Mojave does not support any universal builds, as MacPorts currently stands.

MojaveProblems#GeneralIssues

Wine is not available for Mojave 56991 until upstream works out a 64bit version.

Nothing's gone wrong with MacPorts. It's Apple's decision.

Last edited 5 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:6 Changed 5 years ago by hipcrime

I am not running Mojave. I have High Sierra.

comment:7 Changed 5 years ago by kencu (Ken)

Keywords: highsierra added; mojave removed

comment:8 Changed 5 years ago by kencu (Ken)

Oh, I am very sorry then. This looked exactly like a mojave error, and there were no logs to look at more closely or information to steer otherwise. I apologize for jumping to that conclusion.

Last edited 5 years ago by kencu (Ken) (previous) (diff)

comment:9 Changed 5 years ago by jmroot (Joshua Root)

Do you have the Command Line Tools installed?

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

Description: modified (diff)
Resolution: invalid
Status: reopenedclosed

Right. Install the command line tools or downgrade to Xcode 9.4.1. Either one will provide the 10.13 SDK with which you can build universal. Using only Xcode 10 on High Sierra without the command line tools will only get you the 10.14 SDK, with which you cannot build universal at this time.

Note: See TracTickets for help on using tickets.