leo-project / leo_backend_db

leo_backend_db is a wrapper library for Basho bitcask, Basho eleveldb and Erlang ETS. They are used as local KVS in LeoFS.
http://leo-project.net/leofs
Apache License 2.0
10 stars 8 forks source link

Bitcask dependency fails to compile #20

Open hengestone opened 6 years ago

hengestone commented 6 years ago

On OTP-20.x:

_build/default/lib/bitcask/src/bitcask_merge_delete.erl:50: type queue() undefined

Using basho/bitcask/develop-3.0 branch works here.

yosukehara commented 6 years ago

@hengestone Thank you for your report.

I've checked the latest leo_backend_db whether it has any issue or not. As you may know, the latest version of leo_backend_db depends on leo-project/bitcask to be able to build Erlang/OTP 19 and 20. I've recognized there is no issue on my environment (Ubuntu-16.04).

Then I've tested basho/bitcask/develop-3.0, the build log of which is as below (there is no issue):

yosuke@ubuntu1604s:~/dev/src/bitcask (develop)$ git checkout develop-3.0
Branch develop-3.0 set up to track remote branch develop-3.0 from origin.
Switched to a new branch 'develop-3.0'

yosuke@ubuntu1604s:~/dev/src/bitcask (develop-3.0)$ erl
Erlang/OTP 20 [erts-9.2.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [kernel-poll:false]

Eshell V9.2.1  (abort with ^G)
1>
BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
       (v)ersion (k)ill (D)b-tables (d)istribution

yosuke@ubuntu1604s:~/dev/src/bitcask (develop-3.0)$ make
./rebar3 compile
===> Package <<"pc">> not found. Fetching registry updates and trying again...
===> Updating package registry...
===> Writing registry to /home/yosuke/.cache/rebar3/hex/default/registry
===> Generating package index...
===> Writing index to /home/yosuke/.cache/rebar3/hex/default/packages.idx
===> Fetching pc ({pkg,<<"pc">>,<<"1.6.0">>})
===> Downloaded package, caching at /home/yosuke/.cache/rebar3/hex/default/packages/pc-1.6.0.tar
===> Compiling pc
===> Fetching rebar3_eqc ({git,"https://github.com/Vagabond/rebar3-eqc-plugin",
                                      {branch,"master"}})
===> Fetching cf ({pkg,<<"cf">>,<<"0.1.2">>})
===> Downloaded package, caching at /home/yosuke/.cache/rebar3/hex/default/packages/cf-0.1.2.tar
===> Compiling cf
===> Compiling rebar3_eqc
===> Plugin rebar3_eqc does not export init/1. It will not be used.
===> Plugin rebar3_eqc does not export init/1. It will not be used.
===> Plugin rebar3_eqc does not export init/1. It will not be used.
===> Verifying dependencies...
===> Compiling bitcask
===> Compiling /home/yosuke/dev/src/bitcask/c_src/bitcask_nifs.c
===> Compiling /home/yosuke/dev/src/bitcask/c_src/erl_nif_util.c
===> Compiling /home/yosuke/dev/src/bitcask/c_src/murmurhash.c
===> Compiling /home/yosuke/dev/src/bitcask/c_src/pulse_c_send.c
===> Linking /home/yosuke/dev/src/bitcask/priv/bitcask.so

Let me know that you would like to use basho/bitcask/develop-3.0.

hengestone commented 6 years ago

Yes, I'm using basho/bitcask/develop-3.0 here, as you can see from my forked repo, hengestone/leo_backend_db.

Thanks :)