On Tue, Apr 20, 2010 at 3:01 PM, Kevin Smith <[email protected]> wrote:
> Hipe shouldn't make a difference. The linker errors: > > ld: warning: in > /usr/local/lib/erlang/lib/erl_interface-3.6.5/lib/liberl_interface.a, file > is not of required architecture > ld: warning: in /usr/local/lib/erlang/lib/erl_interface-3.6.5/lib/libei.a, > file is not of required architecture > ld: warning: in c_src/system/lib/libjs.a, file is not of required > architecture > ld: warning: in c_src/system/lib/libnspr4.a, file is not of required > architecture > > indicate the "bit-ness" of your Erlang install and the Spidermonkey and > Netscape runtime do not agree. This causes the subsequent error when Riak > tries to load the shared library into the Erlang VM. > > How old is the Mac you're using? I've also seen problems where Erlang is > compiled for 64 bits but Spidermonkey's build detects 32 bit based on the > hardware. Sweet. So this got me pointed in the right direction. The NS and SM libs that were being generated were in fact 32 bit. After some digging around in the underlying Makefiles and rebar.conf, everything looked proper. Watched the build run by and all the appropriate flags were being used but I was still getting 32 bit libs. WTF? It turns out that Apples version of gcc 4.0.1 only supports i386, ppc, ppc64 as -arch flags. So -arch x86_64 was being ignored. I switched to gcc 4.2.1 and everything builds and runs fine. I had been using 4.0.1 due to some bugs in building Python C extension modules (upstream Python builds use 4.0.1 on OS X). Thanks for the pointers, -Eric
_______________________________________________ riak-users mailing list [email protected] http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
