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
mesos: fix on darwin by disabling java interface #38468
Conversation
No attempt on aarch64-linux (full log) The following builds were skipped because they don't evaluate on aarch64-linux: mesos Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: mesos Partial log (click to expand)
|
Success on x86_64-darwin (full log) Attempted: mesos Partial log (click to expand)
|
No attempt on aarch64-linux (full log) The following builds were skipped because they don't evaluate on aarch64-linux: mesos Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: mesos Partial log (click to expand)
|
Success on x86_64-darwin (full log) Attempted: mesos Partial log (click to expand)
|
@@ -46,11 +47,13 @@ in stdenv.mkDerivation rec { | |||
autoreconfHook | |||
]; | |||
buildInputs = [ | |||
makeWrapper curl sasl jdk | |||
makeWrapper curl sasl | |||
python wrapPython boto setuptools leveldb |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like leveldb doesn't have a correct install_name.
$ ./result/bin/mesos --help
dyld: Library not loaded: /private/tmp/nix-build-leveldb-1.18.drv-0/source/libleveldb.dylib.1
Referenced from: /src/nixpkgs/./result/bin/mesos
Reason: image not found
Success on aarch64-linux (full log) Attempted: leveldb The following builds were skipped because they don't evaluate on aarch64-linux: mesos Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: leveldb, mesos Partial log (click to expand)
|
Failure on x86_64-darwin (full log) Attempted: leveldb, mesos Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: leveldb, mesos Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: leveldb The following builds were skipped because they don't evaluate on aarch64-linux: mesos Partial log (click to expand)
|
Success on x86_64-darwin (full log) Attempted: leveldb, mesos Partial log (click to expand)
|
@@ -15,7 +15,12 @@ stdenv.mkDerivation rec { | |||
make all leveldbutil libmemenv.a | |||
''; | |||
|
|||
installPhase = " | |||
installPhase = (stdenv.lib.optionalString stdenv.isDarwin '' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI. there's a fixDarwinDylibNames
helper that basically does this for you.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh! Thank you! I actually knew about this, but could not remember how to find that name. I will try to update now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@LnL7
It doesn't quite work for libleveldb:
% otool -D $(nix-build -A leveldb .)/lib/lib*dylib*
/nix/store/d1hyikxwzcvzbqj9x6mqqsf9xs91lbj2-leveldb-1.18/lib/libleveldb.dylib:
/nix/store/d1hyikxwzcvzbqj9x6mqqsf9xs91lbj2-leveldb-1.18/lib/libleveldb.dylib
/nix/store/d1hyikxwzcvzbqj9x6mqqsf9xs91lbj2-leveldb-1.18/lib/libleveldb.dylib.1:
/private/var/folders/1f/2mj_ng1n2y3_wc59fgw3fn_r0000gn/T/nix-build-leveldb-1.18.drv-0/source/libleveldb.dylib.1
/nix/store/d1hyikxwzcvzbqj9x6mqqsf9xs91lbj2-leveldb-1.18/lib/libleveldb.dylib.1.18:
/private/var/folders/1f/2mj_ng1n2y3_wc59fgw3fn_r0000gn/T/nix-build-leveldb-1.18.drv-0/source/libleveldb.dylib.1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is not correct that libleveldb.dylib, libleveldb.dylib.1, libleveldb.dylib.1.18 are just copies and not symlinks. However, I propose to just use my original fix. This is because the issue is temporary and will likely be gone by next release of leveldb that is going to use cmake.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's fine, just mentioned in case you didn't know about it 😄
Success on x86_64-linux (full log) Attempted: leveldb, libevent, mesos Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: leveldb, libevent The following builds were skipped because they don't evaluate on aarch64-linux: mesos Partial log (click to expand)
|
Success on x86_64-darwin (full log) Attempted: leveldb, libevent, mesos Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: leveldb, libevent The following builds were skipped because they don't evaluate on aarch64-linux: mesos Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: leveldb, libevent, mesos Partial log (click to expand)
|
Failure on x86_64-darwin (full log) Attempted: leveldb, libevent, mesos Partial log (click to expand)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't know if it's functional, but the binary works.
Motivation for this change
Provide spark on darwin (pyspark works).
Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)