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

macOS 10.14 tracking issue #28817

Closed
mistydemeo opened this issue Jun 8, 2018 · 96 comments

Comments

Projects
None yet
@mistydemeo
Copy link
Member

commented Jun 8, 2018

macOS 10.14 beta 1 is out, along with betas of Xcode and the CLT.

Homebrew

Formulae

  • exa's cmake scripts try to call clang with --target=x86_64-apple-darwin, which is broken - #28817 (comment)
  • Go's linker is confused by the new load commands - #29090
  • Nettle's make check is confused by ___chkstk_darwin - #28817 (comment)
  • Node's compiler version and Xcode version regexes don't support multi-digit major versions - #28832
  • Node's bundled npm has the same version detection bug as node itself
  • Python can't find tkinter - #28733. Fixed by Homebrew/brew#4334.
  • texi2html's tarball cannot be extracted by the system tar or GNU tar - #29340

@mistydemeo mistydemeo added the 10.14 label Jun 8, 2018

@DomT4

This comment has been minimized.

Copy link
Contributor

commented Jun 9, 2018

I can't get subversion to build on 10.14. It craps out during the swig bindings stage IIRC. I'll try and produce a full build log whenever I work out why my VM has suddenly lost the ability to connect to the internet 🙃.

@ilovezfs

This comment has been minimized.

Copy link
Contributor

commented Jun 9, 2018

did you install /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg yet?

@DomT4

This comment has been minimized.

Copy link
Contributor

commented Jun 9, 2018

No. I'll do that & see how it goes. (I really can't work out what they're trying to achieve with the CLT changes in 10.14 but 🤷‍♂️)

@DomT4

This comment has been minimized.

Copy link
Contributor

commented Jun 9, 2018

Yeah, that resolved the issue.

@ilovezfs

This comment has been minimized.

Copy link
Contributor

commented Jun 9, 2018

does Homebrew/brew#4299 also resolve it without macOS_SDK_headers_for_macOS_10.14.pkg ?

@DomT4

This comment has been minimized.

Copy link
Contributor

commented Jun 9, 2018

Is there a clean way to uninstall macOS_SDK_headers_for_macOS_10.14.pkg without having to disable system integrity & manually wipe out /usr/include?

@ilovezfs

This comment has been minimized.

Copy link
Contributor

commented Jun 9, 2018

I don't know whether pkgutil --unlink still works despite having been made undocumented. Maybe?

@ilovezfs

This comment has been minimized.

Copy link
Contributor

commented Jun 9, 2018

btw csrutil enable --without fs can ease testing without complete SIPlessness

@DomT4

This comment has been minimized.

Copy link
Contributor

commented Jun 9, 2018

sudo pkgutil --unlink com.apple.pkg.CLTools_Executables seems to do nothing at least, and apparently that's the right one to aim for:

pkgutil --file-info /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

pkgid: com.apple.pkg.CLTools_Executables
pkg-version: 10.0.0.0.1.1527767617
install-time: 1528420005
uid: 0
gid: 80
mode: 644

I don't mind disabling SIP entirely/partially as it's only a VM; was just wondering if I could avoid rebooting the thing really, heh.

@DomT4

This comment has been minimized.

Copy link
Contributor

commented Jun 10, 2018

Somehow subversion is now building fine, without that PR & with /usr/include killed. Cue confusion.

@DomT4

This comment has been minimized.

Copy link
Contributor

commented Jun 12, 2018

nettle fails to build on the make check stage:

PASS: ecdh
PASS: eddsa-compress
PASS: eddsa-sign
PASS: eddsa-verify
PASS: ed25519
PASS: cxx
PASS: sexp-conv
PASS: pkcs1-conv
PASS: nettle-pbkdf2
Exported symbols in libnettle.a, lacking the nettle prefix:
00000000000001b0 T ____chkstk_darwin
0000000000000230 T ____chkstk_darwin
0000000000000350 T ____chkstk_darwin
0000000000000360 T ____chkstk_darwin
0000000000000380 T ____chkstk_darwin
FAIL: symbols
PASS: dlopen
====================
1 of 94 tests failed
====================
make[1]: *** [check] Error 1
make: *** [check] Error 2
@mistydemeo

This comment has been minimized.

Copy link
Member Author

commented Jun 12, 2018

00000000000001b0 T ____chkstk_darwin
0000000000000230 T ____chkstk_darwin
0000000000000350 T ____chkstk_darwin
0000000000000360 T ____chkstk_darwin
0000000000000380 T ____chkstk_darwin

This may be from the new LLVM version; it looks like the ___chkstk_darwin function was added as a part of stack checking. Essentially every binary compiled with Xcode 10 has ___chkstk_darwin.

I found a reference to this in this LLVM code review: https://reviews.llvm.org/D40857

@DomT4

This comment has been minimized.

Copy link
Contributor

commented Jun 13, 2018

Thanks! That does indeed seem to be the case, poking around with nm. It looks like it only creeps into most rather than all libraries/binaries; I'm not sure why it doesn't appear completely consistently.

I've opened a PR with a tested fix in #28958. Are we reporting this stuff upstream yet or waiting to see what happens over time?

@mistydemeo

This comment has been minimized.

Copy link
Member Author

commented Jun 13, 2018

Are we reporting this stuff upstream yet or waiting to see what happens over time?

I'm reporting things that have been documented in release notes or otherwise seem to be intentional, and stuff that might not be I'm going to let sit for a few betas to see what happens. Not sure where this one falls, tbh!

DomT4 added a commit to DomT4/homebrew-core that referenced this issue Jun 14, 2018

@uyjulian

This comment has been minimized.

Copy link
Contributor

commented Jun 24, 2018

There is an issue with tar archives containing multiple files with different cases on APFS case-insensitive filesystems, such as gobject-introspection (gobject-introspection-1.56.1/docs/reference/html/gi-gitypelib.html). It will fail with "Can't unlink already-existing object".

EASY WAY OUT for users: brew install <formulae_name> --force-bottle

FIX for developers/build-from-source: Install 10.14 Beta 6.

HACK for developers/build-from-source for 10.14 Beta 5 and lower: Install libarchive, then in /usr/local/Homebrew/Library/Homebrew/unpack_strategy/tar.rb in line 17 change "xf" to "xfk" and in line 17 change "tar" to "/usr/local/opt/libarchive/bin/tar".

@lukeberry99

This comment has been minimized.

Copy link

commented Jun 28, 2018

Hi @uyjulian I'm trying to install emacs-plus from d12frosted/emacs-plus cask... I'm getting gobject-introspection-1.56.1/docs/reference/html/gi-gitypelib.html: Can't unlink already-existing object

How wouid I go about fixing this? Where do I find download_strategy.rb? I'm really new to homebrew, any help would be greatly appreciated. Cheers!

@uyjulian

This comment has been minimized.

Copy link
Contributor

commented Jun 28, 2018

@lukeberry99 /usr/local/Homebrew/Library/Homebrew/download_strategy.rb

You could have also found it yourself by running mdfind download_strategy.rb

@theeternalsw0rd

This comment has been minimized.

Copy link

commented Jun 28, 2018

I've noticed a few weird issues. Files and directories are installing with weird permissions. Sometimes 0444, sometimes 0555. I've also had a similar issue to Homebrew/legacy-homebrew#40653 when trying to compile exa and the same workaround worked.

Exa also won't reinstall if its bin directory is not empty and won't install if it's bin directory does not exist. I had to uninstall exa and manually create the /usr/local/Cellar/exa/0.8.0/bin directory and then use brew reinstall instead of install because I guess the existence of the /usr/local/Cellar/exa/0.8.0 is enough to make brew think it is already installed.

I've also had issues where a package will fail to reinstall only to work the next time without changing anything.

Figured maybe something was wrong with my environment but brew doctor only gives a few warnings about some third party libraries present and the fact I'm running 10.14. I'm not sure what else to check.

@mistydemeo

This comment has been minimized.

Copy link
Member Author

commented Jun 29, 2018

I've also had a similar issue to Homebrew/legacy-homebrew#40653 when trying to compile exa and the same workaround worked.

Filed a radar: rdar://41651999. It looks like libgcc_s.10.4 and libgcc_s.10.5 are missing. Certain clang flags causes it to try to link against them - specifically values for --target. Namely:

  • --target=x86_64-apple-darwin - tries to link against libgcc_s.10.4
  • --target=x86_64-apple-darwin4 through --target=x86_64-apple-darwin8 - tries to link against libgcc_s.10.4
  • --target=x86_64-apple-darwin9 - tries to link against libgcc_s.10.5

This makes sense since Mac OS X 10.0 was Darwin 4, 10.4 was Darwin 8, 10.5 was Darwin 9, etc. It tracks that it tries to link against those specific libgcc_s versions for those targets. exa trying to pass --target=x86_64-apple-darwin is probably having the unexpected effect of it ending up targeting a very old OS X libc version, which is not obvious. It works as long as the stub libgcc_s files exist, and fails if they're gone.

@mistydemeo

This comment has been minimized.

Copy link
Member Author

commented Jun 29, 2018

@uyjulian @lukeberry99 This is the same issue as the texi2html bug we've got in the list. I've filed a radar already, so I expect to see it fixed in an upcoming beta.

@mistydemeo

This comment has been minimized.

Copy link
Member Author

commented Jun 29, 2018

@theeternalsw0rd I can't reproduce your permissions issues. I'll need your brew gist-logs exa and some more info about your setup to diagnose.

@karanmartian

This comment has been minimized.

Copy link

commented Jul 6, 2018

Hi @uyjulian regarding the gobject-introspection-1.56.1/docs/reference/html/gi-gitypelib.html). It will fail with "Can't unlink already-existing object issue, i am facing this error too and trying to edit the .rb file. When you say add "k" at line 236 you are saying "xk" or replace the "x" with "k" or some << k. I did not get that part. I am stuck at this error.

@uyjulian

This comment has been minimized.

Copy link
Contributor

commented Jul 6, 2018

@karanmartian Set it to "xk"

@DomT4

This comment has been minimized.

Copy link
Contributor

commented Aug 30, 2018

postgresql and family are fixed, at the cost of the Mojave bottles lacking installed documentation for now.

@stale

This comment has been minimized.

Copy link

commented Sep 23, 2018

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@fxcoudert

This comment has been minimized.

Copy link
Member

commented Sep 30, 2018

An update on the remaining Mojave / Xcode 10 issues, with links to the upstream bug reports. By order of install counts:

More than 100 installs per month

10 to 100 installs per month

Less than 10 installs per month

  • xmoto
  • rswift mac-cain13/R.swift#449
  • mlkit
  • cspice
  • wordplay
  • rom-tools
  • libmonome
  • clutter-gst
  • np2
  • dnsdist #33712
  • fdroidserver
  • corebird #33278
  • ape
  • yacas
  • regex-opt
  • apache-brooklyn-cli
  • mosml
  • luvit
  • coccinelle
  • serialosc
  • open-vcdiff
  • lasso
  • fizmo
  • opensyobon
  • nesemu2
  • libetonyek
  • sync_gateway
  • sary
  • lsh
  • le
@PhilCai1993

This comment has been minimized.

Copy link

commented Oct 10, 2018

@fxcoudert facebook/chisel#249 (comment)
facebook/chisel
Some compiler errors are caused by Xcode new build system.

@stale

This comment has been minimized.

Copy link

commented Nov 26, 2018

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added stale and removed stale labels Nov 26, 2018

@stale

This comment has been minimized.

Copy link

commented Dec 22, 2018

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale label Dec 22, 2018

@MikeMcQuaid

This comment has been minimized.

Copy link
Member

commented Dec 22, 2018

Closing as Mojave has been released for a while now and thinks are working well. Great work everyone 🎉

@nurey

This comment has been minimized.

Copy link

commented Jan 3, 2019

I am getting the postgresql/perl issue still, when running brew install postgresql --with-python on Mojave.

checking for perl.h... no
configure: error: header file <perl.h> is required for Perl

@lock lock bot added the outdated label Feb 2, 2019

@lock lock bot locked as resolved and limited conversation to collaborators Feb 2, 2019

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.