Rabbitmq: RABBITMQ_HIPE_COMPILE=1 does not work on alpine images

Created on 13 Apr 2017  Â·  17Comments  Â·  Source: docker-library/rabbitmq

Hello, i have tried to enable hipe compile on alpine image, but it always give the warning bellow
Not HiPE compiling: HiPE not found in this Erlang installation.

On debian images it works.

Most helpful comment

@tianon I opened this PR https://github.com/alpinelinux/aports/pull/1916 if they will accept you can change the documentation !

cc @michaelklishin

All 17 comments

@robertosdn your Erlang installation must include support for HiPE. I'm not sure what packages have to be installed on Alpine, sorry.

Hello i am using the rabbitmq:3.6.9-alpine from here, check yourself with composers bellow.
only debian version compiles.

docker-compose.rabbitmq.alpine.yml

version: '2'
services:
rabbitmq:
image: rabbitmq:3.6.9-alpine
ports:
- 5671:5671
environment:
- RABBITMQ_HIPE_COMPILE=1

docker-compose.rabbitmq.debian.yml

version: '2'
services:
rabbitmq:
image: rabbitmq:3.6.9
ports:
- 5671:5671
environment:
- RABBITMQ_HIPE_COMPILE=1

@robertosdn it has nothing to do with your Compose settings. The Erlang installation used in the two images are not identical: the one in Debian includes HiPE support and the one in Alpine does not.

Ok, then i think it is better to describe this issue on readme section "Enabling HiPE" on dokerhub
https://hub.docker.com/_/rabbitmq/, where i'snt telling that hipe does not work with alpine image.

Alpine has an "erlang-hipe" package -- if we're not installing that, we
should; if we are, we should debug why it's not working. ☺

@robertosdn I'm not sure I agree. It can work on Alpine images if you install some extra stuff. I don't think this image is a place for random RabbitMQ or Erlang documentation bits.

@tianon, rabbitmq/alpine dockerfile is installing erlang-hipe but is not working. @michaelklishin, the readme.md of docker library/rabbitmq says that using RABBITMQ_HIPE_COMPILE=1 the container will compile, but as im trying to say, this is not real on alpine image.

The same error was reported against a different base image (bitwalker/alpine-erlang#1), however the solution used there was to build erlang from source (https://github.com/bitwalker/alpine-erlang/commit/96cd91d72a9b565af7f2fc91789a8f8535dda624). There wasn't any indication as to whether they'd figured out the cause of the breakage or reported it to the alpine erlang-hipe package maintainer.

Looks like https://bugs.alpinelinux.org/issues/5700 is likely the correct upstream issue. :disappointed:

Looks like HiPE support was added in https://github.com/docker-library/rabbitmq/pull/65.

I think that there is something broken on the package.

HIPE works ( by building OTP manually ) :

alpine:~/otp-OTP-19.3.1/bin$ ./erl
Erlang/OTP 19 [erts-8.3.1] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V8.3.1  (abort with ^G)
1> l(hipe).
{module,hipe}

Default:

alpine:$ erl
Erlang/OTP 19 [erts-8.1] [source] [64-bit] [async-threads:10] [kernel-poll:false]

Eshell V8.1  (abort with ^G)
1> l(hipe).
{error,nofile}
2>

I was looking if there is some problem on the APKBUILD build file

I'd try to rebuild the package by removing this https://git.alpinelinux.org/cgit/aports/tree/community/erlang/APKBUILD#n89

I'll let you know if I will find something

by removing --disable-hipe flag, the HIPE module seems to work correctly.

alpine:~/erlang$ erl
-ash: erl: not found
alpine:~/erlang$ sudo apk add --allow-untrusted /home/gb/packages/gb/x86_64/erlang-hipe-19.1.0-r3.apk
(1/5) Installing erlang-kernel (19.1.0-r3)
(2/5) Installing erlang-stdlib (19.1.0-r3)
(3/5) Installing erlang-compiler (19.1.0-r3)
(4/5) Installing erlang (19.1.0-r3)
(5/5) Installing erlang-hipe (19.1.0-r3)
Executing busybox-1.26.2-r1.trigger
OK: 902 MiB in 169 packages
alpine:~/erlang$ erl
Erlang/OTP 19 [erts-8.1] [source] [64-bit] [async-threads:10] [kernel-poll:false]

Eshell V8.1  (abort with ^G)
1> l(hipe).
{module,hipe}
2>

Right, so the Alpine package uses --disable-hipe. I think this issue can be closed now.

I've filed https://github.com/docker-library/docs/pull/889 to make this clear (and link to the upstream bug). :+1: :heart:

@tianon I opened this PR https://github.com/alpinelinux/aports/pull/1916 if they will accept you can change the documentation !

cc @michaelklishin

Nice! Hopefully they're open to it! :smile:

PR accepted! :))! https://github.com/alpinelinux/aports/pull/1916 ! ..so fast!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

michaelklishin picture michaelklishin  Â·  4Comments

decaz picture decaz  Â·  5Comments

ghost picture ghost  Â·  4Comments

w7089 picture w7089  Â·  4Comments

aram535 picture aram535  Â·  4Comments