Closed wohali closed 2 years ago
FYI, the build environment on these machines has both foundationdb
and foundationdb-devel
installed from binary packages. This is because foundationdb
doesn't include the header files needed for compiling erlfdb
.
However, the problem might be that while foundationdb
is a 2.x release, foundationdb-devel
is a 3.0.0 pre-release... need help from @dch here.
An alternative might be to install fdb completely from source until the ports tree stuff is sorted out.
IIRC since ~ FDB 6.3, I switched ports to use the cmake-derived build, and the headers are since fixed. It wasn't possible in the previous 6.2.x series.
https://svnweb.freebsd.org/ports?view=revision&revision=537449 from 31 May, which is in 2020Q3 at least. Is it possible the builders aren't updated?
FWIW the current diff of installed files between 6.3.11 and 7.0.0-mumble-git-sha is:
dch@wintermute /u/p/databases> diff /tmp/fdb /tmp/devel
26,29c26,28
< /usr/local/lib/libthirdparty.a
< /usr/local/share/licenses/foundationdb-6.3.11/APACHE20
< /usr/local/share/licenses/foundationdb-6.3.11/LICENSE
< /usr/local/share/licenses/foundationdb-6.3.11/catalog.mk
---
> /usr/local/share/licenses/foundationdb-devel-7.0.0.a.20210224/APACHE20
> /usr/local/share/licenses/foundationdb-devel-7.0.0.a.20210224/LICENSE
> /usr/local/share/licenses/foundationdb-devel-7.0.0.a.20210224/catalog.mk
@dch OK, I've removed the foundationdb-devel
package and it just has foundationdb
now, which is currently 6.3.9.
This makes couchdb compile but it still fails on gmake check
:
gmake[1]: Entering directory '/root/couchdb'
==> chttpd (compile)
==> couch_eval (compile)
==> couch_replicator (compile)
==> couch_views (compile)
==> ctrace (compile)
==> fabric (compile)
==> couch_jobs (compile)
==> couch_expiring_cache (compile)
==> mango (compile)
==> rel (compile)
==> couchdb (compile)
==> couchdb (setup_eunit)
Writing tmp/etc/default_eunit.ini
Writing tmp/etc/local_eunit.ini
Writing tmp/etc/eunit.ini
Writing tmp/etc/vm.args
==> couch_eval (eunit)
Compiled src/couch_eval.erl
======================== EUnit ========================
module 'couch_eval'
There were no tests to run.
Cover analysis: /root/couchdb/src/couch_eval/.eunit/index.html
Code Coverage:
couch_eval : 0%
Total : 0%
==> rel (eunit)
==> couchdb (eunit)
==> couch_expiring_cache (eunit)
Compiled src/couch_expiring_cache.erl
Compiled src/couch_expiring_cache_server.erl
Compiled src/couch_expiring_cache_fdb.erl
Compiled test/couch_expiring_cache_tests.erl
======================== EUnit ========================
module 'couch_expiring_cache_server'
module 'couch_expiring_cache'
module 'couch_expiring_cache_tests'
Test expiring cache basics
Cannot start application 'fabric', reason {{shutdown,
{failed_to_start_child,
fabric2_server,
{fdbserver_bin_not_found,
[{erlfdb_util,
find_fdbserver_bin,1,
[{file,"src/erlfdb_util.erl"},
{line,188}]},
{erlfdb_util,
init_test_cluster_int,1,
[{file,"src/erlfdb_util.erl"},
{line,115}]},
{erlfdb_util,get_test_db,1,
[{file,"src/erlfdb_util.erl"},
{line,37}]},
{fabric2_server,
get_db_and_cluster,1,
[{file,
"src/fabric2_server.erl"},
{line,213}]},
{fabric2_server,init,1,
[{file,
"src/fabric2_server.erl"},
{line,133}]},
{gen_server,init_it,2,
[{file,"gen_server.erl"},
{line,374}]},
{gen_server,init_it,6,
[{file,"gen_server.erl"},
{line,342}]},
{proc_lib,init_p_do_apply,3,
[{file,"proc_lib.erl"},
{line,249}]}]}}},
{fabric2_app,start,[normal,[]]}}
*** context setup failed ***
**in function test_util:start_applications/2 (src/test_util.erl, line 109)
in call from test_util:start_couch/2 (src/test_util.erl, line 79)
**throw:{error,
{cannot_start,fabric,
{{shutdown,
{failed_to_start_child,fabric2_server,
{fdbserver_bin_not_found,
[{erlfdb_util,find_fdbserver_bin,1,[{...}|...]},
{erlfdb_util,init_test_cluster_int,1,[...]},
{erlfdb_util,get_test_db,1,...},
{fabric2_server,get_db_and_cluster,...},
{fabric2_server,...},
{...}|...]}}},
{fabric2_app,start,[normal,[]]}}}}
[done in 3.427 s]
[done in 3.427 s]
module 'couch_expiring_cache_fdb'
=======================================================
Failed: 0. Skipped: 0. Passed: 0.
One or more tests were cancelled.
Cover analysis: /root/couchdb/src/couch_expiring_cache/.eunit/index.html
Code Coverage:
couch_expiring_cache : 0%
couch_expiring_cache_fdb : 0%
couch_expiring_cache_server : 0%
Total : 0%
ERROR: One or more eunit tests failed.
ERROR: eunit failed while processing /root/couchdb/src/couch_expiring_cache: rebar_abort
gmake[1]: *** [Makefile:176: eunit] Error 1
gmake[1]: Leaving directory '/root/couchdb'
gmake: *** [Makefile:163: check] Error 2
Description
Currently blocking CI builds from succeeding, along with a failed macOS node.
Steps to Reproduce
Until https://github.com/apache/couchdb-erlfdb/pull/15 lands and is tagged, you will need to edit
rebar.config.script
accordingly.Then:
gmake check
What I see:
Your Environment
main
n/a
FreeBSD 12.2