Сборка riak из исходников на Open SUSE 13.1 — Ошибка компиляции на eleveldb

Нужна помощь в решении проблемы при попытке собрать RIAK из исходного кода. Решив большинство проблем, я теперь застрял с приведенными ниже ошибками во время «make rel»

home/ankur/riak/deps/eleveldb/c_src/eleveldb.cc:332:58: error: invalid conversion from ‘size_t* {aka unsigned int*}’ to ‘long unsigned int*’ [-fpermissive]
if (enif_get_ulong(env, option[1], &memory_sz))

и

In file included from c_src/eleveldb.h:27:0,
from /home/ankur/riak/deps/eleveldb/c_src/eleveldb.cc:35:
/usr/lib/erlang/erts-5.10.2/include/erl_nif_api_funcs.h:43:27: error: initializing argument 3 of ‘int enif_get_ulong(ErlNifEnv*, ERL_NIF_TERM, long unsigned int*)’ [-fpermissive]
ERL_NIF_API_FUNC_DECL(int,enif_get_ulong,(ErlNifEnv*, ERL_NIF_TERM term, unsigned long* ip));

ERROR: compile failed while processing /home/ankur/riak/deps/eleveldb: rebar_abort

Не могли бы вы помочь мне в правильном направлении. У меня очень ограниченное понимание того, что я делаю (просто следую инструкциям из сети).


person Ankur Saxena    schedule 24.05.2014    source источник


Ответы (1)


Чтобы обойти указанную выше проблему, проверьте нижний тег eleveldb. Если вы пытаетесь использовать Riak2.0beta, перейдите в папку deps/eleveldb и переключите рабочую копию на тег 1.2.0 make clean и make в eleveldb, а затем сделайте make rel на riak. Он должен работать !

https://github.com/basho/eleveldb/issues/106

person Ankur Saxena    schedule 25.05.2014