croservices / cro

Development tools for building services and distributed systems in Raku using the Cro libraries.
https://cro.services/
Artistic License 2.0
88 stars 35 forks source link

cro does not install on Ubuntu 20.04.1 LTS #134

Closed melezhik closed 3 years ago

melezhik commented 3 years ago

Hi! I know it's quite old bug, just let you guys be informed.

http://161.35.142.50/report/cro/294

HTH

Aleksei

usev6 commented 3 years ago

Hi @melezhik,

unfortunately the link http://161.35.142.50/report/cro/294 doesn't work at the moment (Unable to connect).

Could you please try again and provide the failure mode.

Background: I've tried to install cro on Ubuntu 20.04.2 LTS and ran into the error

Cannot locate symbol 'sk_num' in native library 'libssl.so'

from the issue you linked to (https://github.com/jnthn/p6-io-socket-async-ssl/issues/34).

But after @ugexe provided a fix for https://github.com/sergot/openssl/issues/82, that error no longer happens.

For me all dependencies are installed correctly now. Unfortunately I get an error when testing cro:ver<0.8.5> though:

$ zef install cro
[...]
===> Testing: cro:ver<0.8.5>
[cro] # Failed test 'Has cro version identifier'
[cro] # at t/tools-crofile.t line 348
[cro] # expected a match with: /'cro' \s* ':' \s* 1/
[cro] #                   got: "---\n\"cro\": 1\n\"endpoints\": \n  - \n    \"host-env\": \"FLASHCARD_BACKEND_HTTP_HOST\"\n    \"id\": \"http\"\n    \"name\": \"HTTP (Insecure)\"\n    \"port-env\": \"FLASHCARD_BACKEND_HTTP_PORT\"\n    \"protocol\": \"http\"\n\"entrypoint\": \"service.p6\"\n\"env\": \n  - \n    \"name\": \"FLASH_DATABASE\"\n    \"value\": \"test-database.internal:6555\"\n\"id\": \"flashcard-backend\"\n\"links\": \n  - \n    \"endpoint\": \"https\"\n    \"host-env\": \"FLASHCARD_BACKEND_HTTPS_HOST\"\n    \"port-env\": \"FLASHCARD_BACKEND_HTTPS_PORT\"\n    \"service\": \"flashcard-backend\"\n\"name\": \"Flashcards Backend\"\n..."
[cro] # You failed 1 test of 74
[cro] # Failed test 'Links section is filled'
[cro] # at t/tools-link-editor.t line 13
[cro] # expected a match with: /'links: ' \n/
[cro] #                   got: "---\n\"cro\": 1\n\"endpoints\": \n  - \n    \"host-env\": \"SERVICE1_HTTP_HOST\"\n    \"id\": \"http\"\n    \"name\": \"HTTP (Insecure)\"\n    \"port-env\": \"SERVICE1_HTTP_PORT\"\n    \"protocol\": \"http\"\n\"entrypoint\": \"service.p6\"\n\"env\":  []\n\"id\": \"service1\"\n\"links\": \n  - \n    \"endpoint\": \"http\"\n    \"host-env\": \"SERVICE2_HTTP_HOST\"\n    \"port-env\": \"SERVICE2_HTTP_PORT\"\n    \"service\": \"service2\"\n\"name\": \"Service 1\"\n..."
[cro] # Failed test 'Host is added'
[cro] # at t/tools-link-editor.t line 14
[cro] # expected a match with: /'host-env: SERVICE2_HTTP_HOST'/
[cro] #                   got: "---\n\"cro\": 1\n\"endpoints\": \n  - \n    \"host-env\": \"SERVICE1_HTTP_HOST\"\n    \"id\": \"http\"\n    \"name\": \"HTTP (Insecure)\"\n    \"port-env\": \"SERVICE1_HTTP_PORT\"\n    \"protocol\": \"http\"\n\"entrypoint\": \"service.p6\"\n\"env\":  []\n\"id\": \"service1\"\n\"links\": \n  - \n    \"endpoint\": \"http\"\n    \"host-env\": \"SERVICE2_HTTP_HOST\"\n    \"port-env\": \"SERVICE2_HTTP_PORT\"\n    \"service\": \"service2\"\n\"name\": \"Service 1\"\n..."
[cro] # Failed test 'Port is added'
[cro] # at t/tools-link-editor.t line 15
[cro] # expected a match with: /'port-env: SERVICE2_HTTP_PORT'/
[cro] #                   got: "---\n\"cro\": 1\n\"endpoints\": \n  - \n    \"host-env\": \"SERVICE1_HTTP_HOST\"\n    \"id\": \"http\"\n    \"name\": \"HTTP (Insecure)\"\n    \"port-env\": \"SERVICE1_HTTP_PORT\"\n    \"protocol\": \"http\"\n\"entrypoint\": \"service.p6\"\n\"env\":  []\n\"id\": \"service1\"\n\"links\": \n  - \n    \"endpoint\": \"http\"\n    \"host-env\": \"SERVICE2_HTTP_HOST\"\n    \"port-env\": \"SERVICE2_HTTP_PORT\"\n    \"service\": \"service2\"\n\"name\": \"Service 1\"\n..."
[cro] # Failed test 'Links section is empty'
[cro] # at t/tools-link-editor.t line 19
[cro] # expected a match with: /'links:  []'/
[cro] #                   got: "---\n\"cro\": 1\n\"endpoints\": \n  - \n    \"host-env\": \"SERVICE1_HTTP_HOST\"\n    \"id\": \"http\"\n    \"name\": \"HTTP (Insecure)\"\n    \"port-env\": \"SERVICE1_HTTP_PORT\"\n    \"protocol\": \"http\"\n\"entrypoint\": \"service.p6\"\n\"env\":  []\n\"id\": \"service1\"\n\"links\":  []\n\"name\": \"Service 1\"\n..."
[cro] # You failed 4 tests of 8
[cro] # Check service up attempt 1: connection refused
[cro] # Check service up attempt 2: Timed out after 10s
[cro] # Check service up attempt 1: connection refused
[cro] # Check service up attempt 2: connection refused
===> Testing [FAIL]: cro:ver<0.8.5>
Aborting due to test failure: cro:ver<0.8.5> (use --force-test to override)

But (without looking closer) this seems to be a different problem

usev6 commented 3 years ago

BTW, it seems like the above failure is already addressed by https://github.com/croservices/cro/commit/2914bb8f2e, but there isn't a cro:ver<0.8.6> yet.

jnthn commented 3 years ago

Yes, I've also recently done an install on Ubuntu 20.04 and the TLS issue seemed resolved for me also. The other regression is not specific to Ubuntu and already fixed (it was a change of behavior in an external dependency, unfortunately); we plan a release in the next week or so.