Giter VIP home page Giter VIP logo

app-rakubrew's Introduction

rakubrew

rakubrew (called rakudobrew in a previous life) is a Raku installation tool. It allows to have multiple versions of different Raku implementations installed in parallel and switch between them. It's a perlbrew and plenv look alike and supports both flavours of commands.

See https://rakubrew.org/ for a more extensive introduction.

app-rakubrew's People

Contributors

abraxxa avatar akiym avatar azawawi avatar coke avatar colomon avatar diakopter avatar fluca1978 avatar gugod avatar hiroraba avatar jj avatar mendel avatar moritz avatar mouq avatar mvuets avatar niner avatar patrickbkr avatar patzim avatar raydiak avatar shlomif avatar skaji avatar slobo avatar snarkyboojum avatar sqrtneginf avatar stmuk avatar timo avatar ugexe avatar uvtc avatar vrurg avatar vyv03354 avatar zoffixznet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

app-rakubrew's Issues

`rakubrew download` doesn't index the version properly

Note the Done, moar- installed below instead of Done, moar-2020.02.1 installed

PS C:\Users\ugexe> rakubrew list
* system

PS C:\Users\ugexe> rakubrew download
Downloading https://rakudo.org/dl/rakudo/rakudo-moar-2020.02.1-02-win-x86_64.zip
Extracting
Switching to moar-
Done, moar- installed

PS C:\Users\ugexe> rakubrew list
  system
* moar-

PS C:\Users\ugexe> raku -v
This is Rakudo version 2020.02.1 built on MoarVM version 2020.02.1
implementing Raku 6.d.

PS C:\Users\ugexe> rakubrew rakubrew-version
rakubrew v27 Build type: win OS: MSWin32

Can not build 2016.08 or less

rakubrew v26 Build type: fatpack OS: linux
env
/home/mm/.rakubrew

Can not build 2016.08 or less.
2016.09 or greater work.
Couldn't find a build::setup module on CPAN.

mm@linux1:~> rakubrew build 2015.12
remote: Enumerating objects: 164, done.
remote: Counting objects: 100% (149/149), done.
remote: Compressing objects: 100% (35/35), done.
remote: Total 62 (delta 55), reused 32 (delta 27), pack-reused 0
Entpacke Objekte: 100% (62/62), 7.20 KiB | 334.00 KiB/s, fertig.
Von https://github.com/rakudo/rakudo
2ee3a46e3..45090c91d master -> origin/master
69c9ca232..66bb3e533 rakuast -> origin/rakuast
ATTENTION: no --prefix supplied, building and installing to /home/mm/.rakubrew/versions/moar-2015.12/install
sh: /home/mm/.rakubrew/versions/moar-2015.12/install/bin/nqp-m: Datei oder Verzeichnis nicht gefunden
HEAD ist jetzt bei aac09dbf2 bump VERSION
Building NQP ...
/home/mm/.perl/bin/perl Configure.pl --prefix=/home/mm/.rakubrew/versions/moar-2015.12/install --backends=moar --make-install --git-protocol=https --git-reference=/home/mm/.rakubrew/git_reference --gen-moar
Can't exec "/home/mm/.rakubrew/versions/moar-2015.12/install/bin/moar": Datei oder Verzeichnis nicht gefunden at tools/lib/NQP/Configure.pm line 450.
remote: Enumerating objects: 12, done.
remote: Counting objects: 100% (12/12), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 7 (delta 5), reused 6 (delta 5), pack-reused 0
Entpacke Objekte: 100% (7/7), 1.13 KiB | 192.00 KiB/s, fertig.
Von https://github.com/MoarVM/MoarVM
f1101b95d..c66cee7ec master -> origin/master
HEAD ist jetzt bei 2f3c7dd3a fix a potential memory leak on Win32

Configuring and building MoarVM ...
/home/mm/.perl/bin/perl Configure.pl --optimize --prefix=/home/mm/.rakubrew/versions/moar-2015.12/install --make-install
Can't locate build/setup.pm in @inc (you may need to install the build::setup module) (@inc contains: /home/mm/.perl/lib/perl5/x86_64-linux /home/mm/.perl/lib/perl5 /home/mm/.perl/lib/perl5/x86_64-linux /home/mm/.perl/lib/perl5 /home/mm/.perl/lib/site_perl/5.32.0/x86_64-linux /home/mm/.perl/lib/site_perl/5.32.0 /home/mm/.perl/lib/5.32.0/x86_64-linux /home/mm/.perl/lib/5.32.0) at Configure.pl line 12.
BEGIN failed--compilation aborted at Configure.pl line 12.
Command failed (status 512): /home/mm/.perl/bin/perl Configure.pl --optimize --prefix=/home/mm/.rakubrew/versions/moar-2015.12/install --make-install
Command failed (status 7424): /home/mm/.perl/bin/perl Configure.pl --prefix=/home/mm/.rakubrew/versions/moar-2015.12/install --backends=moar --make-install --git-protocol=https --git-reference=/home/mm/.rakubrew/git_reference --gen-moar
Failed running /home/mm/.perl/bin/perl Configure.pl --backends=moar --gen-moar --make-install --git-reference="/home/mm/.rakubrew/git_reference" at /home/mm/.rakubrew/bin/rakubrew line 732.

"Version 2021.09 is broken"

This happens in alpine:

Rakudo has been built and installed.
Version moar-2021.09 is broken. Refusing to switch to it.

This when issuing rakubrew global moar-2021.09. It had not happened before. It's using the latest Alpine, together with fresh versions of everything in this Dockerfile: https://github.com/JJ/alpine-raku

White-space in path name

The whitespace in directory name 'Application Support' needs to be escaped/quoted.

The install command:

curl https://rakubrew.org/install-on-perl.sh | sh

Yields this output:

sh: line 33: [: /Users/dhoekman/Library/Application: binary operator expected
Installing rakubrew to /Users/dhoekman/Library/Application Support/.rakubrew ...

sh: line 50: /Users/dhoekman/Library/Application: No such file or directory

`rakubrew download` behaves different than `rakubrew build` on Windows

The below program runs fine using rakudo installed with rakubrew build moar 2022.04 but dies if run with rakudo installed with rakubrew download moar 2022.04 , on windows only. On linux the program runs fine for both downloaded and built rakudo.

OS: Windows 10.
Compiler: gcc
Libcurl: curl-7.82.0-win64-mingw

#!/usr/bin/env raku

use NativeCall;

# curl-7.82.0-win64-mingw
constant LIB = 'curl';

constant CURLE_OK = 0;

class Handle is repr( 'CPointer' ) {

        sub curl_easy_init( --> Handle ) is native( LIB ) { * }
        sub curl_easy_cleanup( Handle )  is native( LIB ) { * }
        sub curl_easy_reset( Handle )    is native( LIB ) { * }

        sub curl_easy_escape(   Handle, Buf, int32              --> Pointer ) is native( LIB ) { * }
        sub curl_easy_unescape( Handle, Buf, int32, int32 is rw --> Pointer ) is native( LIB ) { * }

        sub curl_easy_setopt_str(  Handle, uint32, Str     --> uint32 ) is native( LIB ) is symbol( 'curl_easy_setopt' ) { * }
        sub curl_easy_setopt_ptr(  Handle, uint32, Pointer --> uint32 ) is native( LIB ) is symbol( 'curl_easy_setopt' ) { * }
        sub curl_easy_setopt_long( Handle, uint32, long    --> uint32 ) is native( LIB ) is symbol( 'curl_easy_setopt' ) { * }

        sub curl_easy_setopt_data-cb( Handle, uint32, &cb ( Pointer, uint32, uint32, Pointer --> uint32 ) --> uint32 )  is native( LIB ) is symbol('curl_easy_setopt') { * }

        sub curl_easy_perform( Handle --> uint32 ) is native( LIB ) { * }


        method new( --> Handle ) { curl_easy_init }

        method cleanup( ) { curl_easy_cleanup(self) }

        method reset( ) { curl_easy_reset(self) }
        method perform( ) { curl_easy_perform( self ) }

        multi method setopt( $option, Str $param ) {

                my $ret = curl_easy_setopt_str( self, $option, $param );

                die unless $ret == CURLE_OK;

        }

        multi method setopt( $option, Int $param ) {

                my $ret = curl_easy_setopt_long( self, $option, $param );

                die unless $ret == CURLE_OK;

        }

        multi method setopt( $option, &callback ) {

                my $ret = curl_easy_setopt_data-cb( self, $option, &callback );

                die unless $ret == CURLE_OK;

        }

        multi method setopt( $option, Pointer $ptr ) {

                my $ret = curl_easy_setopt_ptr( self, $option, $ptr );

                die unless $ret == CURLE_OK;

        }


        multi method setopt( $option, Handle $ptr ) {

                my $ret = curl_easy_setopt_ptr( self, $option, $ptr);

                die unless $ret == CURLE_OK;

        }

}


sub curl_global_init( long --> uint32 ) is native( LIB ) { * }

sub curl_global_cleanup( ) is native( LIB ) { * }

sub curl_free( Pointer $ptr ) is native( LIB ) { * }

my $curl;

class Curl {

        has Blob       $.buf;
        has IO::Handle $!download-fh;

        has Handle  $.handle handles <escape unescape>;

        method new( ) {


                constant CURLOPT_URL            = 10002;
                constant CURLOPT_WRITEDATA      = 10001;
                constant CURLOPT_WRITEFUNCTION  = 20011;
                constant CURLOPT_SSL_OPTIONS    = 216;
                constant CURLSSLOPT_NATIVE_CA   = 16;
                constant CURL_GLOBAL_DEFAULT    = 3;

                curl_global_init( CURL_GLOBAL_DEFAULT );

                my $handle = Handle.new;

                $handle.setopt( CURLOPT_WRITEDATA,     $handle              );
                $handle.setopt( CURLOPT_WRITEFUNCTION, &writefunction       );
                $handle.setopt( CURLOPT_SSL_OPTIONS,   CURLSSLOPT_NATIVE_CA );

                $curl = self.bless( :$handle );

                return $curl;
        }

        method content( :$URL!, :$encoding = 'utf-8' --> Str ) {

                $!buf = Buf.new;

                $!handle.setopt( CURLOPT_URL, $URL );

                
                my $ret = $!handle.perform;
                # $ret is 23 should be 0. google says that could happen if the 
                # return value of the below `writefunction` sub is not correct
                die $ret unless $ret == CURLE_OK;

                $!buf.decode: $encoding

        }
        sub writefunction( Pointer $ptr, uint32 $size, uint32 $nmemb, Pointer $handleptr --> uint32 ) {

                $curl.buf ~= Blob.new( nativecast( CArray[ uint8 ], $ptr )[ ^ $size * $nmemb ] );

                return $size * $nmemb;
        }

        method reset( ) { $!handle.reset; $!buf = Nil, $!download-fh = Nil }

        submethod DESTROY { self.cleanup; curl_global_cleanup()}

}

$curl = Curl.new;


my $URL = 'http://google.com';
# method content calls .perfrom, which calls `writefunction`
say $curl.content: :$URL;

Add the possibility of installing different zef versions

rakubrew build zef downloads the latest zef version and installs it, no matter what. There's some likelihood this won't work on old versions of raku (just checked 2017.01, and it does not work, for instance). zef has got all releases in its repo, so it shouldn't be difficult to install any version that's decided.

Rakubrew switch does not work?

Hi I am trying to use rakubrew in Sparrow, I use rakubrew low level installation mode (following documentation) and then raku brew download moar-$version && rakubrew switch $version however I do see that old (system) raku still in use :

[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] rakubrew download moar-$version
[6] rakubrew switch moar-$version
[7] 
[8] cd source
[9] which zef
[10] which raku
[11] raku --version
[12] zef --version
[13] 
[14] zef update 
[15] zef install --/test .
[16] 
[task stdout]
16:25:56 :: Use rakudo version: 2022.07
16:25:57 :: Downloading https://rakudo.org/dl/rakudo/rakudo-moar-2022.07-01-linux-x86_64-gcc.tar.gz
16:25:58 :: Extracting
16:26:00 :: Updating shims
16:26:00 :: Switching to moar-2022.07
16:26:00 :: Done, moar-2022.07 installed
16:26:00 :: Switching to moar-2022.07
16:26:00 :: /home/worker/.raku/bin/zef
16:26:00 :: /opt/rakudo-pkg/bin/raku
16:26:00 :: Welcome to Rakudo™ v2022.07.
16:26:00 :: Implementing the Raku® Programming Language v6.d.
16:26:00 :: Built on MoarVM version 2022.07.
16:26:01 :: v0.14.4

The full log could be found here - https://ci.sparrowhub.io/report/1620

rakubrew doesn't work well on raspberry pi 4

  • What's the output of rakubrew rakubrew-version?: rakubrew v13 Build type: fatpack OS: linux
  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out): shim
  • Where is rakubrew installed? (run rakubrew home to find out):

Issue:


demanuel@fry:~$ rakubrew available
Couldn't detect system architecture. Current arch is: aarch64-linux-gnu-thread-multi
demanuel@fry:~$

HTTP::Tinyish isn't finding https backend, though two are in place.

Key points:

code> rakubrew available
No backend configured for scheme https at App/Rakubrew/Download.pm line 110.
code> curl -V
curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL
Release-Date: [unreleased]
Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp

code> perl -MLWP::Protocol::https -e "print 'Another https backend right here.'"
Another https backend right here.
code> rakubrew mode
env
code> rakubrew home
C:/Users/jason.cole/AppData/Local/rakubrew
code> rakubrew rakubrew-version
Usage:
(remainder of usage instructions)

Session:

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Loading personal and system profiles took 653ms.
code> rakubrew version
Currently running system
code> rakubrew available
No backend configured for scheme https at App/Rakubrew/Download.pm line 110.
Rakubrew failed with exitcode 2
At line:7 char:9
+         Throw "Rakubrew failed with exitcode $LASTEXITCODE"
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (Rakubrew failed with exitcode 2:String) [], RuntimeException
    + FullyQualifiedErrorId : Rakubrew failed with exitcode 2

code> curl -V
curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL
Release-Date: [unreleased]
Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL
code> perl -MLWP::Protocol::https -e "print 'Another https backend right here.'"
Another https backend right here.
code> rakubrew mode
env
code> rakubrew home
C:/Users/jason.cole/AppData/Local/rakubrew
code> rakubrew rakubrew-version
Usage:
     rakubrew version          # or rakubrew current
     rakubrew versions         # or rakubrew list
     rakubrew global [version] # or rakubrew switch [<version>]
     rakubrew shell [--unset|<version>]
     rakubrew local [<version>]
     rakubrew nuke [<version>] # or rakubrew unregister [<version>]
     rakubrew rehash

     rakubrew available        # or rakubrew list-available
     rakubrew build [jvm|moar|moar-blead|all] [<tag>|<branch>|<sha-1>] [--configure-opts=<options>]
     rakubrew triple [<rakudo-version> [<nqp-version> [<moar-version>]]]
     rakubrew register <name> <path>
     rakubrew build-zef
     rakubrew download [jvm|moar|moar-blead|all] [<rakudo-version>]

     rakubrew exec <executable> [<executable-args>]
     rakubrew which <executable>
     rakubrew whence [--path] <executable>
     rakubrew mode [env|shim]
     rakubrew self-upgrade
     rakubrew init

     rakubrew test [<version>|all]

     rakubrew help [--verbose|<command>]


code> perl -v

This is perl 5, version 30, subversion 1 (v5.30.1) built for MSWin32-x64-multi-thread

Copyright 1987-2019, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.


code>

Use of temporary directory value $dir in Build.pm under Darwin

This 'my' should be removed, as it localizes the value of $dir to just inside this conditional block, making unavailable to 'return':

my $dir = $ENV{TMPDIR};

If the code follows the 'darwin' branch, then $versions_dir is never set?

my $destdir = catdir($versions_dir, $name);

Both of the above (in 'build_impl') apply to the corresponding code in the 'build_triple' routine.

"unauthenticated git protocol no longer supported"

  • What's the output of rakubrew rakubrew-version?:

    rakubrew v27 Build type: fatpack OS: linux

  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out): shim

  • Where is rakubrew installed? (run rakubrew home to find out): ~/.rakubrew

I get this error when I try to build the latest Rakudo:

fatal: error remoto: 
  The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
Failed running git fetch at /home/jmerelo/.rakubrew/bin/rakubrew line 742.

rakubrew build moar-blead: libmoar.so not found

  • What's the output of rakubrew rakubrew-version?: rakubrew v26 Build type: cpan OS: darwin
  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out): shim
  • Where is rakubrew installed? (run rakubrew home to find out): /Users/user/.rakubrew
$ rakubrew build moar-blead --configure-opts='--moar-option="--toolchain=posix"'

/usr/local/Cellar/perl/5.34.0/bin/perl -MExtUtils::Command -e cp 3rdparty/dyncall/dyncallback/*.h "/Users/user/.rakubrew/versions/moar-blead/install/include/dyncall"
/usr/local/Cellar/perl/5.34.0/bin/perl -MExtUtils::Command -e mkpath "/Users/user/.rakubrew/versions/moar-blead/install/include/mimalloc"
/usr/local/Cellar/perl/5.34.0/bin/perl -MExtUtils::Command -e cp 3rdparty/mimalloc/include/*.h "/Users/user/.rakubrew/versions/moar-blead/install/include/mimalloc"
dyld[96191]: Library not loaded: libmoar.so
  Referenced from: /Users/user/.rakubrew/versions/moar-blead/install/bin/moar
  Reason: tried: 'libmoar.so' (no such file), '/usr/local/lib/libmoar.so' (no such file), '/usr/lib/libmoar.so' (no such file), '/Users/user/.rakubrew/versions/moar-blead/nqp/libmoar.so' (no such file), '/usr/local/lib/libmoar.so' (no such file), '/usr/lib/libmoar.so' (no such file)
Use of uninitialized value in quotemeta at /Users/user/.rakubrew/versions/moar-blead/nqp/tools/lib/NQP/Config/NQP.pm line 130.
Use of uninitialized value in substitution (s///) at /Users/user/.rakubrew/versions/moar-blead/nqp/tools/lib/NQP/Config/NQP.pm line 130.
Use of uninitialized value in substitution (s///) at /Users/user/.rakubrew/versions/moar-blead/nqp/tools/lib/NQP/Config/NQP.pm line 130.
Use of uninitialized value in quotemeta at /Users/user/.rakubrew/versions/moar-blead/nqp/tools/lib/NQP/Config/NQP.pm line 132.
Use of uninitialized value in concatenation (.) or string at /Users/user/.rakubrew/versions/moar-blead/nqp/tools/lib/NQP/Config/NQP.pm line 138.
Use of uninitialized value in sprintf at /Users/user/.rakubrew/versions/moar-blead/nqp/tools/lib/NQP/Config/NQP.pm line 165.
Redundant argument in sprintf at /Users/user/.rakubrew/versions/moar-blead/nqp/tools/lib/NQP/Config/NQP.pm line 165.
Use of uninitialized value $var_text in split at /Users/user/.rakubrew/versions/moar-blead/nqp/3rdparty/nqp-configure/lib/NQP/Macros.pm line 604.
Cleaning up ...
+++ Preparing MOAR build directories
++++++ Building MOAR backend
+++ Generating  gen/moar/stage1/nqpmo.nqp
+++ Compiling   gen/moar/stage1/nqpmo.moarvm
dyld[96203]: Library not loaded: libmoar.so
  Referenced from: /Users/user/.rakubrew/versions/moar-blead/install/bin/moar
  Reason: tried: 'libmoar.so' (no such file), '/usr/local/lib/libmoar.so' (no such file), '/usr/lib/libmoar.so' (no such file), '/Users/user/.rakubrew/versions/moar-blead/nqp/libmoar.so' (no such file), '/usr/local/lib/libmoar.so' (no such file), '/usr/lib/libmoar.so' (no such file)
make: *** [Makefile:363: gen/moar/stage1/nqpmo.moarvm] Abort trap: 6
Command failed (status 512): make
 at /Users/user/.rakubrew/versions/moar-blead/nqp/3rdparty/nqp-configure/lib/NQP/Config.pm line 34.
        NQP::Config::__ANON__("Command failed (status 512): make\x{a}") called at /Users/user/.rakubrew/versions/moar-blead/nqp/3rdparty/nqp-configure/lib/NQP/Config.pm line 1502
        NQP::Config::system_or_die("make") called at Configure.pl line 109
Command failed (status 512): /usr/local/Cellar/perl/5.34.0/bin/perl Configure.pl --prefix=/Users/user/.rakubrew/versions/moar-blead/install --make-install --git-protocol=https --no-relocatable --no-ignore-errors --silent-build --no-force-rebuild --git-cache-dir=/Users/user/.rakubrew/git_reference --backends=moar --gen-moar=master --moar-option=--toolchain=posix
 at /Users/user/.rakubrew/versions/moar-blead/3rdparty/nqp-configure/lib/NQP/Config.pm line 34.
        NQP::Config::__ANON__("Command failed (status 512): /usr/local/Cellar/perl/5.34.0/bi"...) called at /Users/user/.rakubrew/versions/moar-blead/3rdparty/nqp-configure/lib/NQP/Config.pm line 1502
        NQP::Config::system_or_die("/usr/local/Cellar/perl/5.34.0/bin/perl", "Configure.pl", "--prefix=/Users/user/.rakubrew/versions/moar-blead/install", "--make-install", "--git-protocol=https", "--no-relocatable", "--no-ignore-errors", "--silent-build", ...) called at /Users/user/.rakubrew/versions/moar-blead/tools/lib/NQP/Config/Rakudo.pm line 724
        NQP::Config::Rakudo::gen_nqp(NQP::Config::Rakudo=HASH(0x7fe99d80c5c0)) called at Configure.pl line 101
Failed running /usr/local/Cellar/perl/5.34.0/bin/perl Configure.pl --backends=moar --gen-moar=master --gen-nqp=master --make-install --moar-option="--toolchain=posix" --git-cache-dir="/Users/user/.rakubrew/git_reference" at /usr/local/Cellar/perl/5.34.0/lib/perl5/site_perl/5.34.0/App/Rakubrew/Build.pm line 113.

libmoar.so is in nqp/MoarVM directory

$ ls -1 ~/.rakubrew/versions/moar-blead/nqp/MoarVM/

3rdparty/
build/
docs/
lib/
pkgconfig/
ports/
src/
tools/
Artistic2.txt
CREDITS
Configure.pl*
LICENSE
Makefile
README.markdown
VERSION
azure-pipelines.yml
check.todo
libmoar.so*
moar*

Unable to build on Windows 11

  • What's the output of rakubrew rakubrew-version?: rakubrew v29 Build type: win OS: MSWin32
  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out): shim
  • Where is rakubrew installed? (run rakubrew home to find out): c:\rakubrew\bin

I have windows 11 virtual machine running in Virtual Box. I successfully installed rakubrew, but when trying to build with rakubrew build 2022.07 and rakubrew build 2022.06, I get errors:

from <unknown>:1
(C:\rakubrew\versions\moar-2022.06\install\share\nqp\lib\nqp.moarvm:<entry>)
gmake: *** [Makefile:1210: blib\Perl6\BOOTSTRAP\v6c.moarvm] Error 1
Command failed (status 512): gmake
at C:/rakubrew/versions/moar-2022.06/3rdparty/nqp-configure/lib/NQP/Config.pm
line 34.
       NQP::Config::__ANON__("Command failed (status 512):
gmake\x{a}") called at
C:/rakubrew/versions/moar-2022.06/3rdparty/nqp-configure/lib/NQP/Config.pm
line 1502
       NQP::Config::system_or_die("gmake") called at Configure.pl line 121
Failed running perl.exe Configure.pl --backends=moar --gen-moar
--make-install  --git-cache-dir="C:\rakubrew\git_reference" at
C:\Users\sdond\AppData\Local\Temp\par-73646f6e64\cache-c01daf663180ad36a32787effe9a0e828833d462\inc\lib/App/Rakubrew/Build.pm
line 113.
Rakubrew failed with exitcode 2
At line:7 char:9
+         Throw "Rakubrew failed with exitcode $LASTEXITCODE"
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   + CategoryInfo          : OperationStopped: (Rakubrew failed with
exitcode 2:String) [], RuntimeException
   + FullyQualifiedErrorId : Rakubrew failed with exitcode 2

PS C:\rakubrew\bin> open text
open : The term 'open' is not recognized as the name of a cmdlet,
function, script file, or operable program. Check
the spelling of the name, or if a path was included, verify that the
path is correct and try again.
At line:1 char:1
+ open text
+ ~~~~
   + CategoryInfo          : ObjectNotFound: (open:String) [],
CommandNotFoundException
   + FullyQualifiedErrorId : CommandNotFoundException

-- 

`rakubrew download` isn't downloading the most recent release

Note it is fetching https://rakudo.org/dl/rakudo/rakudo-moar-2020.02.1-02-win-x86_64.zip instead of https://rakudo.org/dl/rakudo/rakudo-moar-2022.03-01-win-x86_64-msvc.zip

PS C:\Users\ugexe> rakubrew list
* system

PS C:\Users\ugexe> rakubrew download
Downloading https://rakudo.org/dl/rakudo/rakudo-moar-2020.02.1-02-win-x86_64.zip
Extracting
Switching to moar-
Done, moar- installed

PS C:\Users\ugexe> rakubrew list
  system
* moar-

PS C:\Users\ugexe> raku -v
This is Rakudo version 2020.02.1 built on MoarVM version 2020.02.1
implementing Raku 6.d.

PS C:\Users\ugexe> rakubrew rakubrew-version
rakubrew v27 Build type: win OS: MSWin32brew home` to find out):

Variable "$self" will not stay shared at (re_eval 10) line 1

  • What's the output of rakubrew rakubrew-version?:

rakubrew v26 Build type: fatpack OS: linux

  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out):

env

  • Where is rakubrew installed? (run rakubrew home to find out):

/home/demanuel/.rakubrew

When i do rakubrew build moar master to update my raku i get this warning:

Variable "$self" will not stay shared at (re_eval 10) line 1.
Variable "$last_text" will not stay shared at (re_eval 10) line 1.

I get these warning several times in the output. Example:

Fetching submodule 3rdparty/nqp-configure
ee232c02b0b817044bb2d3452eddad9d7ab83148
Variable "$self" will not stay shared at (re_eval 10) line 1.
Variable "$last_text" will not stay shared at (re_eval 10) line 1.
===ATTENTION===
No --prefix supplied, building and installing to /home/demanuel/.rakubrew/versions/moar-master/install
Using /home/demanuel/.rakubrew/versions/moar-master/install/bin/nqp-m (version 2021.12-51-gaedc0e569 / MoarVM 2021.12-138-g280c709ce).
Cleaning up ...
+++ Checking for moar NQP version
+++ Expanding gen/moar/main-version.nqp
Variable "$self" will not stay shared at (re_eval 10) line 1.
Variable "$last_text" will not stay shared at (re_eval 10) line 1.
+++ Generating gen/moar/rakudo.nqp
+++ Generating gen/moar/Grammar.nqp
+++ Generating gen/moar/World.nqp
+++ Generating gen/moar/ModuleLoader.nqp
+++ Compiling blib/Perl6/ModuleLoader.moarvm
+++ Generating gen/moar/Ops.nqp
+++ Compiling dynext/libperl6_ops_moar.so
+++ Compiling blib/Perl6/Ops.moarvm
+++ Generating gen/moar/Pod.nqp
+++ Compiling blib/Perl6/Pod.moarvm
+++ Compiling blib/Perl6/World.moarvm
+++ Generating gen/moar/Actions.nqp
+++ Compiling blib/Perl6/Actions.moarvm
+++ Compiling blib/Perl6/Grammar.moarvm
+++ Generating gen/moar/Compiler.nqp
+++ Generating gen/moar/Optimizer.nqp
+++ Generating gen/moar/Metamodel.nqp
+++ Compiling blib/Perl6/Metamodel.moarvm
+++ Compiling blib/Perl6/Optimizer.moarvm
+++ Compiling blib/Perl6/Compiler.moarvm
+++ Generating gen/moar/SysConfig.nqp
+++ Compiling blib/Perl6/SysConfig.moarvm
+++ Compiling rakudo.moarvm
+++ Generating gen/moar/BOOTSTRAP/v6c.nqp
+++ Compiling blib/Perl6/BOOTSTRAP/v6c.moarvm
Variable "$self" will not stay shared at (re_eval 10) line 1.
Variable "$last_text" will not stay shared at (re_eval 10) line 1.

....

+++ Generating rakudo-gdb-m
Variable "$self" will not stay shared at (re_eval 10) line 1.
Variable "$last_text" will not stay shared at (re_eval 10) line 1.
+++ Generating rakudo-lldb-m
Variable "$self" will not stay shared at (re_eval 10) line 1.
Variable "$last_text" will not stay shared at (re_eval 10) line 1.
+++ Generating rakudo-valgrind-m
Variable "$self" will not stay shared at (re_eval 10) line 1.
Variable "$last_text" will not stay shared at (re_eval 10) line 1.
+++ Generating perl6-gdb-m
Variable "$self" will not stay shared at (re_eval 10) line 1.
Variable "$last_text" will not stay shared at (re_eval 10) line 1.
+++ Generating perl6-lldb-m
Variable "$self" will not stay shared at (re_eval 10) line 1.
Variable "$last_text" will not stay shared at (re_eval 10) line 1.
+++ Generating perl6-valgrind-m
Variable "$self" will not stay shared at (re_eval 10) line 1.
Variable "$last_text" will not stay shared at (re_eval 10) line 1.
+++ Checking for moar NQP version
+++ Creating installation directories
+++ Removing old files
+++ Installing files
Variable "$self" will not stay shared at (re_eval 10) line 1.
Variable "$last_text" will not stay shared at (re_eval 10) line 1.
Variable "$self" will not stay shared at (re_eval 10) line 1.
Variable "$last_text" will not stay shared at (re_eval 10) line 1.
Variable "$self" will not stay shared at (re_eval 10) line 1.
Variable "$last_text" will not stay shared at (re_eval 10) line 1.
Variable "$self" will not stay shared at (re_eval 10) line 1.
Variable "$last_text" will not stay shared at (re_eval 10) line 1.
Variable "$self" will not stay shared at (re_eval 10) line 1.
Variable "$last_text" will not stay shared at (re_eval 10) line 1.
Variable "$self" will not stay shared at (re_eval 10) line 1.
Variable "$last_text" will not stay shared at (re_eval 10) line 1.
+++ Preparing installation

....

  • Output of uname

Linux #1 SMP Tue Nov 9 16:09:48 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

  • Perl version:

perl-5.16.3

Failure on MacOS with downloaded version, but local build OK

As distributed, rakubrew fails for older MacOS (10.11, 10.13) with the error:

dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin
  Referenced from: rakubrew
  Expected in: /usr/lib/libSystem.B.dylib

From what I read, the lack of backwards compatibility from 10.15 could be due to '-fstack-check' compiler switch being 'on' by default, but can't test this as I don't have access to even 10.14 (I do see that PAR::Packer targets 10.11 as minimum version, so maybe it's Perl itself that's the problem?)

The good news is that cloning the repository and building it locally works fine. For reference, here's how I did it, Build-rakubrew.sh

Problem installing from zsh

I get this error

sh: 4: set: Illegal option -o pipefail

When I try to install using zsh. Perl version is 5.20. I'm running Ubuntu 20.04, which is apparently affected by this

Use of unintialized value $zef_version

This is just a warning:

Use of uninitialized value $zef_version in string ne at /home/jmerelo/.rakubrew/bin/rakubrew line 818.
  • What's the output of rakubrew rakubrew-version?:

rakubrew v15 Build type: fatpack OS: linux

  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out):

shim

  • Where is rakubrew installed? (run rakubrew home to find out):

/home/jmerelo/.rakubrew

I would like to help with this project.

How do I help? Very familiar with Perl, the version/environment managers, the general flow of things. And spent considerable time with rakudobrew. I see that you've taken things forward... this looks like it'll be a much better tool. I'd like to help get it to beta with you.

Make tarball of executable available in releases

Is it possible to create tarball of the (one big) executable file and the LICENSE file. With version in its name, and a signature file and/or checksums. And publish them in the GitHub releases?

It seems the releases are uploaded to the rakubrew.org server, but I am not able to access them, unless I'm missing something.

Thinking of creating a binary package for AUR.

Allow specifying custom names for installed versions

When building a specific commit like below:
rakubrew build moar c742f32c17bdc64f8f8e4928f88dfb50832afc47
I think it would be nice to be able to give it a name that one can remember when later using rakubrew switch

Cannot build Moar/Windows releases from (roughly) 2020.07 onwards

After fresh installs of git, Strawberry Perl and rakubrew, the command rakubrew build moar-blead fails (seeing this on both Win7 and Win10), croaking on 'debugserver.c'. This works:rakubrew build moar-2020.06, but this does not: rakubrew build moar-2020.07. Working backwards from the 2020.07 release, I found the last commit I could compile was 15fae6d from July 16th.

The errors are always the same, here's a representative compile log. Ignoring the printf noise, the crucial errors seem to have to do with threads, I wonder if it's related to these NQP changes?

20200717 p6d [09:55] <Geth_> ¦ nqp: 127803247 set debugserver's thread name
20200717 p6d [09:55] <Geth_> ¦ nqp: 707f6ce70 Debugserver Protocol 1.2: add thread "name" field
20200717 p6d [09:55] <Geth_> ¦ nqp: 1d52655e2 decode threadname with utf8-c8

Stuck at this point. Are there some other libraries I need to update first? Ultimately this may not really be a rakubrew issue, but wanted to check here first to make sure I'm not just being all thumbs with Windows...

  • What's the output of rakubrew rakubrew-version?:
    rakubrew v9 Build type: win OS: MSWin32
  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out):
    shim
  • Where is rakubrew installed? (run rakubrew home to find out):
    C:/rakubrew

Cannot install latest version of Moar on Windows

  • What's the output of rakubrew rakubrew-version?:
rakubrew v9 Build type: win OS: MSWin32
  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out):
    env
  • Where is rakubrew installed? (run rakubrew home to find out):
    C:/rakubrew

If I run rakubrew download, I get the following error:

Couldn't find a precomp release for OS: "win", architecture: "x86_64"

Default 'download' command fails for Windows

After fresh installs of git, Strawberry Perl and rakubrew, entering 'rakubrew download' gives me:

Couldn't find a precomp release for OS: "win", architecture: "x86_64"

I got this response on three machines (virtual Win7 and Win10, and one 'real' Win10). I saw that antoniogamiz had this same issue in June, but it isn't clear to me how it got resolved.

  • What's the output of rakubrew rakubrew-version?:
    rakubrew v9 Build type: win OS: MSWin32
  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out):
    shim
  • Where is rakubrew installed? (run rakubrew home to find out):
    C:/rakubrew

rakubrew build zef does it all wrong

  • What's the output of rakubrew rakubrew-version?: rakubrew v16 Build type: fatpack OS: linux
  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out): shim
  • Where is rakubrew installed? (run rakubrew home to find out): $HOME/.rakubrew

What rakubrew currently does when it installs zef is it, in fact, must not do:

  • it pollutes cwd with a cloned zef dir which remains there after the command finishes
  • an attempt to install zef again ends with an error message if there is still zef directory from the previous installation:
fatal: not a git repository (or any of the parent directories): .git
Failed running git checkout master && git pull -q at /home/vrurg/.rakubrew/bin/rakubrew line 811.

HTTP::Tiny doesn't have method "new"

Getting the same error for most commands I give to rakubrew:

code> rakubrew download
Can't locate object method "new" via package "HTTP::Tiny" (perhaps you forgot to load "HTTP::Tiny"?) at App/Rakubrew/Download.pm line 36.

I do have a modern perl installed, with HTTP::Tiny in scope:

code> perl -MHTTP::Tiny
print "yep";
^Z
yep
code>

A feature for macos

On macos there is a problem with dynamic libraries. As a security measure, the os rejects to load a dynamic library unless it's located in a system directory like /usr/lib or in the same location where the executable is placed. For example, tools installed by MacPorts are placed into /opt/local/bin and they have access to /opt/local/lib.

This affects all local rakudo installations because when, say, rakudobrew installs binaries into ~/.rakudobrew/versions/moar-YYYY.MM/install/bin, all nativecalls would only be able to load what is in ...moar-YYYY.MM/install/lib. I'm personally getting used to symlink the content of MacPorts lib into rakudo's lib, but when a new port is getting installed it's easy to forget to link it.

I propose to keep this in mind and when possible implement auto-linking dylib for macos.

PS. I'm not using rakubrew yet, but plan to and would if testing will be needed.

broke on downloading&switching 2020.08.2

> rakubrew download moar 2021.02.1 # 100% OK
> rakubrew switch moar-2021.02.1   # 100% OK
> rakubrew download moar 2020.08.2 # OK as far as I recall — the terminal output scrolled beyond history

> rakubrew switch moar-2020.08.2
Switching to moar-2020.08.2
Use of uninitialized value $cur in scalar chomp at /opt/olve/rakubrew/bin/rakubrew line 2692.
Use of uninitialized value $version in string ne at /opt/olve/rakubrew/bin/rakubrew line 1223.
Use of uninitialized value in subroutine entry at /opt/olve/rakubrew/bin/rakubrew line 2777.
Use of uninitialized value $version in concatenation (.) or string at /opt/olve/rakubrew/bin/rakubrew line 2782.
Invalid version found:  at /opt/olve/rakubrew/bin/rakubrew line 2782.

> raku --version
Welcome to Rakudo(tm) v2021.02.1.
Implementing the Raku(tm) programming language v6.d.
Built on MoarVM version 2021.02.

> rakubrew switch moar-2021.07
Switching to moar-2021.07
Use of uninitialized value $cur in scalar chomp at /opt/olve/rakubrew/bin/rakubrew line 2692.
Use of uninitialized value $version in string ne at /opt/olve/rakubrew/bin/rakubrew line 1223.
Use of uninitialized value in subroutine entry at /opt/olve/rakubrew/bin/rakubrew line 2777.
Use of uninitialized value $version in concatenation (.) or string at /opt/olve/rakubrew/bin/rakubrew line 2782.
Invalid version found:  at /opt/olve/rakubrew/bin/rakubrew line 2782.

> raku --version
Welcome to Rakudo(tm) v2021.02.1.
Implementing the Raku(tm) programming language v6.d.
Built on MoarVM version 2021.02.

And in a new terminal window:

> raku
fish: Unknown command: raku
  • What's the output of rakubrew rakubrew-version?:
> rakubrew rakubrew-version
rakubrew v19 Build type: fatpack OS: linux
Use of uninitialized value $cur in scalar chomp at /opt/olve/rakubrew/bin/rakubrew line 2692.
Use of uninitialized value $version in string ne at /opt/olve/rakubrew/bin/rakubrew line 1223.
Use of uninitialized value in subroutine entry at /opt/olve/rakubrew/bin/rakubrew line 2777.
Use of uninitialized value $version in concatenation (.) or string at /opt/olve/rakubrew/bin/rakubrew line 2782.
Invalid version found:  at /opt/olve/rakubrew/bin/rakubrew line 2782.
  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out):
> rakubrew mode
env
Use of uninitialized value $cur in scalar chomp at /opt/olve/rakubrew/bin/rakubrew line 2692.
Use of uninitialized value $version in string ne at /opt/olve/rakubrew/bin/rakubrew line 1223.
Use of uninitialized value in subroutine entry at /opt/olve/rakubrew/bin/rakubrew line 2777.
Use of uninitialized value $version in concatenation (.) or string at /opt/olve/rakubrew/bin/rakubrew line 2782.
Invalid version found:  at /opt/olve/rakubrew/bin/rakubrew line 2782.
  • Where is rakubrew installed? (run rakubrew home to find out):
> rakubrew home
/opt/olve/rakubrew
Use of uninitialized value $cur in scalar chomp at /opt/olve/rakubrew/bin/rakubrew line 2692.
Use of uninitialized value $version in string ne at /opt/olve/rakubrew/bin/rakubrew line 1223.
Use of uninitialized value in subroutine entry at /opt/olve/rakubrew/bin/rakubrew line 2777.
Use of uninitialized value $version in concatenation (.) or string at /opt/olve/rakubrew/bin/rakubrew line 2782.
Invalid version found:  at /opt/olve/rakubrew/bin/rakubrew line 2782.

OS: antiX 19 (Debian 10 Buster without systemd)
shell: fish

Any support needed for csh/tcsh users?

  • What's the output of rakubrew rakubrew-version?:

rakubrew v9 Build type: cpan OS: freebsd

  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out):

I have to run in shim mode, see below

  • Where is rakubrew installed? (run rakubrew home to find out):

~/.rakubrew (edited to keep specifics out of a public issue)

So I installed this via cpanm App::Rakubrew into /usr/local/lib/perl5 (where all software goes). I believe I am forced to run in shim mode this way. It also appears that rakubrew build worked fine (apparently) to get raku on my system, but I am unable to run all the tests to verify.

When I dig a bit deeper I see this (paths somewhat edited like above):

> rakubrew init Csh
setenv PATH "~/.rakubrew/shims:/usr/local/bin:/usr/local/bin"

> rakubrew init Sh
export PATH="~/.rakubrew/shims:~/bin:/usr/local/bin:/bin:/usr/bin"
rakubrew() {
    command /usr/local/bin/rakubrew internal_hooked Sh "$@" &&
    eval "`command /usr/local/bin/rakubrew internal_shell_hook Sh post_call_eval "$@"`"
}

In App::Rakubrew::Shell::Csh I see this:

sub supports_hooking {
    my $self = shift;
    0;
}

So I didn't try to mock up your idea using aliases or anything, because apparently Csh doesn't support hooking. However even when I setenv my PATH above like rakubrew init asks, I still get this on a rakubrew test:

rakubrew test 
Spectesting moar-2020.05.1
Undefined subroutine &App::Rakubrew::Build::make called at /usr/local/lib/perl5/site_perl/App/Rakubrew.pm line 514.

It's always confusing to see things not work out of the box, but I am woefully unfamiliar with what you are trying to do there and the raku ecosystem in general. Raku appears to work, although it's squirreled away in some corner under ~/.rakubrew. Raku seems to work:

> `rakubrew which raku` -v
This is Rakudo version 2020.05.1 built on MoarVM version 2020.05
implementing Raku 6.d.

but I can't get it to run the entire test suite. So this is really two questions/issues:

  1. Do I have to do anything special to get rakubrew installed and working properly (your standard of proper) for tcsh?

  2. How can I run the entire raku test suite?

Thanks in advance.

Doesn’t fail hard when git is not installed

Can't exec "git": No such file or directory at /home/me/.rakubrew/bin/rakubrew line 681.
Use of uninitialized value $ver in concatenation (.) or string at /home/me/.rakubrew/bin/rakubrew line 861.
Downloading https://rakudo.org/dl/rakudo/rakudo-moar-2020.09-01-linux-x86_64.tar.gz
Extracting
Use of uninitialized value $ver in concatenation (.) or string at /home/me/.rakubrew/bin/rakubrew line 287.
Done, moar- installed

I would prefer it to ask me to install git instead of doing that.

Thanks for your hard work, getting Raku is really painless with Rakubrew otherwise :)

MacOS build of jvm-2021.12 reports success, yet marked 'broken' and cannot switch to it

The Problem

Attempted to build with the command:

rakubrew build jvm-2021.12

Tail end of build log:

    Installed 13 core modules in 224.598 seconds!
+++ JVM BACKEND INSTALLED
+++ Installing JVM launcher
+++ Rakudo installed succesfully!

Rakudo has been built and installed.
Updating shims
Done, jvm-2021.12 built

But attempting to use the build fails:

% rakubrew versions
system
BROKEN   jvm-2021.12
  moar-2021.12
* moar-blead

% rakubrew switch jvm-2021.12
Version jvm-2021.12 is broken. Refusing to switch to it.

However if I call it directly, it works fine

% ~/.rakubrew/versions/jvm-2021.12/install/bin/perl6-j -v
Welcome to Rakudo™ v2021.12.
Implementing the Raku® Programming Language v6.d.
Built on JVM.
% ~/.rakubrew/versions/jvm-2021.12/install/bin/perl6-j -e 'say 2**8'
256

Work-arounds (not good, good)

I wondered if the is_version_broken routine (VersionHandling.pm) was failing
here for not finding a matching name, as per line 92, but copying perl6-j as perl6 didn't help.

for my $exec ('raku', 'raku.bat', 'raku.exe', 'perl6', 'perl6.bat', 'perl6.exe') {

I was able to successfully build jvm-2021.12 on my own with:

perl Configure.pl --gen-nqp --backends=jvm --prefix ~/raku/jvm-2021.12; make install

Did a diff -r on the two directory trees, but nothing stood out as a potential problem.

Environment

  • What's the output of rakubrew rakubrew-version?:
    rakubrew v26 Build type: macos OS: darwin

  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out):
    shim

  • Where is rakubrew installed? (run rakubrew home to find out):
    /Users/dhoekman/.rakubrew

  • Build options used
    export JAVA_OPTS="-Xmx51200000000"

Error on MacOS

fernando@MBP-de-Fernando  ~  curl https://rakubrew.org/install-on-macos.sh | sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1090 100 1090 0 0 1552 0 --:--:-- --:--:-- --:--:-- 1550
Downloading rakubrew...
sh: line 24: [: /Users/fernando/Library/Application: binary operator expected
Installing rakubrew to /Users/fernando/Library/Application Support/.rakubrew ...

sh: line 41: /Users/fernando/Library/Application: No such file or directory

The release index is not updated - self-upgrade does not work

It seems somehow new releases after v9 did not make it to the /releases dir of the website (or at least the release index JSON document is not updated):

mendel@vger:~$ curl -s https://rakubrew.org/releases | jq .latest
9
mendel@vger:~$

Since rakubrew self-upgrade relies on that index being up to date, self-upgrade from v9 does not work:

mendel@vger:~$ rakubrew rakubrew-version
rakubrew v9 Build type: fatpack OS: linux
mendel@vger:~$ rakubrew self-upgrade
Rakubrew is up-to-date!
mendel@vger:~$

misreport "installed"

This issue is a continuation to #39

This time I intentionally left little available disk space and then:

> rakubrew download moar 2020.08.1
Downloading https://rakudo.org/dl/rakudo/rakudo-moar-2020.08.1-01-linux-x86_64.tar.gz
Extracting
tar: rakudo-2020.08.1/lib/libmoar.so: Wrote only 7680 of 10240 bytes
tar: rakudo-2020.08.1/include: Cannot mkdir: No space left on device
tar: rakudo-2020.08.1/include: Cannot mkdir: No space left on device
tar: rakudo-2020.08.1/include/libatomic_ops: Cannot mkdir: No such file or directory
tar: rakudo-2020.08.1/include: Cannot mkdir: No space left on device
tar: rakudo-2020.08.1/include/libatomic_ops/atomic_ops.h: Cannot open: No such file or directory

# output abbreviated

tar: rakudo-2020.08.1/bin: Cannot mkdir: No space left on device
tar: rakudo-2020.08.1/bin/rakudo-m: Cannot open: No such file or directory
tar: Exiting with failure status due to previous errors
Done, moar-2020.08.1 installed

Please note Done, moar-2020.08.1 installed despite obvious failure. Exitcode was 0 either.
(The specific version 2020.08.1 does not matter. Just an example. Any other would do the same, I believe)

Going further:

> rakubrew download moar 2020.08.1
moar-2020.08.1 is already installed.

Please note is already installed whereas we know it failed in the midst of installation.

> rakubrew switch moar-2020.08.1
Switching to moar-2020.08.1
Invalid version found: moar-2020.08.1 at /opt/olve/rakubrew/bin/rakubrew line 2782.

Please note Invalid version found. The version itself is valid. It is the installation that is incomplete and thus invalid.

(Just for the completeness sake:)

> rakubrew switch moar-2021.06
Switching to moar-2021.06
> raku --version
Welcome to 𝐑𝐚𝐤𝐮𝐝𝐨™ v2021.06.
Implementing the 𝐑𝐚𝐤𝐮™ programming language v6.d.
Built on MoarVM version 2021.06.
> rakubrew nuke moar-2020.08.1
Nuking moar-2020.08.1

Regarding #39 I believe a bit different conditions had had place since there had not been similar output for rakubrew download moar 2020.08.2 as was here for rakubrew download moar 2020.08.1 — I wouldn't have missed even a short error message; furthermore my shell indicates non-0 exitcodes in red and it had kept silence. Sorry, can't tell verbatim — the terminal output has scrolled beyond history.

  • What's the output of rakubrew rakubrew-version?:
    rakubrew v19 Build type: fatpack OS: linux
  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out):
    env
  • Where is rakubrew installed? (run rakubrew home to find out):
    /opt/olve/rakubrew

can't run rakubrew on OS X

After downloading a copy of rakubrew for mac and putting it in my bin (and making it executable), attempting to invoke it generates a popup:

"rakubrew" cannot be opened because the developer cannot be verified.

macOS cannot verify that this app is free from malware.

Chrome download this file today at 3:02 PM from rakubrew.org

More extensive testing is needed

Right now, just the barest testing is done, basically compiling and so on. This causes new features to break existing build automations, such as #41. A more extensive test suit, testing different use cases, would be needed. Since testing might imply actually building Raku, we should find a way to mock different situations, so I'm not saying this is trivial. But still, avoiding errors in most, or some, use cases should receive the attention it really needs.

Whitespace in path name on MacOS, while building 3rd-party/dyncall

The whitespace in directory name 'Application Support' needs to be escaped/quoted in the makefile for 'dyncall'.

% rakubrew build moar-blead

building dyncall...
./configure: line 261: cd: /Users/dhoekman/Library/Application: No such file or directory
usage: dirname path
usage: dirname path
mkdir: : No such file or directory
./configure: line 268: /Makefile: Permission denied

At line 23 of 'configure', setting SRCTOP to the full path necessarily includes 'Application Support', and it's embedded whitespace. This will affect all versions of MacOS.

OpenBSD - MoarVM panic: Memory allocation failed

OpenBSD 7.1 amd64
Tried 3 times with rakubrew build moar master, rakubrew build moar-blead and rakubrew build:

MoarVM panic: Memory allocation failed; could not allocate 36864 bytes
MoarVM panic: Memory allocation failed; could not allocate 660952 bytes
MoarVM panic: Memory allocation failed; could not allocate 660152 bytes

I don't know how to troubleshoot it. I understand it is barely rakubrew issue, but rather OpenBSD compatibility or something, but I don't know where to start.

Raku is packaged (in 3 parts) for OpenBSD, and it does work, so MoarVM is buildable:
https://openports.se/lang/rakudo
https://openports.se/lang/nqp
https://openports.se/lang/moarvm

  • What's the output of rakubrew rakubrew-version?: rakubrew v29 Build type: fatpack OS: openbsd
  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out): env
  • Where is rakubrew installed? (run rakubrew home to find out): /opt/raku/rakubrew
rakubrew build
Update git reference: rakudo
Update git reference: nqp
Update git reference: MoarVM
Updating submodules .................................... OK
===ATTENTION===
  No --prefix supplied, building and installing to /opt/raku/rakubrew/versions/moar-2022.06/install
Cloning from https://github.com/Raku/nqp.git
Building NQP ...
perl Configure.pl --prefix=/opt/raku/rakubrew/versions/moar-2022.06/install --make-install --git-protocol=https --no-relocatable --no-ignore-errors --silent-build --no-force-rebuild --git-cache-dir=/opt/raku/rakubrew/git_reference --backends=moar --gen-moar
Updating submodules .................................... OK
Cloning from https://github.com/MoarVM/MoarVM.git

Configuring and building MoarVM ...
perl Configure.pl --optimize --git-cache-dir=/opt/raku/rakubrew/git_reference --prefix=/opt/raku/rakubrew/versions/moar-2022.06/install --make-install
Welcome to MoarVM!

Updating submodules .................................... OK
Configuring native build environment ................... 
    trying to compile a simple C program ............... YES
    Testing pkgconfig .................................. 0.29.2
    probing stdatomic .................................. YES
Adding extra include for libzstd: -I/usr/local/include
Adding extra libs for libzstd: -L/usr/local/lib
OK

    probing whether your compiler thinks that it is gcc  YES
    probing how your compiler does static inline ....... static __inline__
    probing if your compiler offers thread local storage  _Thread_local
    probing if your pow() handles NaN and Inf corner cases  YES
    probing if your log() returns NaN for negative values  YES
    probing if your log10() returns NaN for negative values  YES
    probing if your asin() returns NaN for negative values  YES
    probing if your acos() returns NaN for negative values  YES
    probing if you have isnan .......................... YES
    probing if you have isinf .......................... YES
    probing if you have signbit ........................ YES
    your CPU can read unaligned values for all of int32 int64 num64
    probing the size of pointers ....................... 8
Defaulting to mimalloc because you have <stdatomic.h>
    probing C type support for booleans ................ _Bool
    probing computed goto support ...................... YES
    probing pthread_yield support ...................... NO
    probing pthread_setname_np support (optional) ...... NO
    probing existance of optional malloc_trim() ........ NO
    probing support of rdtscp intrinsic ................ YES

        make: make
     compile: clang -fno-omit-frame-pointer -fno-optimize-sibling-calls -Werror=vla -fno-ret-protector -O3 -DNDEBUG -Wno-logical-op-parentheses -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fPIC  -DMVM_HEAPSNAPSHOT_FORMAT=3 -D_GNU_SOURCE -DMI_SKIP_COLLECT_ON_EXIT
    includes:  -I/usr/local/include  -I3rdparty/libuv/include -I3rdparty/libuv/src -I3rdparty/libtommath -I3rdparty/dyncall/dynload -I3rdparty/dyncall/dyncall -I3rdparty/dyncall/dyncallback -I3rdparty/mimalloc/include -I3rdparty/mimalloc/src
        link: clang  -O3 -DNDEBUG -Wl,-rpath,"/@libdir@"
        libs:  -L/usr/local/lib -lm -lpthread -lkvm -lzstd 

  byte order: little endian

Configuring 3rdparty libs .............................. OK

  3rdparty: 3rdparty/cmp/libcmp.a
            3rdparty/dyncall/dyncall/libdyncall_s.a
            3rdparty/dyncall/dyncallback/libdyncallback_s.a
            3rdparty/dyncall/dynload/libdynload_s.a
            3rdparty/libtommath/libtommath.a
            3rdparty/libuv/libuv.a
            3rdparty/sha1/libsha1.a
            3rdparty/tinymt/libtinymt.a

Generating src/gen/config.c ............................ OK
Generating src/gen/config.h ............................ OK
Generating Makefile .................................... OK
Generating tools/check.mk .............................. OK
Generating build/mk-moar-pc.pl ......................... OK

Configuration SUCCESS.

Type 'make' to build and 'make help' to see a list of
available make targets.
compiling src/main.o
compiling src/core/callsite.o
compiling src/core/args.o
compiling src/core/exceptions.o
compiling src/core/interp.o
compiling src/core/str_hash_table.o
compiling src/core/fixkey_hash_table.o
compiling src/core/index_hash_table.o
compiling src/core/ptr_hash_table.o
compiling src/core/uni_hash_table.o
compiling src/core/threadcontext.o
compiling src/core/compunit.o
compiling src/core/bytecode.o
compiling src/core/frame.o
compiling src/core/callstack.o
compiling src/core/validation.o
compiling src/core/bytecodedump.o
compiling src/core/threads.o
compiling src/core/ops.o
compiling src/core/hll.o
compiling src/core/loadbytecode.o
compiling src/core/coerce.o
compiling src/core/dll.o
compiling src/core/ext.o
compiling src/core/nativecall.o
compiling src/core/nativecall_dyncall.o
compiling src/core/continuation.o
compiling src/core/intcache.o
compiling src/core/fixedsizealloc.o
compiling src/core/regionalloc.o
compiling src/debug/debugserver.o
compiling src/gen/config.o
compiling src/gc/orchestrate.o
compiling src/gc/allocation.o
compiling src/gc/worklist.o
compiling src/gc/roots.o
compiling src/gc/collect.o
compiling src/gc/gen2.o
compiling src/gc/wb.o
compiling src/gc/objectid.o
compiling src/gc/finalize.o
compiling src/gc/debug.o
compiling src/io/io.o
compiling src/io/eventloop.o
compiling src/io/syncfile.o
compiling src/io/syncsocket.o
compiling src/io/fileops.o
compiling src/io/dirops.o
compiling src/io/procops.o
compiling src/io/timers.o
compiling src/io/filewatchers.o
compiling src/io/signals.o
compiling src/io/asyncsocket.o
compiling src/io/asyncsocketudp.o
compiling src/6model/reprs.o
compiling src/6model/reprconv.o
compiling src/6model/containers.o
compiling src/6model/parametric.o
compiling src/6model/reprs/MVMString.o
compiling src/6model/reprs/VMArray.o
compiling src/6model/reprs/MVMHash.o
compiling src/6model/reprs/MVMCFunction.o
compiling src/6model/reprs/KnowHOWREPR.o
compiling src/6model/reprs/KnowHOWAttributeREPR.o
compiling src/6model/reprs/P6str.o
compiling src/6model/reprs/P6opaque.o
compiling src/6model/reprs/MVMCode.o
compiling src/6model/reprs/MVMOSHandle.o
compiling src/6model/reprs/MVMCompUnit.o
compiling src/6model/reprs/MVMStaticFrame.o
compiling src/6model/reprs/P6int.o
compiling src/6model/reprs/P6num.o
compiling src/6model/reprs/Uninstantiable.o
compiling src/6model/reprs/HashAttrStore.o
compiling src/6model/reprs/MVMThread.o
compiling src/6model/reprs/MVMIter.o
compiling src/6model/reprs/MVMContext.o
compiling src/6model/reprs/SCRef.o
compiling src/6model/reprs/P6bigint.o
compiling src/6model/reprs/NFA.o
compiling src/6model/reprs/MVMException.o
compiling src/6model/reprs/MVMDLLSym.o
compiling src/6model/reprs/MVMContinuation.o
compiling src/6model/reprs/NativeCall.o
compiling src/6model/reprs/CPointer.o
compiling src/6model/reprs/CStr.o
compiling src/6model/reprs/CArray.o
compiling src/6model/reprs/CStruct.o
compiling src/6model/reprs/CUnion.o
compiling src/6model/reprs/ReentrantMutex.o
compiling src/6model/reprs/ConditionVariable.o
compiling src/6model/reprs/Semaphore.o
compiling src/6model/reprs/ConcBlockingQueue.o
compiling src/6model/reprs/MVMAsyncTask.o
compiling src/6model/reprs/MVMNull.o
compiling src/6model/reprs/CPPStruct.o
compiling src/6model/reprs/NativeRef.o
compiling src/6model/reprs/MultiDimArray.o
compiling src/6model/reprs/Decoder.o
compiling src/6model/reprs/MVMSpeshLog.o
compiling src/6model/reprs/MVMStaticFrameSpesh.o
compiling src/6model/reprs/MVMCapture.o
compiling src/6model/reprs/MVMTracked.o
compiling src/6model/6model.o
compiling src/6model/bootstrap.o
compiling src/6model/sc.o
compiling src/6model/serialization.o
compiling src/disp/boot.o
compiling src/disp/registry.o
compiling src/disp/inline_cache.o
compiling src/disp/program.o
compiling src/disp/syscall.o
compiling src/disp/resume.o
compiling src/spesh/dump.o
compiling src/spesh/graph.o
compiling src/spesh/codegen.o
compiling src/spesh/manipulate.o
compiling src/spesh/args.o
compiling src/spesh/usages.o
compiling src/spesh/facts.o
compiling src/spesh/optimize.o
compiling src/spesh/dead_bb_elimination.o
compiling src/spesh/dead_ins_elimination.o
compiling src/spesh/deopt.o
compiling src/spesh/log.o
compiling src/spesh/threshold.o
compiling src/spesh/inline.o
compiling src/spesh/osr.o
compiling src/spesh/lookup.o
compiling src/spesh/iterator.o
compiling src/spesh/worker.o
compiling src/spesh/debug.o
compiling src/spesh/stats.o
compiling src/spesh/plan.o
compiling src/spesh/arg_guard.o
compiling src/spesh/frame_walker.o
compiling src/spesh/pea.o
compiling src/6model/reprs/MVMSpeshCandidate.o
compiling src/spesh/disp.o
compiling src/strings/decode_stream.o
compiling src/strings/ascii.o
compiling src/strings/parse_num.o
compiling src/strings/utf8.o
compiling src/strings/utf8_c8.o
compiling src/strings/nfg.o
compiling src/strings/ops.o
compiling src/strings/unicode.o
compiling src/strings/normalize.o
compiling src/strings/latin1.o
compiling src/strings/utf16.o
compiling src/strings/windows1252.o
compiling src/strings/shiftjis.o
compiling src/strings/gb2312.o
compiling src/strings/gb18030.o
compiling src/math/bigintops.o
compiling src/profiler/instrument.o
compiling src/profiler/log.o
compiling src/profiler/profile.o
compiling src/profiler/heapsnapshot.o
compiling src/profiler/telemeh.o
compiling src/profiler/configuration.o
compiling src/instrument/crossthreadwrite.o
compiling src/instrument/line_coverage.o
compiling src/platform/sys.o
compiling src/platform/random.o
compiling src/platform/memmem32.o
compiling 3rdparty/freebsd/memmem.o
compiling 3rdparty/ryu/ryu/d2s.o
compiling 3rdparty/mimalloc/src/static.o
compiling src/platform/malloc_trim.o
compiling src/moar.o
compiling src/platform/posix/mmap.o
compiling src/platform/posix/time.o
compiling src/platform/posix/io.o
compiling src/platform/posix/fork.o
compiling src/jit/graph.o
compiling src/jit/label.o
compiling src/jit/compile.o
compiling src/jit/dump.o
Precompiling templates from src/jit/core_templates.expr
compiling src/jit/expr.o
Building tile tables from src/jit/x64/tile_pattern.tile
compiling src/jit/tile.o
compiling src/jit/linear_scan.o
compiling src/jit/interface.o
clang  3rdparty/dynasm/minilua.c -lm -o 3rdparty/dynasm/minilua
preprocessing src/jit/x64/emit.dasc
compiling src/jit/x64/emit.o
compiling src/jit/x64/arch.o
compiling 3rdparty/cmp/cmp.o
linking 3rdparty/cmp/libcmp.a
building dyncall...
Configuration written to Makefile.config
done.
compiling 3rdparty/tinymt/tinymt64.o
linking 3rdparty/tinymt/libtinymt.a
compiling 3rdparty/sha1/sha1.o
linking 3rdparty/sha1/libsha1.a
compiling 3rdparty/libtommath/bn_cutoffs.o
compiling 3rdparty/libtommath/bn_deprecated.o
compiling 3rdparty/libtommath/bn_mp_2expt.o
compiling 3rdparty/libtommath/bn_mp_abs.o
compiling 3rdparty/libtommath/bn_mp_add.o
compiling 3rdparty/libtommath/bn_mp_add_d.o
compiling 3rdparty/libtommath/bn_mp_addmod.o
compiling 3rdparty/libtommath/bn_mp_and.o
compiling 3rdparty/libtommath/bn_mp_clamp.o
compiling 3rdparty/libtommath/bn_mp_clear.o
compiling 3rdparty/libtommath/bn_mp_clear_multi.o
compiling 3rdparty/libtommath/bn_mp_cmp.o
compiling 3rdparty/libtommath/bn_mp_cmp_d.o
compiling 3rdparty/libtommath/bn_mp_cmp_mag.o
compiling 3rdparty/libtommath/bn_mp_cnt_lsb.o
compiling 3rdparty/libtommath/bn_mp_complement.o
compiling 3rdparty/libtommath/bn_mp_copy.o
compiling 3rdparty/libtommath/bn_mp_count_bits.o
compiling 3rdparty/libtommath/bn_mp_decr.o
compiling 3rdparty/libtommath/bn_mp_div.o
compiling 3rdparty/libtommath/bn_mp_div_2.o
compiling 3rdparty/libtommath/bn_mp_div_2d.o
compiling 3rdparty/libtommath/bn_mp_div_3.o
compiling 3rdparty/libtommath/bn_mp_div_d.o
compiling 3rdparty/libtommath/bn_mp_dr_is_modulus.o
compiling 3rdparty/libtommath/bn_mp_dr_reduce.o
compiling 3rdparty/libtommath/bn_mp_dr_setup.o
compiling 3rdparty/libtommath/bn_mp_error_to_string.o
compiling 3rdparty/libtommath/bn_mp_exch.o
compiling 3rdparty/libtommath/bn_mp_expt_u32.o
compiling 3rdparty/libtommath/bn_mp_exptmod.o
compiling 3rdparty/libtommath/bn_mp_exteuclid.o
compiling 3rdparty/libtommath/bn_mp_fread.o
compiling 3rdparty/libtommath/bn_mp_from_sbin.o
compiling 3rdparty/libtommath/bn_mp_from_ubin.o
compiling 3rdparty/libtommath/bn_mp_fwrite.o
compiling 3rdparty/libtommath/bn_mp_gcd.o
compiling 3rdparty/libtommath/bn_mp_get_double.o
compiling 3rdparty/libtommath/bn_mp_get_i32.o
compiling 3rdparty/libtommath/bn_mp_get_i64.o
compiling 3rdparty/libtommath/bn_mp_get_l.o
compiling 3rdparty/libtommath/bn_mp_get_ll.o
compiling 3rdparty/libtommath/bn_mp_get_mag_u32.o
compiling 3rdparty/libtommath/bn_mp_get_mag_u64.o
compiling 3rdparty/libtommath/bn_mp_get_mag_ul.o
compiling 3rdparty/libtommath/bn_mp_get_mag_ull.o
compiling 3rdparty/libtommath/bn_mp_grow.o
compiling 3rdparty/libtommath/bn_mp_incr.o
compiling 3rdparty/libtommath/bn_mp_init.o
compiling 3rdparty/libtommath/bn_mp_init_copy.o
compiling 3rdparty/libtommath/bn_mp_init_i32.o
compiling 3rdparty/libtommath/bn_mp_init_i64.o
compiling 3rdparty/libtommath/bn_mp_init_l.o
compiling 3rdparty/libtommath/bn_mp_init_ll.o
compiling 3rdparty/libtommath/bn_mp_init_multi.o
compiling 3rdparty/libtommath/bn_mp_init_set.o
compiling 3rdparty/libtommath/bn_mp_init_size.o
compiling 3rdparty/libtommath/bn_mp_init_u32.o
compiling 3rdparty/libtommath/bn_mp_init_u64.o
compiling 3rdparty/libtommath/bn_mp_init_ul.o
compiling 3rdparty/libtommath/bn_mp_init_ull.o
compiling 3rdparty/libtommath/bn_mp_invmod.o
compiling 3rdparty/libtommath/bn_mp_is_square.o
compiling 3rdparty/libtommath/bn_mp_iseven.o
compiling 3rdparty/libtommath/bn_mp_isodd.o
compiling 3rdparty/libtommath/bn_mp_kronecker.o
compiling 3rdparty/libtommath/bn_mp_lcm.o
compiling 3rdparty/libtommath/bn_mp_log_u32.o
compiling 3rdparty/libtommath/bn_mp_lshd.o
compiling 3rdparty/libtommath/bn_mp_mod.o
compiling 3rdparty/libtommath/bn_mp_mod_2d.o
compiling 3rdparty/libtommath/bn_mp_mod_d.o
compiling 3rdparty/libtommath/bn_mp_montgomery_calc_normalization.o
compiling 3rdparty/libtommath/bn_mp_montgomery_reduce.o
compiling 3rdparty/libtommath/bn_mp_montgomery_setup.o
compiling 3rdparty/libtommath/bn_mp_mul.o
compiling 3rdparty/libtommath/bn_mp_mul_2.o
compiling 3rdparty/libtommath/bn_mp_mul_2d.o
compiling 3rdparty/libtommath/bn_mp_mul_d.o
compiling 3rdparty/libtommath/bn_mp_mulmod.o
compiling 3rdparty/libtommath/bn_mp_neg.o
compiling 3rdparty/libtommath/bn_mp_or.o
compiling 3rdparty/libtommath/bn_mp_pack.o
compiling 3rdparty/libtommath/bn_mp_pack_count.o
compiling 3rdparty/libtommath/bn_mp_prime_fermat.o
compiling 3rdparty/libtommath/bn_mp_prime_frobenius_underwood.o
compiling 3rdparty/libtommath/bn_mp_prime_is_prime.o
compiling 3rdparty/libtommath/bn_mp_prime_miller_rabin.o
compiling 3rdparty/libtommath/bn_mp_prime_next_prime.o
compiling 3rdparty/libtommath/bn_mp_prime_rabin_miller_trials.o
compiling 3rdparty/libtommath/bn_mp_prime_rand.o
compiling 3rdparty/libtommath/bn_mp_prime_strong_lucas_selfridge.o
compiling 3rdparty/libtommath/bn_mp_radix_size.o
compiling 3rdparty/libtommath/bn_mp_radix_smap.o
compiling 3rdparty/libtommath/bn_mp_rand.o
compiling 3rdparty/libtommath/bn_mp_read_radix.o
compiling 3rdparty/libtommath/bn_mp_reduce.o
compiling 3rdparty/libtommath/bn_mp_reduce_2k.o
compiling 3rdparty/libtommath/bn_mp_reduce_2k_l.o
compiling 3rdparty/libtommath/bn_mp_reduce_2k_setup.o
compiling 3rdparty/libtommath/bn_mp_reduce_2k_setup_l.o
compiling 3rdparty/libtommath/bn_mp_reduce_is_2k.o
compiling 3rdparty/libtommath/bn_mp_reduce_is_2k_l.o
compiling 3rdparty/libtommath/bn_mp_reduce_setup.o
compiling 3rdparty/libtommath/bn_mp_root_u32.o
compiling 3rdparty/libtommath/bn_mp_rshd.o
compiling 3rdparty/libtommath/bn_mp_sbin_size.o
compiling 3rdparty/libtommath/bn_mp_set.o
compiling 3rdparty/libtommath/bn_mp_set_double.o
compiling 3rdparty/libtommath/bn_mp_set_i32.o
compiling 3rdparty/libtommath/bn_mp_set_i64.o
compiling 3rdparty/libtommath/bn_mp_set_l.o
compiling 3rdparty/libtommath/bn_mp_set_ll.o
compiling 3rdparty/libtommath/bn_mp_set_u32.o
compiling 3rdparty/libtommath/bn_mp_set_u64.o
compiling 3rdparty/libtommath/bn_mp_set_ul.o
compiling 3rdparty/libtommath/bn_mp_set_ull.o
compiling 3rdparty/libtommath/bn_mp_shrink.o
compiling 3rdparty/libtommath/bn_mp_signed_rsh.o
compiling 3rdparty/libtommath/bn_mp_sqr.o
compiling 3rdparty/libtommath/bn_mp_sqrmod.o
compiling 3rdparty/libtommath/bn_mp_sqrt.o
compiling 3rdparty/libtommath/bn_mp_sqrtmod_prime.o
compiling 3rdparty/libtommath/bn_mp_sub.o
compiling 3rdparty/libtommath/bn_mp_sub_d.o
compiling 3rdparty/libtommath/bn_mp_submod.o
compiling 3rdparty/libtommath/bn_mp_to_radix.o
compiling 3rdparty/libtommath/bn_mp_to_sbin.o
compiling 3rdparty/libtommath/bn_mp_to_ubin.o
compiling 3rdparty/libtommath/bn_mp_ubin_size.o
compiling 3rdparty/libtommath/bn_mp_unpack.o
compiling 3rdparty/libtommath/bn_mp_xor.o
compiling 3rdparty/libtommath/bn_mp_zero.o
compiling 3rdparty/libtommath/bn_prime_tab.o
compiling 3rdparty/libtommath/bn_s_mp_add.o
compiling 3rdparty/libtommath/bn_s_mp_balance_mul.o
compiling 3rdparty/libtommath/bn_s_mp_exptmod.o
compiling 3rdparty/libtommath/bn_s_mp_exptmod_fast.o
compiling 3rdparty/libtommath/bn_s_mp_get_bit.o
compiling 3rdparty/libtommath/bn_s_mp_invmod_fast.o
compiling 3rdparty/libtommath/bn_s_mp_invmod_slow.o
compiling 3rdparty/libtommath/bn_s_mp_karatsuba_mul.o
compiling 3rdparty/libtommath/bn_s_mp_karatsuba_sqr.o
compiling 3rdparty/libtommath/bn_s_mp_montgomery_reduce_fast.o
compiling 3rdparty/libtommath/bn_s_mp_mul_digs.o
compiling 3rdparty/libtommath/bn_s_mp_mul_digs_fast.o
compiling 3rdparty/libtommath/bn_s_mp_mul_high_digs.o
compiling 3rdparty/libtommath/bn_s_mp_mul_high_digs_fast.o
compiling 3rdparty/libtommath/bn_s_mp_prime_is_divisible.o
compiling 3rdparty/libtommath/bn_s_mp_rand_jenkins.o
compiling 3rdparty/libtommath/bn_s_mp_rand_platform.o
compiling 3rdparty/libtommath/bn_s_mp_reverse.o
compiling 3rdparty/libtommath/bn_s_mp_sqr.o
compiling 3rdparty/libtommath/bn_s_mp_sqr_fast.o
compiling 3rdparty/libtommath/bn_s_mp_sub.o
compiling 3rdparty/libtommath/bn_s_mp_toom_mul.o
compiling 3rdparty/libtommath/bn_s_mp_toom_sqr.o
linking 3rdparty/libtommath/libtommath.a
compiling 3rdparty/libuv/src/unix/openbsd.o
compiling 3rdparty/libuv/src/unix/random-getentropy.o
compiling 3rdparty/libuv/src/unix/kqueue.o
compiling 3rdparty/libuv/src/unix/posix-hrtime.o
compiling 3rdparty/libuv/src/unix/bsd-proctitle.o
compiling 3rdparty/libuv/src/unix/bsd-ifaddrs.o
compiling 3rdparty/libuv/src/strscpy.o
compiling 3rdparty/libuv/src/fs-poll.o
compiling 3rdparty/libuv/src/inet.o
compiling 3rdparty/libuv/src/uv-common.o
compiling 3rdparty/libuv/src/version.o
compiling 3rdparty/libuv/src/timer.o
compiling 3rdparty/libuv/src/unix/async.o
compiling 3rdparty/libuv/src/unix/core.o
compiling 3rdparty/libuv/src/unix/dl.o
compiling 3rdparty/libuv/src/unix/fs.o
compiling 3rdparty/libuv/src/unix/getaddrinfo.o
compiling 3rdparty/libuv/src/unix/loop-watcher.o
compiling 3rdparty/libuv/src/unix/loop.o
compiling 3rdparty/libuv/src/unix/pipe.o
compiling 3rdparty/libuv/src/unix/poll.o
compiling 3rdparty/libuv/src/unix/process.o
compiling 3rdparty/libuv/src/unix/signal.o
compiling 3rdparty/libuv/src/unix/stream.o
compiling 3rdparty/libuv/src/unix/tcp.o
compiling 3rdparty/libuv/src/unix/thread.o
compiling 3rdparty/libuv/src/threadpool.o
compiling 3rdparty/libuv/src/unix/tty.o
compiling 3rdparty/libuv/src/unix/udp.o
linking 3rdparty/libuv/libuv.a
linking libmoar.so
linking moar
perl build/mk-moar-pc.pl pkgconfig/moar.pc
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/bin"
perl -MExtUtils::Command -e cp moar "/opt/raku/rakubrew/versions/moar-2022.06/install/bin"
perl -MExtUtils::Command -e chmod 755 "/opt/raku/rakubrew/versions/moar-2022.06/install/bin/moar"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/lib"
perl -MExtUtils::Command -e rm_f "/opt/raku/rakubrew/versions/moar-2022.06/install/lib/libmoar.so"
perl -MExtUtils::Command -e cp libmoar.so  "/opt/raku/rakubrew/versions/moar-2022.06/install/lib"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/share/nqp/lib/MAST"
perl -MExtUtils::Command -e cp lib/MAST/Nodes.nqp "/opt/raku/rakubrew/versions/moar-2022.06/install/share/nqp/lib/MAST"
perl -MExtUtils::Command -e cp lib/MAST/Ops.nqp "/opt/raku/rakubrew/versions/moar-2022.06/install/share/nqp/lib/MAST"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/share/pkgconfig"
perl -MExtUtils::Command -e cp pkgconfig/moar.pc "/opt/raku/rakubrew/versions/moar-2022.06/install/share/pkgconfig"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar"
perl -MExtUtils::Command -e cp src/gen/config.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/6model/reprs"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/core"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/gc"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/gen"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/io"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/math"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/platform"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/profiler"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/disp"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/spesh"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/debug"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/strings"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/strings/siphash"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/jit"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/instrument"
perl -MExtUtils::Command -e cp 3rdparty/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar"
perl -MExtUtils::Command -e cp src/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar"
perl -MExtUtils::Command -e cp src/6model/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/6model"
perl -MExtUtils::Command -e cp src/6model/reprs/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/6model/reprs"
perl -MExtUtils::Command -e cp src/core/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/core"
perl -MExtUtils::Command -e cp src/gc/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/gc"
perl -MExtUtils::Command -e cp src/gen/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/gen"
perl -MExtUtils::Command -e cp src/io/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/io"
perl -MExtUtils::Command -e cp src/math/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/math"
perl -MExtUtils::Command -e cp src/platform/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/platform"
perl -MExtUtils::Command -e cp src/profiler/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/profiler"
perl -MExtUtils::Command -e cp src/disp/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/disp"
perl -MExtUtils::Command -e cp src/spesh/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/spesh"
perl -MExtUtils::Command -e cp src/debug/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/debug"
perl -MExtUtils::Command -e cp src/strings/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/strings"
perl -MExtUtils::Command -e cp src/strings/siphash/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/strings/siphash"
perl -MExtUtils::Command -e cp src/jit/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/jit"
perl -MExtUtils::Command -e cp src/instrument/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/moar/instrument"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/libuv"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/libuv/uv"
perl -MExtUtils::Command -e cp 3rdparty/libuv/include/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/libuv"
perl -MExtUtils::Command -e cp 3rdparty/libuv/include/uv/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/libuv/uv"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/libtommath"
perl -MExtUtils::Command -e cp 3rdparty/libtommath/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/libtommath"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/dyncall"
perl -MExtUtils::Command -e cp 3rdparty/dyncall/dynload/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/dyncall"
perl -MExtUtils::Command -e cp 3rdparty/dyncall/dyncall/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/dyncall"
perl -MExtUtils::Command -e cp 3rdparty/dyncall/dyncallback/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/dyncall"
perl -MExtUtils::Command -e mkpath "/opt/raku/rakubrew/versions/moar-2022.06/install/include/mimalloc"
perl -MExtUtils::Command -e cp 3rdparty/mimalloc/include/*.h "/opt/raku/rakubrew/versions/moar-2022.06/install/include/mimalloc"
Cleaning up ...
+++ Preparing MOAR build directories
++++++ Building MOAR backend
+++ Generating	gen/moar/stage1/nqpmo.nqp
+++ Compiling	gen/moar/stage1/nqpmo.moarvm
+++ Compiling	gen/moar/stage1/ModuleLoader.moarvm
+++ Generating	gen/moar/stage1/NQPCORE.setting
+++ Compiling	gen/moar/stage1/NQPCORE.setting.moarvm
+++ Generating	gen/moar/stage1/QASTNode.nqp
+++ Compiling	gen/moar/stage1/QASTNode.moarvm
+++ Generating	gen/moar/stage1/QRegex.nqp
+++ Compiling	gen/moar/stage1/QRegex.moarvm
+++ Generating 	stage 1 nqp-config.nqp
+++ Generating	gen/moar/stage1/NQPHLL.nqp
+++ Generating	gen/moar/stage1/MASTNodes.nqp
+++ Compiling	gen/moar/stage1/MASTOps.moarvm
+++ Compiling	gen/moar/stage1/MASTNodes.moarvm
+++ Compiling	gen/moar/stage1/NQPHLL.moarvm
+++ Generating	gen/moar/stage1/QAST.nqp
+++ Compiling	gen/moar/stage1/QAST.moarvm
+++ Generating	gen/moar/stage1/NQPP6QRegex.nqp
+++ Compiling	gen/moar/stage1/NQPP6QRegex.moarvm
+++ Creating	stage 1 NQP
+++ Generating	gen/moar/stage2/nqpmo.nqp
+++ Compiling	gen/moar/stage2/nqpmo.moarvm
+++ Compiling	gen/moar/stage2/ModuleLoader.moarvm
+++ Generating	gen/moar/stage2/NQPCORE.setting
+++ Compiling	gen/moar/stage2/NQPCORE.setting.moarvm
+++ Generating	gen/moar/stage2/QASTNode.nqp
+++ Compiling	gen/moar/stage2/QASTNode.moarvm
+++ Generating	gen/moar/stage2/QRegex.nqp
+++ Compiling	gen/moar/stage2/QRegex.moarvm
+++ Generating 	stage 2 nqp-config.nqp
+++ Generating	gen/moar/stage2/NQPHLL.nqp
+++ Generating	gen/moar/stage2/MASTNodes.nqp
+++ Compiling	gen/moar/stage2/MASTOps.moarvm
+++ Compiling	gen/moar/stage2/MASTNodes.moarvm
+++ Compiling	gen/moar/stage2/NQPHLL.moarvm
+++ Generating	gen/moar/stage2/QAST.nqp
+++ Compiling	gen/moar/stage2/QAST.moarvm
+++ Generating	gen/moar/stage2/NQPP6QRegex.nqp
+++ Compiling	gen/moar/stage2/NQPP6QRegex.moarvm
+++ Creating	stage 2 NQP
+++ Installing MOAR stage 2 files locally
+++ Setting up	nqp-m
+++ Compiling	NQPP5QRegex.moarvm
+++ Compiling	inst-nqp-m
+++ Compiling	inst-nqp
+++ Compiling MOAR default runner
+++ Preparing MOAR build directories
++++++ Building MOAR backend
+++ Installing MOAR stage 2 files locally
+++ Compiling	NQPP5QRegex.moarvm
+++ Creating MOAR installation directories
+++ Installing into /opt/raku/rakubrew/versions/moar-2022.06/install
+++ Installing MOAR specifics
+++ Compiling MOAR default runner
+++ Installing default runner

NQP has been built and installed.
Using /opt/raku/rakubrew/versions/moar-2022.06/install/bin/nqp-m (version 2022.06 / MoarVM 2022.06).
Cleaning up ...
+++ Checking for moar NQP version
+++ Expanding	gen/moar/main-version.nqp
+++ Generating	gen/moar/rakudo.nqp
+++ Generating	gen/moar/Grammar.nqp
+++ Generating	gen/moar/World.nqp
+++ Generating	gen/moar/ModuleLoader.nqp
+++ Compiling	blib/Perl6/ModuleLoader.moarvm
+++ Generating	gen/moar/Ops.nqp
+++ Compiling	dynext/libperl6_ops_moar.so
+++ Compiling	blib/Perl6/Ops.moarvm
+++ Generating	gen/moar/Pod.nqp
+++ Compiling	blib/Perl6/Pod.moarvm
+++ Compiling	blib/Perl6/World.moarvm
+++ Generating	gen/moar/Actions.nqp
+++ Compiling	blib/Perl6/Actions.moarvm
+++ Compiling	blib/Perl6/Grammar.moarvm
+++ Generating	gen/moar/Compiler.nqp
+++ Generating	gen/moar/Optimizer.nqp
+++ Generating	gen/moar/Metamodel.nqp
+++ Compiling	blib/Perl6/Metamodel.moarvm
+++ Compiling	blib/Perl6/Optimizer.moarvm
+++ Compiling	blib/Perl6/Compiler.moarvm
+++ Generating	gen/moar/SysConfig.nqp
+++ Compiling	blib/Perl6/SysConfig.moarvm
+++ Compiling	rakudo.moarvm
+++ Generating	gen/moar/BOOTSTRAP/v6c.nqp
+++ Compiling	blib/Perl6/BOOTSTRAP/v6c.moarvm
+++ Compiling	blib/CORE.c.setting.moarvm
The following step can take a long time, please be patient.
Stage start      :   0.001
MoarVM panic: Memory allocation failed; could not allocate 660152 bytes
gmake: *** [Makefile:1219: blib/CORE.c.setting.moarvm] Error 1
Command failed (status 512): /usr/local/bin/gmake
 at /opt/raku/rakubrew/versions/moar-2022.06/3rdparty/nqp-configure/lib/NQP/Config.pm line 34.
        NQP::Config::__ANON__("Command failed (status 512): /usr/local/bin/gmake\x{a}") called at /opt/raku/rakubrew/versions/moar-2022.06/3rdparty/nqp-configure/lib/NQP/Config.pm line 1502
        NQP::Config::system_or_die("/usr/local/bin/gmake") called at Configure.pl line 121
Failed running perl Configure.pl --backends=moar --gen-moar --make-install  --git-cache-dir="/opt/raku/rakubrew/git_reference" at /opt/raku/rakubrew/bin/rakubrew line 752.

Powershell installation

The following commands have been executed from cmd:

  • What's the output of rakubrew rakubrew-version?:
rakubrew v9 Build type: win OS: MSWin32
  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out):
env
  • Where is rakubrew installed? (run rakubrew home to find out):
C:/rakubrew

I installed rakubrew for cmd without any problems following the instructions from https://rakubrew.org/. Today, I tried to use raku and zef from PowerShell but I get the following error:

raku : The term 'raku' is not recognized as the name of a cmdlet, function, script file, or operable program. Check
the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ raku
+ ~~~~
    + CategoryInfo          : ObjectNotFound: (raku:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Do I have to re-install everything following the instructions for PowerShell? It would be really helpful if the cmd installation process updates the PATH for PowerShell too. Maybe this is done automatically by Windows (I suppose all terminals should have the same PATH variable).

This is the output of PATH variables in each terminal:

PS C:\Users\anton> $env:PATH
C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Program Files\nodejs\;C:\Program Files\PowerShell\7\;C:\Ruby27-x64\bin;C:/Users/anton/rakudobrew/bin;C:\Users\anton\rakudobrew\shims;C:\Users\anton\rakudobrew\bin;C:\Users\anton\rakudobrew\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Program Files\nodejs\;C:\Users\anton\AppData\Local\Microsoft\WindowsApps;C:\Program Files\MiKTeX 2.9\miktex\bin;C:\Users\anton\AppData\Local\Microsoft\WindowsApps;C:\Users\anton\AppData\Roaming\npm;C:\Users\anton\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files (x86)\Graphviz2.38\bin;C:\Program Files\7-Zip;C:\Program Files (x86)\Vim\vim82
PS C:\Users\anton>
C:\Users\anton>echo %PATH%
C:\rakubrew\versions\moar-2020.06\install\bin;C:\rakubrew\versions\moar-2020.06\install\share\perl6\site\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Program Files\nodejs\;C:\Program Files\PowerShell\7\;C:\Ruby27-x64\bin;C:/Users/anton/rakudobrew/bin;C:\Users\anton\rakudobrew\shims;C:\Users\anton\rakudobrew\bin;C:\Users\anton\rakudobrew\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Program Files\nodejs\;C:\Users\anton\AppData\Local\Microsoft\WindowsApps;C:\Program Files\MiKTeX 2.9\miktex\bin;C:\Users\anton\AppData\Local\Microsoft\WindowsApps;C:\Users\anton\AppData\Roaming\npm;C:\Users\anton\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files (x86)\Graphviz2.38\bin;C:\Program Files\7-Zip;C:\Program Files (x86)\Vim\vim82

`rakubrew build zef` warning, latest version

This is just a warning. It works apparently well:

Use of uninitialized value $zef_version in string ne at /home/jmerelo/.rakubrew/bin/rakubrew line 818.
Ya en 'master'
Tu rama está actualizada con 'origin/master'.
===> Testing: zef:ver<0.11.5>:auth<github:ugexe>:api<0>
  • What's the output of rakubrew rakubrew-version?:
rakubrew v15 Build type: fatpack OS: linux
  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out):
    shim

  • Where is rakubrew installed? (run rakubrew home to find out):

/home/jmerelo/.rakubrew

raku: No such file or directory when trying to use in SparrowCI

I here is what I get when I try to use rakubrew in SparrowCI:

[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] which zef
[12] which raku
[13] raku --version
[14] zef --version
[15] 
[16] zef update 
[17] zef install --/test .
[18] 
[task stdout]
18:16:56 :: Use rakudo version: 2022.07
18:16:57 :: Downloading https://rakudo.org/dl/rakudo/rakudo-moar-2022.07-01-linux-x86_64-gcc.tar.gz
18:16:58 :: Extracting
18:16:59 :: Switching to moar-2022.07
18:16:59 :: Done, moar-2022.07 installed
18:16:59 :: Switching to moar-2022.07
18:16:59 :: total 204
18:16:59 :: -rwxr-xr-x    1 worker   wheel        17904 Nov  8 18:16 moar
18:16:59 :: -rwxr-xr-x    1 worker   wheel        14128 Nov  8 18:16 nqp
18:17:00 :: -rwxr-xr-x    1 worker   wheel        14128 Nov  8 18:16 nqp-m
18:17:00 :: -rwxr-xr-x    1 worker   wheel        14176 Nov  8 18:16 perl6
18:17:00 :: -rwxr-xr-x    1 worker   wheel        14176 Nov  8 18:16 perl6-debug
18:17:00 :: -rwxr-xr-x    1 worker   wheel        14176 Nov  8 18:16 perl6-debug-m
18:17:00 :: -rwxr-xr-x    1 worker   wheel         1927 Nov  8 18:16 perl6-gdb-m
18:17:00 :: -rwxr-xr-x    1 worker   wheel         1779 Nov  8 18:16 perl6-lldb-m
18:17:00 :: -rwxr-xr-x    1 worker   wheel        14176 Nov  8 18:16 perl6-m
18:17:00 :: -rwxr-xr-x    1 worker   wheel         1605 Nov  8 18:16 perl6-valgrind-m
18:17:00 :: lrwxrwxrwx    1 worker   wheel            6 Nov  8 18:16 raku -> rakudo
18:17:00 :: lrwxrwxrwx    1 worker   wheel           12 Nov  8 18:16 raku-debug -> rakudo-debug
18:17:00 :: -rwxr-xr-x    1 worker   wheel        14176 Nov  8 18:16 rakudo
18:17:00 :: -rwxr-xr-x    1 worker   wheel        14176 Nov  8 18:16 rakudo-debug
18:17:00 :: -rwxr-xr-x    1 worker   wheel        14176 Nov  8 18:16 rakudo-debug-m
18:17:00 :: -rwxr-xr-x    1 worker   wheel         1927 Nov  8 18:16 rakudo-gdb-m
18:17:00 :: -rwxr-xr-x    1 worker   wheel         1779 Nov  8 18:16 rakudo-lldb-m
18:17:00 :: -rwxr-xr-x    1 worker   wheel        14176 Nov  8 18:16 rakudo-m
18:17:00 :: -rwxr-xr-x    1 worker   wheel         1605 Nov  8 18:16 rakudo-valgrind-m
18:17:00 :: /home/worker/.rakubrew/versions/moar-2022.07/share/perl6/site/bin/zef
18:17:00 :: /home/worker/.rakubrew/versions/moar-2022.07/bin/raku
[task stderr]
18:17:00 :: /var/.sparrowdo/env/main/.sparrowdo/tasks/main/task.bash: line 13: /home/worker/.rakubrew/versions/moar-2022.07/bin/raku: No such file or directory
18:17:00 :: task exit status: 127
18:17:00 :: 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

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 ... )

The binary release of rakubrew is not able to download anything from the internet.

Hi,

I was trying the rakubrew binary from https://rakubrew.org/macos/rakubrew and found out that it cannot download anything from internet. Such as:

> rakubrew available
No backend configured for scheme https at App/Rakubrew/Download.pm line 133.

> rakubrew download 2020.01
Cannot download Rakudo on '2020.01': this backend does not exist.

I'm guessing something needs to be done to let HTTP::Tinyish correctly chose the right backend for https -- although I'm not sure what that would be.

  • What's the output of rakubrew rakubrew-version?:

rakubrew v6 Build type: macos OS: darwin

  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out):

env

  • Where is rakubrew installed? (run rakubrew home to find out):

~/.rakubrew

Hot to find the p6doc binary

  • What's the output of rakubrew rakubrew-version?:

rakubrew v9 Build type: macos OS: darwin

  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out

Usually env, but I tried also with shim

  • Where is rakubrew installed? (run rakubrew home to find out):
    /Users/toni/.rakubrew

Thanks for this great raku version manager, recently I started to learn raku, and going inside to perl world. so maybe my question is inaccurate.

Recently I installed the new stable version of raku:

❯ rakubrew list
  system
  moar-2020.07
* moar-2020.08.2

I installed zef rakubrew build-zef and linenoise zef install Linenoise and it worked well (the autocomplete feature), but now I installed the p6doc following but I cannot find the p6doc executable:


~ via ⬢ v12.4.0
❯ p6doc
zsh: command not found: p6doc

~ via ⬢ v12.4.0
❯ which raku
/Users/toni/.rakubrew/versions/moar-2020.08.2/install/bin/raku

~ via ⬢ v12.4.0
❯ ls /Users/toni/.rakubrew/versions/moar-2020.08.2/install/bin/
moar			perl6-debug-m		raku			rakudo-gdb-m
nqp			perl6-gdb-m		raku-debug		rakudo-lldb-m
nqp-m			perl6-lldb-m		rakudo			rakudo-m
perl6			perl6-m			rakudo-debug		rakudo-valgrind-m
perl6-debug		perl6-valgrind-m	rakudo-debug-m

so I cannot use p6doc

"Unauthenticated git protocol... " error when building zef

  • What's the output of rakubrew rakubrew-version?:

Version 28

  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out):
    shim

  • Where is rakubrew installed? (run rakubrew home to find out):

~/rakubrew


Same problem as indicated in #48. That's been fixed, but it now occurs when doing rakubrew build zef.

HEAD está ahora en 3edbbcf Bump version 0.13.7
fatal: error remoto: 
  The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
Failed running git checkout -f -q master && git reset --hard HEAD && git pull -q at /home/jmerelo/.rakubrew/bin/rakubrew line 839.

HTML Profile broken due to template location

I think it might be looking in the wrong location for template.html

$ rakubrew version
Currently running moar-2020.06

$ raku --profile -e 'say "foo";'
foo
Writing profiler output to profile-1594494215.861275.html
Could not locate profiler/template.html; should have been at /rakudo-2020.06/install/share/nqp/lib/profiler/template.html; outputting sql data instead
Writing profiler output to profile-1594494215.861275.sql

$ find ~/.rakubrew -name template.html
/home/rbt/.rakubrew/versions/moar-2020.06/share/nqp/lib/profiler/template.html

Rakubrew is timing out when fetching available Raku versions from Github

I'm unable to list the available Raku versions.

❯ rakubrew available
Available Rakudo versions:
fatal: unable to connect to github.com:
github.com[0: 13.234.176.102]: errno=Operation timed out

   master

Available backends:
  jvm
* moar
  moar-blead
  • What's the output of rakubrew rakubrew-version?:
❯ rakubrew rakubrew-version
rakubrew v22 Build type: macos OS: darwin
  • Are you using rakubrew in env or in shim mode? (run rakubrew mode to find out):
❯ rakubrew mode
env
  • Where is rakubrew installed? (run rakubrew home to find out):
❯ rakubrew home
/Users/samuel/.rakubrew
  • Perl Information
❯ which perl
/Users/samuel/perl5/perlbrew/perls/perl-5.37.0/bin/perl

❯ which rakubrew
/Users/samuel/perl5/perlbrew/perls/perl-5.37.0/bin/rakubrew

Rakubrew was installed using CPANM.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.