basho/riak

Error building 3.0 from source on Debian

philipbrown opened this issue ยท 4 comments

Hey, thank you for your continued work on Riak!

I'm getting the following error when trying to build from source:

===> Compiling riak
===> Running cuttlefish schema generator
===> Starting relx build process ...
===> Resolving OTP Applications from directories:
          /home/riak/_build/deb/lib
          /home/riak/apps
          /usr/local/lib/erlang/lib
===> Resolved riak-3.0
===> rendering builtin_hook_wait_for_vm_start hook to "/home/riak/_build/deb/rel/riak/bin/hooks/builtin/wait_for_vm_start"
===> rendering builtin_hook_pid hook to "/home/riak/_build/deb/rel/riak/bin/hooks/builtin/pid"
===> rendering builtin_hook_wait_for_process hook to "/home/riak/_build/deb/rel/riak/bin/hooks/builtin/wait_for_process"
===> Including Erts from /usr/local/lib/erlang
===> release successfully created!
===> Unable to read vars file (debian/vars.config) for overlay due to: enoent
Schema parse error near line number 19: syntax error before: '}'
Error parsing schema: /home/riak/_build/deb/rel/riak/share/schema/23-riak_repl.schema

Could you point me in the right direction to get it working? Thank you ๐Ÿ™

Can you confirm which tag or branch you're trying to build, and which debian version. Is this from running make rel, or a different make command?

Hi Martin, thank you for the quick reply! ๐Ÿ˜„

I'm using the develop-3.0 branch and Debian 10.5.

I've managed to get past the error above by changing this line:

- {overlay_vars, "debian/vars.config"},
+ {overlay_vars, "rel/pkg/deb/debian/vars.config"},

However, when I try to run riak start I get an error about missing /etc/riak/riak.conf file, which I can fix by adding one.

But then when I try to run riak admin test, I get the following error:

/home/riak/rel/riak/bin/riak: 961: /home/riak/rel/riak/bin/riak-admin: /erl: not found

So I guess I must be missing something? Sorry if this is a n00b mistake!

I'm using make rel-deb, but I also get the same error with make rel:

git clone git://github.com/basho/riak.git /home/riak \
        && cd /home/riak \
        && make deps; rebar3 get-deps; make rel-deb

Thank you for your help! ๐Ÿ™

I've not used make rel-deb, and it is not something anyone tested for 3.0. Unfortunately there's a few fragments of stuff which have been left lying around, that if they're not covered by the standard test set used within the development process may not work - this includes the riak admin test script.

If you use make rel then everything will be created under the rel/ folder in the folder you cloned into. This should include the riak.conf in rel/riak/etc/riak.conf (e.g. /home/riak/rel/riak/etc/riak.conf in your case). You can the run rel/riak/bin/riak start and rel/riak/bin/riak ping should return a pong. Make sure you have a supported version of erlang up and running.

At the moment make package, make devrel (which is used in riak_test) and make rel are the only things we use in development. If you want to have riak setup correctly as a service, under a riak user, then create the package using make package, and then install the created package using dpkg.

If you continue to have problems, I will try and have a play around to recreate ... but that might not be until Tuesday.

Ah I see, sorry my misunderstanding. Thank you for clarifying! ๐Ÿ˜„

Yes, if I use make rel or make package, and then riak ping I'm returned pong. So everything looks good there.

Thank you for you help! I'm excited to use (and hopefully contribute to) 3.0!