Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.3.0 build failure with Xcode 8.1 and macOS 10.11 #494

Closed
ilovezfs opened this issue Nov 6, 2016 · 3 comments
Closed

4.3.0 build failure with Xcode 8.1 and macOS 10.11 #494

ilovezfs opened this issue Nov 6, 2016 · 3 comments
Milestone

Comments

@ilovezfs
Copy link

ilovezfs commented Nov 6, 2016

Full build log
https://gist.github.com/ilovezfs/20d854eb604f17181e0089b28ed2470c
(original is here but the link will die at some point https://bot.brew.sh/job/Homebrew%20Core/10770/version=el_capitan/consoleText)

The error is

 dyld: lazy symbol binding failed: Symbol not found: _os_unfair_lock_lock

The problem is that os_unfair_lock_lock is defined in the Xcode 8.1 SDK headers, but is only actually available on Sierra (10.12). I've worked around the problem by setting je_cv_os_unfair_lock equal to "no" in the environment, but it should be fixed properly in configure.

    #  dyld: lazy symbol binding failed: Symbol not found: _os_unfair_lock_lock
    if MacOS.version == :el_capitan && MacOS::Xcode.installed? && MacOS::Xcode.version >= "8.0"
      ENV["je_cv_os_unfair_lock"] = "no"
    end

See Homebrew/homebrew-core#6625.

@jasone jasone added this to the 5.0.0 milestone Nov 8, 2016
@jasone
Copy link
Member

jasone commented Nov 8, 2016

Somehow this slipped past me for the 4.3.1 release. I recall seeing a report with less information, and I thought I responded that it didn't make sense to me, but cannot find an audit trail. I will be sure to develop a fix before upgrading my other Apple dev machine.

@jasone jasone modified the milestones: 4.4.0, 5.0.0 Nov 9, 2016
@jasone jasone closed this as completed in a2e601a Nov 12, 2016
jasone added a commit that referenced this issue Nov 12, 2016
@ilovezfs
Copy link
Author

@jasone Thanks!

@jasone
Copy link
Member

jasone commented Nov 16, 2016

JE_RUNNABLE() causes general cross-compilation portability issues. I'm going to revert those diffs and document in the INSTALL file how to use autoconf's --cache option to work around broken environments.

@jasone jasone closed this as completed in 9b94c01 Nov 16, 2016
jasone added a commit that referenced this issue Nov 16, 2016
qvacua added a commit to qvacua/vimr that referenced this issue Nov 23, 2016
benesch added a commit to benesch/cockroach that referenced this issue Apr 19, 2017
On macOS 10.11, XCode SDK v8.1 (and possibly others) indicate the
presence of symbols that don't exist until macOS 10.12. Setting
MACOSX_DEPLOYMENT_TARGET to the host machine's actual macOS version
works around this. See: jemalloc/jemalloc#494.
benesch added a commit to benesch/cockroach that referenced this issue Apr 19, 2017
On macOS 10.11, XCode SDK v8.1 (and possibly others) indicate the
presence of symbols that don't exist until macOS 10.12. Setting
MACOSX_DEPLOYMENT_TARGET to the host machine's actual macOS version
works around this. See: jemalloc/jemalloc#494.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants