Opened 12 months ago

Last modified 9 months ago

#67402 new defect

Can't build MacPorts on 10.11 with Xcode 8.2.1

Reported by: catap (Kirill A. Korinsky) Owned by:
Priority: Normal Milestone:
Component: base Version:
Keywords: Cc:
Port:

Description (last modified by catap (Kirill A. Korinsky))

The last supported Xcode for 10.11 is 8.2.1:

Xcode 8.2.1
Build version 8C1002

My attempt to build MacPorts-2.8.1 on this machine fails as:

make[2]: Nothing to be done for `all'.
===> staging to destroot in vendor/tcllib
/tmp/macports/MacPorts-2.8.1/vendor/tclsh `echo ./installer.tcl` \
		-pkg-path   `echo /tmp/macports/MacPorts-2.8.1/vendor/vendor-destroot/opt/local/libexec/macports/lib/tcllib1.21` \
		-no-examples -no-html -no-nroff \
		-no-wait -no-gui -no-apps
dyld: lazy symbol binding failed: Symbol not found: _os_unfair_lock_lock
  Referenced from: /tmp/macports/MacPorts-2.8.1/vendor/tcl/unix/libtcl8.6.dylib (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _os_unfair_lock_lock
  Referenced from: /tmp/macports/MacPorts-2.8.1/vendor/tcl/unix/libtcl8.6.dylib (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib

make[2]: *** [install-libraries] Trace/BPT trap: 5
make[1]: *** [destroot-tcllib] Error 2
make: *** [all] Error 1

because it uses os_unfair_lock_lock on macOS 10.12+

So, the simple test program:

#include <AvailabilityMacros.h>

#include <iostream>

int main() {
    std::cout << "MAC_OS_X_VERSION_MIN_REQUIRED: " << MAC_OS_X_VERSION_MIN_REQUIRED << std::endl;
    return 0;
}

has an output: MAC_OS_X_VERSION_MIN_REQUIRED: 101200

BTW./configure CFLAGS=-mmacosx-version-min=10.11 helps

Attachments (1)

Screenshot 2023-05-19 at 16.45.50.png (2.1 MB) - added by catap (Kirill A. Korinsky) 12 months ago.

Change History (6)

comment:1 Changed 12 months ago by catap (Kirill A. Korinsky)

Description: modified (diff)

comment:2 Changed 12 months ago by reneeotten (Renee Otten)

Component: portsbase

comment:3 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)

If you're on 10.11, why is it building for 10.12?

Do you have the MACOSX_DEPLOYMENT_TARGET environment variable set to 10.12? That would explain it.

comment:4 Changed 12 months ago by catap (Kirill A. Korinsky)

Ryan I have no idea why.

I've attached a screenshot from 10.11 VM's with this behaviour

Changed 12 months ago by catap (Kirill A. Korinsky)

comment:5 Changed 9 months ago by ryandesign (Ryan Carsten Schmidt)

On the 10.11 buildbot worker:

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.11.6
BuildVersion:	15G22010
$ xcodebuild -version
Xcode 8.2.1
Build version 8C1002
$ ./a.out 
MAC_OS_X_VERSION_MIN_REQUIRED: 101100

So there may be something wrong with your development environment.

You may be able to work around the problem with:

$ export MACOSX_DEPLOYMENT_TARGET=10.11
Note: See TracTickets for help on using tickets.