构建rabbitmq-server和erlang,从源代码启用FIPS

lsmd5eda  于 2023-08-01  发布在  Erlang
关注(0)|答案(1)|浏览(134)

我试图在启用FIPS的Ubuntu 20.04上安装rabbitmq-server,我看到erlang DEB默认包中没有编译它。我阅读了https://www.erlang.org/doc/apps/crypto/fips.html指南,并从源代码构建了带有--enable-fips标志的erlang,它成功地构建和安装了/usr/local/lib/erlang/lib中的所有库。
现在我尝试从源代码构建rabbitmq-server(因为DEB包依赖于我不想安装的erlang包),似乎找不到某个erlang包-eunit/include/eunit.hrl

$ make
make[1]: Entering directory '/home/ubuntu/rabbitmq-server/deps/rabbit_common'
make[1]: Leaving directory '/home/ubuntu/rabbitmq-server/deps/rabbit_common'
make[1]: Entering directory '/home/ubuntu/rabbitmq-server/deps/rabbit'
make[2]: Entering directory '/home/ubuntu/rabbitmq-server/deps/rabbit/apps/rabbitmq_prelaunch'
make[2]: Leaving directory '/home/ubuntu/rabbitmq-server/deps/rabbit/apps/rabbitmq_prelaunch'
make[2]: Entering directory '/home/ubuntu/rabbitmq-server/deps/rabbitmq_cli'
 GEN    escript/rabbitmqctl
Resolving Hex dependencies...
Resolution completed in 0.028s
Unchanged:
  amqp 2.1.2
  csv 2.4.1
  dialyxir 0.5.1
  json 1.4.1
  observer_cli 1.7.4
  parallel_stream 1.0.6
  recon 2.5.3
  stdout_formatter 0.2.4
  temp 0.4.7
  x509 0.8.7
==> stdout_formatter
Compiling 4 files (.erl)
stdout_formatter_table.erl:12:14: can't find include lib "eunit/include/eunit.hrl"
could not compile dependency :stdout_formatter, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile stdout_formatter --force", update it with "mix deps.update stdout_formatter" or clean it with "mix deps.clean stdout_formatter"
make[2]: *** [Makefile:95: escript/rabbitmqctl] Error 1
make[2]: Leaving directory '/home/ubuntu/rabbitmq-server/deps/rabbitmq_cli'
make[1]: *** [../../erlang.mk:4512: deps] Error 2
make[1]: Leaving directory '/home/ubuntu/rabbitmq-server/deps/rabbit'
make: *** [erlang.mk:4512: deps] Error 2

字符串
我尝试在eunit-kernel/include/file.hrl之前添加一个不同的erlang库加载,它成功地加载了那个。
还尝试了strace看看它看的地方,我发现它加载的要么是ERL_LIBSDIST_ERL_LIBS变量,试图设置这两个,但同样的错误。
有什么想法吗

6ojccjat

6ojccjat1#

经过一天的调试,我发现这是因为我使用的是Elixir 15,没有使用最新的rabbitmq-server,我使用的是3.11.9,这是不兼容的。
出于生产的原因,我不得不使用3. 11. 9,所以我把酏剂降级到14,它起作用了。

相关问题