Skip to content

Instantly share code, notes, and snippets.

@rhumbertgz
Last active August 29, 2015 14:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rhumbertgz/b7b0b5c26134c1d10b2c to your computer and use it in GitHub Desktop.
Save rhumbertgz/b7b0b5c26134c1d10b2c to your computer and use it in GitHub Desktop.
Error on Riak ( 2.1.1 ) startup
Hello, I have an error trying to start riak after compiled it from the source code (riak 2.1.1).
----------------------------------------
soft67:bin Humberto$ ./riak start
!!!!
!!!! WARNING: ulimit -n is 2560; 65536 is the recommended minimum.
!!!!
riak failed to start within 15 seconds,
see the output of 'riak console' for more information.
If you want to wait longer, set the environment variable
WAIT_FOR_ERLANG to the number of seconds to wait.
------------------------
I am using gcc 5.2 as default compiler, OS X Yosemite 10.10 and the Basho's patched version of Erlang (OTP_R16B02_basho8)
I have this error with the lib eleveldb.so:
2015-07-30 12:43:59.292 [warning] <0.191.0> The on_load function for module eleveldb returned {error,{load_failed,"Failed to load NIF library: 'dlopen(/Users/Humberto/riak-2.1.1/rel/riak/bin/../lib/eleveldb-2.1.0-0-ga36dbd6/priv/eleveldb.so, 2): Symbol not found: __ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE\n Referenced from: /Users/Humberto/riak-2.1.1/rel/riak/bin/../lib/eleveldb-2.1.0-0-ga36dbd6/priv/eleveldb.so\n Expected in: flat namespace\n in /Users/Humberto/riak-2.1.1/rel/riak/bin/../lib/eleveldb-2.1.0-0-ga36dbd6/priv/eleveldb.so'"}}
I used otool to see the links of eleveldb.so, here is the output:
soft67:bin Humberto$ otool -L /Users/Humberto/riak-2.1.1/rel/riak/bin/../lib/eleveldb-2.1.0-0-ga36dbd6/priv/eleveldb.so
/Users/Humberto/riak-2.1.1/rel/riak/bin/../lib/eleveldb-2.1.0-0-ga36dbd6/priv/eleveldb.so:
/opt/local/lib/libgcc/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.21.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
/opt/local/lib/libgcc/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
What is wrong? I did the same in Ubunto 14.4 and works OK
Thanks in advance,
Humberto
Compiler information
==========================================================
Humbertos-MacBook-Pro-2:Humberto$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/local/libexec/gcc/x86_64-apple-darwin14/5.2.0/lto-wrapper
Target: x86_64-apple-darwin14
Configured with: /opt/local/var/macports/build/_opt_mports_dports_lang_gcc5/gcc5/work/gcc-5.2.0/configure --prefix=/opt/local --build=x86_64-apple-darwin14 --enable-languages=c,c++,objc,obj-c++,lto,fortran,java --libdir=/opt/local/lib/gcc5 --includedir=/opt/local/include/gcc5 --infodir=/opt/local/share/info --mandir=/opt/local/share/man --datarootdir=/opt/local/share/gcc-5 --with-local-prefix=/opt/local --with-system-zlib --disable-nls --program-suffix=-mp-5 --with-gxx-include-dir=/opt/local/include/gcc5/c++/ --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local --with-isl=/opt/local --enable-stage1-checking --disable-multilib --enable-lto --enable-libstdcxx-time --with-as=/opt/local/bin/as --with-ld=/opt/local/bin/ld --with-ar=/opt/local/bin/ar --with-bugurl=https://trac.macports.org/newticket --with-pkgversion='MacPorts gcc5 5.2.0_0'
Thread model: posix
gcc version 5.2.0 (MacPorts gcc5 5.2.0_0)
===========================================
Erlang information
===========================================
soft67:bin Humberto$ erl
Erlang R16B02_basho8 (erts-5.10.3) [source] [64-bit] [smp:8:8] [async-threads:10] [kernel-poll:false]
Eshell V5.10.3 (abort with ^G)
1>
===========================================
Console log
====================================
2015-07-30 16:54:58.993 [info] <0.7.0> Application lager started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.001 [info] <0.7.0> Application sasl started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.001 [info] <0.7.0> Application asn1 started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.004 [info] <0.7.0> Application crypto started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.004 [info] <0.7.0> Application public_key started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.010 [info] <0.7.0> Application ssl started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.013 [info] <0.7.0> Application riak_sysmon started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.021 [info] <0.7.0> Application os_mon started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.028 [info] <0.70.0> alarm_handler: {set,{system_memory_high_watermark,[]}}
2015-07-30 16:54:59.030 [info] <0.7.0> Application runtime_tools started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.062 [info] <0.7.0> Application erlang_js started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.062 [info] <0.7.0> Application xmerl started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.078 [info] <0.7.0> Application inets started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.078 [info] <0.7.0> Application mochiweb started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.084 [info] <0.7.0> Application webmachine started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.084 [info] <0.7.0> Application basho_stats started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.090 [info] <0.7.0> Application bitcask started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.100 [info] <0.7.0> Application clique started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.100 [info] <0.7.0> Application eleveldb started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.101 [info] <0.7.0> Application pbkdf2 started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.101 [info] <0.7.0> Application poolboy started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.125 [info] <0.158.0>@exometer_report:do_start_reporters:613 Starting reporters with []
2015-07-30 16:54:59.126 [info] <0.7.0> Application exometer_core started on node 'riak@127.0.0.1'
2015-07-30 16:54:59.185 [warning] <0.178.0>@riak_core_ring_manager:reload_ring:359 No ring file available.
2015-07-30 16:54:59.222 [warning] <0.191.0> The on_load function for module eleveldb returned {error,{load_failed,"Failed to load NIF library: 'dlopen(/Users/Humberto/riak-2.1.1/rel/riak/bin/../lib/eleveldb-2.1.0-0-ga36dbd6/priv/eleveldb.so, 2): Symbol not found: __ZN7leveldb13gPerfCountersE\n Referenced from: /Users/Humberto/riak-2.1.1/rel/riak/bin/../lib/eleveldb-2.1.0-0-ga36dbd6/priv/eleveldb.so\n Expected in: flat namespace\n in /Users/Humberto/riak-2.1.1/rel/riak/bin/../lib/eleveldb-2.1.0-0-ga36dbd6/priv/eleveldb.so'"}}
2015-07-30 16:54:59.223 [error] <0.189.0> CRASH REPORT Process <0.189.0> with 0 neighbours exited with reason: call to undefined function eleveldb:destroy("./data/cluster_meta/trees", []) in gen_server:init_it/6 line 328
2015-07-30 16:54:59.223 [error] <0.164.0> Supervisor riak_core_sup had child riak_core_metadata_hashtree started with riak_core_metadata_hashtree:start_link() at undefined exit with reason call to undefined function eleveldb:destroy("./data/cluster_meta/trees", []) in context start_error
2015-07-30 16:54:59.223 [error] <0.162.0> CRASH REPORT Process <0.162.0> with 0 neighbours exited with reason: {{shutdown,{failed_to_start_child,riak_core_metadata_hashtree,{undef,[{eleveldb,destroy,["./data/cluster_meta/trees",[]],[]},{hashtree,destroy,1,[{file,"src/hashtree.erl"},{line,275}]},{hashtree_tree,create_node,2,[{file,"src/hashtree_tree.erl"},{line,463}]},{hashtree_tree,new,2,[{file,"src/hashtree_tree.erl"},{line,193}]},{riak_core_metadata_hashtree,init,1,[{file,"src/riak_core_metadata_hashtree.erl"},{line,172}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,304}]},{proc_lib,init_p_do_apply,...}]}}},...} in application_master:init/4 line 133
2015-07-30 16:54:59.223 [info] <0.7.0> Application riak_core exited with reason: {{shutdown,{failed_to_start_child,riak_core_metadata_hashtree,{undef,[{eleveldb,destroy,["./data/cluster_meta/trees",[]],[]},{hashtree,destroy,1,[{file,"src/hashtree.erl"},{line,275}]},{hashtree_tree,create_node,2,[{file,"src/hashtree_tree.erl"},{line,463}]},{hashtree_tree,new,2,[{file,"src/hashtree_tree.erl"},{line,193}]},{riak_core_metadata_hashtree,init,1,[{file,"src/riak_core_metadata_hashtree.erl"},{line,172}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,304}]},{proc_lib,init_p_do_apply,...}]}}},...}
2015-07-30 16:54:59.225 [info] <0.70.0> alarm_handler: {clear,system_memory_high_watermark}
@rhumbertgz
Copy link
Author

Hi all,
At the end the problem was in trying to use GCC as suggested Basho documentation. I just restored Clang as default compiler and everything works 👍

Thanks to cmeiklejohn for his suggestion :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment