I'm playing around with http://www.erlang.org/doc/tutorial/nif.html on OSX 10.6 Snow Leopard. and I'm having some trouble running the example.
I compile using :
gcc -o complex_nif.so -fpic -I/usr/local/lib/erlang/usr/include -flat_namespace -undefined suppress complex.c complex_nif.c
and run in erlang using:
Erlang R15B01 (erts-5.9.1) [source] [smp:4:4] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.9.1 (abort with ^G)
1> c(complex).
{error,on_load_failure}
=ERROR REPORT==== 4-Apr-2013::15:24:51 ===
Error in process <0.37.0> with exit value: {{badmatch,{error,{load_failed,"Failed to load NIF library: 'dlopen(./complex_nif.so, 2): no suitable image found. Did find:\n ./complex_nif.so: mach-o, but wrong architecture'"}}},[{complex,init,0,[{file,"...
=ERROR REPORT==== 4-Apr-2013::15:24:51 ===
The on_load function for module complex returned {{badmatch,
{error,
{load_failed,
"Failed to load NIF library: 'dlopen(./complex_nif.so, 2): no suitable image found. Did find:\n\t./complex_nif.so: mach-o, but wrong architecture'"}}},
[{complex,init,0,
[{file,...},{...}]},
{code_server,
'-handle_on_load/4-fun-0-',
1,
[{...}|...]}]}
I see that I'm finding the .so file. but erlang does not like the achitecture that it had been compiled for, what architecture would erlang prefer?