build erlang with kqueue support

Bogdan Andu bog495@REDACTED
Tue Nov 16 09:59:29 CET 2021


Hi Lukas,

I didn't; find any documentation related to that.

Anyway,

$ erl
Erlang/OTP 24 [erts-12.1.4] [source] [64-bit] [smp:4:4] [ds:4:4:10]
[async-threads:1]

Eshell V12.1.4  (abort with ^G)
1> erlang:system_info(kernel_poll).
true
2>

I guess I have kernel poll support for my erlang servers.

How can one tell if it is 'kqueue' or 'poll' type of kernel poll?

Because OpenBSD has also poll which is not great

Is there any erlang system information function that shows
exactly that?

Thank you



On Tue, Nov 16, 2021 at 10:53 AM Lukas Larsson <lukas@REDACTED> wrote:
>
> Hello!
>
> The banner about kernel-poll was removed from the erlang start some releases ago. So to check if you have kernel poll support you need to call `erlang:system_info(kernel_poll)`. If it returns `true` then you have kernel-poll support.
>
> Lukas
>
> On Tue, Nov 16, 2021 at 9:47 AM Bogdan Andu <bog495@REDACTED> wrote:
>>
>> Hello,
>>
>> I have an OpenBSD 6.8 amd64 machine and
>> I would like to compile Erlang 24 with kqueue support
>> such that I want erl to show me this:
>>
>> $erl
>> ........................ [kernel-poll]
>>
>> I understand that this is a compile time option
>> and not anymore a runtime selectable option tru + K true
>> switch
>>
>> I tried the following configure options with no success:
>> ./configure --prefix=/usr/local/erlang24.1.4
>> --with-ssl=/usr/local/openssl/1.1.1l --enable-dynamic-ssl-lib
>> --with-ssl-rpath=/usr/local/openssl/1.1.1l/lib --without-javac
>> --enable-threads --enable-kernel-poll --disable-hipe
>>
>> With openbsd patches (+./otp_build update_configure)
>> and without patches the result is the same:
>> no kernel-poll flag present - meaning that kernel polling with kqueue
>> is not available to that erlang emulator.
>>
>> Please advice me how to build erlang 24 with kqueue support.
>>
>> I have an Openbsd 5.4 with erlang 19 that does has kernell-poll flag
>>
>> $ erl +Ktrue
>> Erlang/OTP 19 [erts-8.1] [source] [64-bit] [smp:2:2]
>> [async-threads:10] [kernel-poll:true]
>>
>> Eshell V8.1  (abort with ^G)
>>
>>
>> p.s.
>> building erlang 24 against openssl 1.1.1 for tlsv3 support wasn't
>> a pleasant experience. The configuration script links against
>> system libressl  openssl library, instead of --with-ssl option given
>> to ./configure.
>> So I had to alter manually crypto ./configure and Makefile files .


More information about the erlang-questions mailing list