Erlang NIF load failing

Erlang NIF load failing

Postby dbferreira » Thu Jul 17, 2014 11:27 pm Hi guys,

I’ve successfully compiled the Erlang client by firstly compiling the code in the “c” folder, then updating the Makefile in the “Erlang” folder to the correct erl_interface values, then compiling the code in the “Erlang” folder. A new “aerospike.nif” file is created after the process is complete. However, when I attempt to load this NIF file in Erlang, I get the following error:

    1> erlang:load_nif("./aerospike_nif", 0).
    {error,{load_failed,"Failed to load NIF library: './aerospike_nif.so: undefined symbol: RIPEMD160_Init'"}}

I’ve tried a few different Erlang versions, all with the same result. Have anyone come across this before?

There is a challenge in building the Erlang client on the various operating systems. The problem is that the RIPEMD160 library is in different locations for each OS. We’ve noticed that the Erlang client builds most “easily” on CentOS (6.4) and is more of a challenge on the other operating systems.

try to link it with -lcrypto on ubuntu 14.04 you will not have that error anymore here is blog post describing it http://nikola.link/?p=81 you can check make file on my github account