couchdb 3.4.2 with erlang/otp 27 fails
When building couchdb 3.4.2 with erlang/otp 27, I got the following error:
| NOTE: make -j 12 DESTDIR=/build/tmp-qemux86-64-glibc-couchdb/work/core2-64-poky-linux/couchdb/3.4.2+git/image install
| ==> snappy (compile)
| ==> ibrowse (compile)
| ==> jiffy (compile)
| ==> mochiweb (compile)
| ==> meck (compile)
| ==> recon (compile)
| ==> proper (compile)
| ==> couch_epi (compile)
| ==> config (compile)
| ==> couch_log (compile)
| WARN: Missing plugins: [pc]
| ==> b64url (compile)
| WARN: Missing plugins: [pc]
| ==> exxhash (compile)
| ==> ets_lru (compile)
| ==> couch_quickjs (compile)
| make[1]: Entering directory '/build/tmp-qemux86-64-glibc-couchdb/work/core2-64-poky-linux/couchdb/3.4.2+git/git/src/couch_quickjs/quickjs'
| make[1]: warning: -j8 forced in submake: resetting jobserver mode.
| make[1]: 'libquickjs.lto.a' is up to date.
| make[1]: 'qjsc' is up to date.
| make[1]: Leaving directory '/build/tmp-qemux86-64-glibc-couchdb/work/core2-64-poky-linux/couchdb/3.4.2+git/git/src/couch_quickjs/quickjs'
| ==> chttpd (compile)
| ==> couch (compile)
| ==> couch_event (compile)
| ==> mem3 (compile)
| ==> couch_index (compile)
| ==> couch_mrview (compile)
| ==> couch_replicator (compile)
| ==> couch_pse_tests (compile)
| ==> couch_stats (compile)
| ==> couch_peruser (compile)
| ==> couch_tests (compile)
| ==> couch_dist (compile)
| ==> custodian (compile)
| ==> ddoc_cache (compile)
| ==> dreyfus (compile)
| ==> nouveau (compile)
| ==> fabric (compile)
| ==> global_changes (compile)
| ==> ioq (compile)
| ==> jwtf (compile)
| ==> ken (compile)
| ==> mango (compile)
| ==> rexi (compile)
| ==> setup (compile)
| ==> smoosh (compile)
| ==> weatherreport (compile)
| ==> couch_prometheus (compile)
| ==> couch_scanner (compile)
| ==> rel (compile)
| ==> git (compile)
| ==> weatherreport (escriptize)
| WARN: 'escriptize' command does not apply to directory /build/tmp-qemux86-64-glibc-couchdb/work/core2-64-poky-linux/couchdb/3.4.2+git/git/rel
| WARN: 'escriptize' command does not apply to directory /build/tmp-qemux86-64-glibc-couchdb/work/core2-64-poky-linux/couchdb/3.4.2+git/git
| Installing CouchDB into rel/couchdb/ ...
| WARN: Missing plugins: [pc]
| WARN: Missing plugins: [pc]
| ==> rel (generate)
| =CRASH REPORT==== 17-Mar-2025::00:51:27.252198 ===
| crasher:
| initial call: reltool_server:init/1
| pid: <0.194.0>
| registered_name: []
| exception exit: {{badmatch,false},
| [{reltool_server,'-libs_to_dirs/2-fun-0-',2,
| [{file,"reltool_server.erl"},
| {line,1775}]},
| {reltool_server,'-libs_to_dirs/2-lc$^1/1-0-',2,
| [{file,"reltool_server.erl"},
| {line,1780}]},
| {reltool_server,libs_to_dirs,2,
| [{file,"reltool_server.erl"},
| {line,1780}]},
| {reltool_server,refresh,1,
| [{file,"reltool_server.erl"},
| {line,1717}]},
| {reltool_server,do_init,1,
| [{file,"reltool_server.erl"},
| {line,158}]},
| {reltool_server,init,1,
| [{file,"reltool_server.erl"},
| {line,136}]},
| {proc_lib,init_p_do_apply,3,
| [{file,"proc_lib.erl"},{line,329}]}]}
| in function reltool_server:init/1 (reltool_server.erl, line 141)
| ancestors: [<0.10.0>]
| message_queue_len: 0
| messages: []
| links: [<0.10.0>]
| dictionary: []
| trap_exit: false
| status: running
| heap_size: 10958
| stack_size: 29
| reductions: 5454
| neighbours:
| neighbour:
| pid: <0.10.0>
| registered_name: []
| initial_call: {erlang,apply,2}
| current_function: {proc_lib,sync_start,2}
| ancestors: []
| message_queue_len: 0
| links: [<0.0.0>,<0.194.0>]
| trap_exit: false
| status: waiting
| heap_size: 17731
| stack_size: 94
| reductions: 2053854
| current_stacktrace: [{proc_lib,sync_start,2,[{file,"proc_lib.erl"},{line,434}]},
| {reltool,start_server,1,[{file,"reltool.erl"},{line,336}]},
| {rebar_reltool,generate,2,
| [{file,"src/rebar_reltool.erl"},{line,53}]},
| {rebar_core,run_modules,4,
| [{file,"src/rebar_core.erl"},{line,493}]},
| {rebar_core,execute,6,
| [{file,"src/rebar_core.erl"},{line,418}]},
| {rebar_core,maybe_execute,8,
| [{file,"src/rebar_core.erl"},{line,302}]},
| {rebar_core,process_dir1,7,
| [{file,"src/rebar_core.erl"},{line,261}]},
| {rebar_core,process_each,5,
| [{file,"src/rebar_core.erl"},{line,351}]}]
| Runtime terminating during boot ({{badmatch,false},[{reltool_server,'-libs_to_dirs/2-fun-0-',2,[{file,"reltool_server.erl"},{line,1775}]},{reltool_server,'-libs_to_dirs/2-lc$^1/1-0-',2,[{file,"reltool_server.erl"},{
line,1780}]},{reltool_server,libs_to_dirs,2,[{file,"reltool_server.erl"},{line,1780}]},{reltool_server,refresh,1,[{file,"reltool_server.erl"},{line,1717}]},{reltool_server,do_init,1,[{file,"reltool_server.erl"},{line,
158}]},{reltool_server,init,1,[{file,"reltool_server.erl"},{line,136}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,329}]}]})
|
| Crash dump is being written to: erl_crash.dump...done
| make: *** [Makefile:411: release] Error 1
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
It works when configuring PREFERRED_VERSION to 25:
PREFERRED_VERSION_erlang = "25.3.2.15"
PREFERRED_VERSION_erlang-native = "25.3.2.15"
PREFERRED_VERSION_nativesdk-erlang = "25.3.2.15"
Thanks for the hint.
I only had these versions available:
WARNING: versions of erlang-native available: 25.3.2.20 26.2.5.11 27.3.3
But with 25.3.2.20 it works!
Hi @chruetli
I had to update Erlang/OTP versions due a security fix. Let me know it something is not working as expected. I'm still testing and reviewing some points.
Hi Joao,
I just tried to rebuild my project and noticed that the error occurred again. The Erlang/OPT version is 3.4.3/27. It fails with exactly the same message as before (first message in this thread)
WARNING: versions of erlang-native available: 25.3.2.21 26.2.5.15 27.3.4.3
It doesn't work with 27.3.4.3 but with 25.3.2.21 it works again!
Hi @chruetli
I've tested on latest master, couchdb-3.4.3 recipe and Erlang/OTP 27. It is working now.
# meta-erlang-elixir
ELIXIR_VERSION = "1.17.1"
PREFERRED_VERSION_elixir = "${ELIXIR_VERSION}"
PREFERRED_VERSION_elixir-native = "${ELIXIR_VERSION}"
PREFERRED_VERSION_nativesdk-elixir = "${ELIXIR_VERSION}"
# meta-erlang-erlang
ERLANG_VERSION = "27.3.4.3"
PREFERRED_VERSION_erlang = "${ERLANG_VERSION}"
PREFERRED_VERSION_erlang-native = "${ERLANG_VERSION}"
PREFERRED_VERSION_nativesdk-erlang = "${ERLANG_VERSION}"
It is good to cleansstate erlang erlang-native before trying it.
Not only the build is working but also running couchdb is also ok.
Hi,
I'm closing this one. Feel free to reopen it if needed.