Заглушка Perl 6 Cro не запускается: HTTP / 2 запрашивается, но ALPN не поддерживается - PullRequest
0 голосов
/ 15 мая 2018

Я создал службу-заглушку с помощью Perl 6, но она выдает ошибку, потому что «ALPN не поддерживается».

$ cro stub http ds4 ds4
Stubbing a HTTP Service 'ds4' in 'ds4'...

First, please provide a little more information.

Secure (HTTPS) (yes/no) [no]: yes
Support HTTP/1.1 (yes/no) [yes]: 
Support HTTP/2.0 (yes/no) [yes]: 
Support Web Sockets (yes/no) [no]: yes

$ cd ds4
$ cro run
▶ Starting ds4 (ds4)
? Endpoint HTTPS will be at https://localhost:20000/
♻ Restarting ds4 (ds4)
⚠ ds4 HTTP/2 is requested, but ALPN is not supported
⚠ ds4   in method new at /home/zoffix/rakudo/install/share/perl6/site/sources/D142088174DCE80630FC7C31793703D9D56E26D6 (Cro::HTTP::Server) line 128
⚠ ds4   in block <unit> at service.p6 line 5
⚠ ds4 

Я нашел эту ошибку, но все, что я получаю, это информация о перестройке nginx и Apache, которые я не использую. В нем упоминается libssl, и в этой довольно древней установке у меня есть libssl1.0.0:i386 и libssl0.9.8:i386 без новых доступных пакетов.

Может ли компиляция новой библиотеки libssl вручную решить проблему, с которой я столкнулся?


ОБНОВЛЕНИЕ: при условии, что я правильно установил более новую версию libssl, проблема все еще остается:

$ cd $(mktemp -d)
$ wget https://www.openssl.org/source/openssl-1.1.1-pre6.tar.gz
$ tar -xvvf *
$ cd open*
$ ./config && make
$ make
$ sudo make install

...

$ zef uninstall Cro::Core Cro::HTTP cro Cro::TLS Cro::WebSocket OpenSSL IO::Socket::SSL IO::Socket::SSL::Async
$ zef install --/test cro
$ cro run
▶ Starting ds4 (ds4)
? Endpoint HTTPS will be at https://localhost:20000/
♻ Restarting ds4 (ds4)
⚠ ds4 HTTP/2 is requested, but ALPN is not supported
⚠ ds4   in method new at /home/zoffix/rakudo/install/share/perl6/site/sources/AA08D168A5945413FFDA254577A6F6FF64F66989 (Cro::HTTP::Server) line 128
⚠ ds4   in block <unit> at service.p6 line 5
⚠ ds4 

1 Ответ

0 голосов
/ 15 мая 2018

Установка новых файлов .so в систему обычно требует обновления кэшей ld; apt, rpm и друзья все делают это в переустановочных хуках автоматически, когда это необходимо, но когда вы устанавливаете библиотеку вручную, вам, возможно, придется делать это вручную.

Команда для этого

sudo ldconfig

Надеюсь, это поможет!

...