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

riak: adding Darwin support #24163

Closed
wants to merge 1 commit into from
Closed

riak: adding Darwin support #24163

wants to merge 1 commit into from

Conversation

mdaiter
Copy link
Contributor

@mdaiter mdaiter commented Mar 21, 2017

Motivation for this change

Riak can currently support Darwin and Linux; however, we currently only support Linux. Let's support Darwin as well.

Things done
  • Tested using sandboxing
    (nix.useSandbox on NixOS,
    or option build-use-sandbox in nix.conf
    on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • Linux
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@mention-bot
Copy link

@mdaiter, thanks for your PR! By analyzing the history of the files in this pull request, we identified @cstrahan, @fpletz and @globin to be potential reviewers.

@pSub pSub added the 6.topic: darwin Running or building packages on Darwin label Mar 21, 2017
@@ -30,7 +31,7 @@ stdenv.mkDerivation rec {

buildInputs = [
which unzip erlang pam
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pam is a linux only dependency

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be resolved now

@matthewbauer
Copy link
Member

I'm getting this on my system:

ranlib Darwin_OPT.OBJ/libjs.a
ranlib: file: Darwin_OPT.OBJ/libjs.a(jslong.o) has no symbols
cc -dynamiclib  -framework System -o Darwin_OPT.OBJ/libjs.dylib Darwin_OPT.OBJ/jsapi.o Darwin_OPT.OBJ/jsarena.o Darwin_OPT.OBJ/jsarray.o Darwin_OPT.OBJ/jsatom.o Darwin_OPT.OBJ/jsbool.o Darwin_OPT.OBJ/jscntxt.o Darwin_OPT.OBJ/jsdate.o Darwin_OPT.OBJ/jsdbgapi.o Darwin_OPT.OBJ/jsdhash.o Darwin_OPT.OBJ/jsdtoa.o Darwin_OPT.OBJ/jsemit.o Darwin_OPT.OBJ/jsexn.o Darwin_OPT.OBJ/jsfun.o Darwin_OPT.OBJ/jsgc.o Darwin_OPT.OBJ/jshash.o Darwin_OPT.OBJ/jsinterp.o Darwin_OPT.OBJ/jsinvoke.o Darwin_OPT.OBJ/jsiter.o Darwin_OPT.OBJ/jslock.o Darwin_OPT.OBJ/jslog2.o Darwin_OPT.OBJ/jslong.o Darwin_OPT.OBJ/jsmath.o Darwin_OPT.OBJ/jsnum.o Darwin_OPT.OBJ/jsobj.o Darwin_OPT.OBJ/jsopcode.o Darwin_OPT.OBJ/jsparse.o Darwin_OPT.OBJ/jsprf.o Darwin_OPT.OBJ/jsregexp.o Darwin_OPT.OBJ/jsscan.o Darwin_OPT.OBJ/jsscope.o Darwin_OPT.OBJ/jsscript.o Darwin_OPT.OBJ/jsstr.o Darwin_OPT.OBJ/jsutil.o Darwin_OPT.OBJ/jsxdrapi.o Darwin_OPT.OBJ/jsxml.o Darwin_OPT.OBJ/prmjtime.o   -L/private/tmp/nix-build-riak-2.2.0.drv-0/riak-2.2.0/deps/erlang_js/c_src/system/lib -lnspr4
ld: framework not found System
clang-3.7: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [rules.mk:125: Darwin_OPT.OBJ/libjs.dylib] Error 1
make[4]: Leaving directory '/private/tmp/nix-build-riak-2.2.0.drv-0/riak-2.2.0/deps/erlang_js/c_src/js/src'
make[3]: *** [rules.mk:66: all] Error 2
make[3]: Leaving directory '/private/tmp/nix-build-riak-2.2.0.drv-0/riak-2.2.0/deps/erlang_js/c_src/js/src'
make[2]: *** [Makefile:30: /private/tmp/nix-build-riak-2.2.0.drv-0/riak-2.2.0/deps/erlang_js/c_src/system/lib/libjs.a] Error 2
make[2]: Leaving directory '/private/tmp/nix-build-riak-2.2.0.drv-0/riak-2.2.0/deps/erlang_js/c_src'
make[1]: *** [GNUmakefile:17: c_src] Error 2
make[1]: Leaving directory '/private/tmp/nix-build-riak-2.2.0.drv-0/riak-2.2.0/deps/erlang_js'
ERROR: Command [compile] failed!

@LnL7
Copy link
Member

LnL7 commented Apr 10, 2017

Yes, it needs a few more frameworks including one that we don't have yet.

@mdaiter
Copy link
Contributor Author

mdaiter commented Apr 30, 2017

This is because we don't include the -lSystem flag into the linker flags. Let me work on this, and I can squash the commit.

@7c6f434c
Copy link
Member

7c6f434c commented Nov 4, 2017

@mdaiter what is the status of this?

@mdaiter
Copy link
Contributor Author

mdaiter commented Nov 4, 2017

Not really ready, did not work on it. :(

@c0bw3b
Copy link
Contributor

c0bw3b commented Oct 14, 2018

@mdaiter I'm closing this one for now since there has been new releases upstream (Riak KV 2.2.3 as of now).
Feel free to come up with a new PR if you go back to updating this package and enabling Darwin support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: darwin Running or building packages on Darwin
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants