Closed melezhik closed 2 years ago
I have added ldd
information, is it alpine OS related issue?
[task run: task.bash - tasks/main]
[dump code: task.bash]
[1] set -e
[2]
[3] version=$(config version)
[4] echo "Use rakudo version: $version"
[5] eval "$(~/.rakubrew/bin/rakubrew init Bash)"
[6] rakubrew download moar-$version
[7] rakubrew switch moar-$version
[8] ls -l ~/.rakubrew/versions/moar-$version/bin/
[9]
[10] cd source
[11] stat ~/.rakubrew/versions/moar-$version/bin/rakudo
[12] file ~/.rakubrew/versions/moar-$version/bin/rakudo
[13] ldd ~/.rakubrew/versions/moar-$version/bin/rakudo
[14]
[15] ~/.rakubrew/versions/moar-$version/bin/rakudo --version
[16] which zef
[17] which raku
[18] which rakudo
[19]
[20] rakudo --version
[21] raku --version
[22] zef --version
[23]
[24] zef update
[25] zef install --/test .
[26]
[task stdout]
18:42:43 :: Use rakudo version: 2022.07
18:42:44 :: Downloading https://rakudo.org/dl/rakudo/rakudo-moar-2022.07-01-linux-x86_64-gcc.tar.gz
18:42:45 :: Extracting
18:42:46 :: Switching to moar-2022.07
18:42:46 :: Done, moar-2022.07 installed
18:42:46 :: Switching to moar-2022.07
18:42:46 :: total 204
18:42:46 :: -rwxr-xr-x 1 worker wheel 17904 Nov 8 18:42 moar
18:42:46 :: -rwxr-xr-x 1 worker wheel 14128 Nov 8 18:42 nqp
18:42:46 :: -rwxr-xr-x 1 worker wheel 14128 Nov 8 18:42 nqp-m
18:42:46 :: -rwxr-xr-x 1 worker wheel 14176 Nov 8 18:42 perl6
18:42:46 :: -rwxr-xr-x 1 worker wheel 14176 Nov 8 18:42 perl6-debug
18:42:46 :: -rwxr-xr-x 1 worker wheel 14176 Nov 8 18:42 perl6-debug-m
18:42:46 :: -rwxr-xr-x 1 worker wheel 1927 Nov 8 18:42 perl6-gdb-m
18:42:46 :: -rwxr-xr-x 1 worker wheel 1779 Nov 8 18:42 perl6-lldb-m
18:42:46 :: -rwxr-xr-x 1 worker wheel 14176 Nov 8 18:42 perl6-m
18:42:46 :: -rwxr-xr-x 1 worker wheel 1605 Nov 8 18:42 perl6-valgrind-m
18:42:46 :: lrwxrwxrwx 1 worker wheel 6 Nov 8 18:42 raku -> rakudo
18:42:46 :: lrwxrwxrwx 1 worker wheel 12 Nov 8 18:42 raku-debug -> rakudo-debug
18:42:46 :: -rwxr-xr-x 1 worker wheel 14176 Nov 8 18:42 rakudo
18:42:46 :: -rwxr-xr-x 1 worker wheel 14176 Nov 8 18:42 rakudo-debug
18:42:46 :: -rwxr-xr-x 1 worker wheel 14176 Nov 8 18:42 rakudo-debug-m
18:42:46 :: -rwxr-xr-x 1 worker wheel 1927 Nov 8 18:42 rakudo-gdb-m
18:42:46 :: -rwxr-xr-x 1 worker wheel 1779 Nov 8 18:42 rakudo-lldb-m
18:42:46 :: -rwxr-xr-x 1 worker wheel 14176 Nov 8 18:42 rakudo-m
18:42:46 :: -rwxr-xr-x 1 worker wheel 1605 Nov 8 18:42 rakudo-valgrind-m
18:42:46 :: File: /home/worker/.rakubrew/versions/moar-2022.07/bin/rakudo
18:42:46 :: Size: 14176 Blocks: 32 IO Block: 4096 regular file
18:42:46 :: Device: 33h/51d Inode: 5185304 Links: 1
18:42:46 :: Access: (0755/-rwxr-xr-x) Uid: ( 1000/ worker) Gid: ( 10/ wheel)
18:42:46 :: Access: 2022-11-08 18:42:45.681186377 +0000
18:42:46 :: Modify: 2022-11-08 18:42:45.681186377 +0000
18:42:46 :: Change: 2022-11-08 18:42:45.681186377 +0000
18:42:46 :: /home/worker/.rakubrew/versions/moar-2022.07/bin/rakudo: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=7065703052a5ff8b49afd1a78d082e1eb902133a, not stripped
18:42:46 :: /lib64/ld-linux-x86-64.so.2 (0x7fa2da470000)
18:42:46 :: libmoar.so => /home/worker/.rakubrew/versions/moar-2022.07/bin/../lib/libmoar.so (0x7fa2d9962000)
18:42:46 :: libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fa2da470000)
18:42:46 :: libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fa2da470000)
18:42:46 :: libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7fa2da470000)
18:42:46 :: librt.so.1 => /lib64/ld-linux-x86-64.so.2 (0x7fa2da470000)
18:42:46 :: libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x7fa2da470000)
[task stderr]
18:42:46 :: Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /home/worker/.rakubrew/versions/moar-2022.07/bin/../lib/libmoar.so)
18:42:46 :: Error relocating /home/worker/.rakubrew/versions/moar-2022.07/bin/../lib/libmoar.so: __isnan: symbol not found
18:42:46 :: Error relocating /home/worker/.rakubrew/versions/moar-2022.07/bin/../lib/libmoar.so: __isinf: symbol not found
18:42:46 :: Error relocating /home/worker/.rakubrew/versions/moar-2022.07/bin/../lib/libmoar.so: __register_atfork: symbol not found
18:42:46 :: Error relocating /home/worker/.rakubrew/versions/moar-2022.07/bin/../lib/libmoar.so: __strdup: symbol not found
18:42:46 :: Error relocating /home/worker/.rakubrew/versions/moar-2022.07/bin/../lib/libmoar.so: gnu_get_libc_version: symbol not found
18:42:46 :: task exit status: 127
18:42:46 :: task tasks/main FAILED
The spawned command 'docker exec -i sparrow-worker sh -l /var/.sparrowdo/env/main/.sparrowdo/sparrowrun.sh' exited unsuccessfully (exit code: 127, signal: 0)
in block <unit> at /home/sph/.raku/resources/57C38AFDF922EB0C43584FF5F701A03850B5346F line 13
in sub MAIN at /home/sph/.raku/bin/sparrowdo line 3
in block <unit> at /home/sph/.raku/bin/sparrowdo line 1
the full log is available - https://ci.sparrowhub.io/report/1629
yes, this looks like alpine OS issue, not reproduced on Debian for example - https://ci.sparrowhub.io/report/1632
Yes, the executables on rakudo.org (which rakubrew uses) don't work on Alpine, because libc is incompatible. The error is sadly misleading. I already put a comment on rakudo.org/download hinting at the issue. The best bet is to build a Rakudo yourself or just use the ones in the Alpine repos. They should be fairly up to date.
Unreleated to this issue: I generally recommend not using Rakubrew in automation scenarios. Its feature set is aimed at interactive use. In general downloading the release tarballs from rakudo.org, extracting them and setting up the paths (there even is a script to help with the path setup included in the tarballs) is straight forward, fewer lines of code than setting up rakubrew and less error prone as there is an entire piece of software less to worry about.
In general downloading the release tarballs from rakudo.org, extracting them and setting up the paths
Good! Where can I get an example script for that?
The following is untested, but it should be as simple as:
curl -o rakudo.tgz https://rakudo.org/dl/rakudo/rakudo-moar-$VER-01-linux-x86_64-gcc.tar.gz
tar -xzf rakudo.tgz
eval "$(rakudo-$VER/scripts/set-env.sh --quiet)"
There is some documentation about the set-env.sh
script in the README.md file in the same archive.
@patrickbkr - thanks for that. SparrowCI works fine with new installation method - https://ci.sparrowhub.io/report/1670
I here is what I get when I try to use rakubrew in SparrowCI:
I am not sure what I do wrong here ...
Full log is available - https://ci.sparrowhub.io/report/1626 ( please pay attention that the most recent logs appear on the top ... )