lingy-lang/lingy

Installation on WSL2 fails

Tekki opened this issue · 5 comments

Tekki commented

When I try to install Lingy on WSL2 I get the following error (last lines of the build log):

2023-07-14T09:55:20,29369,Lingy-0.1.18| cp bin/lingy blib/script/lingy
2023-07-14T09:55:20,29369,Lingy-0.1.18| "/home/tekki/perl5/perlbrew/perls/perl-5.38.0/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/lingy
2023-07-14T09:55:20,29369,Lingy-0.1.18| /bin/sh: 1: Syntax error: "(" unexpected
2023-07-14T09:55:20,29369,Lingy-0.1.18| make: *** [Makefile:1075: pure_all] Fehler 2
2023-07-14T09:55:20,29369,Lingy-0.1.18| ! Retrying (you can turn off this behavior by --no-retry)
2023-07-14T09:55:20,29369,Lingy-0.1.18| Executing /usr/bin/make
2023-07-14T09:55:20,29369,Lingy-0.1.18| /bin/sh: 1: Syntax error: "(" unexpected
2023-07-14T09:55:20,29369,Lingy-0.1.18| make: *** [Makefile:1075: pure_all] Fehler 2
2023-07-14T09:55:20,29369,Lingy-0.1.18| Failed to install distribution

Description of the system:
Base OS: Windows 10 + 11
WSL Distribution: Debian Bullseye
Perl Version: 5.38.0 on perlbrew

On a normal installation of Bullseye + perlbrew + 5.38.0 it works fine.

(Btw: this project is great!)

Can you send me more info about make on WSL2? Maybe output of make --version , make --help, man make | tail -n30?
Seems like a aberrant make issue.
Thanks for the report...

Tekki commented

Of course I can, but most of it will be in German:

$ which make
/usr/bin/make

$ make --version
GNU Make 4.3
Gebaut für x86_64-pc-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
Lizenz GPLv3+: GNU GPL Version 3 oder später <http://gnu.org/licenses/gpl.html>
Dies ist freie Software: Sie können sie nach Belieben ändern und weiter verteilen.
Soweit es die Gesetze erlauben gibt es KEINE GARANTIE.

$ make --help
Aufruf: make [Optionen] [Ziele] ...
Optionen:
  -b, -m                      Wird aus Kompatibilitätsgründen ignoriert
[...]
  --warn-undefined-variables  Eine Warnung ausgeben, wenn eine undefinierte
                                     Variable referenziert wird.

Diese Programm wurde für x86_64-pc-linux-gnu gebaut
Fehlermeldungen (auf Englisch) an <bug-make@gnu.org> senden.

$ man make | tail -n30
       pipe. Once the task is completed, the make process writes a token back to the pipe (and thus,  if  the  tokens
       had  been  exhausted, unblocking the first make process that was waiting to read a token).  Since only N-1 to‐
       kens were written into the pipe, no more than N tasks can be running at any given time.

       If the job to be run is not a sub-make then make will close the jobserver pipe file descriptors before  invok‐
       ing  the commands, so that the command can not interfere with the jobserver, and the command does not find any
       unusual file descriptors.

BUGS
       See the chapter ``Problems and Bugs'' in The GNU Make Manual.

AUTHOR
       This manual page contributed by Dennis Morse of Stanford University.   Further  updates  contributed  by  Mike
       Frysinger.  It has been reworked by Roland McGrath.  Maintained by Paul Smith.

COPYRIGHT
       Copyright © 1992-1993, 1996-2016 Free Software Foundation, Inc.  This file is part of GNU make.

       GNU  Make is free software; you can redistribute it and/or modify it under the terms of the GNU General Public
       License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any
       later version.

       GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
       warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for  more
       details.

       You  should  have  received  a  copy  of  the GNU General Public License along with this program.  If not, see
       http://www.gnu.org/licenses/.

GNU                                                28 February 2016                                           MAKE(1)

It's all identical with my 'normal' Debian machine.

When I clone the repo and call perl/bin/lingy directly it seems to work. I made some tests with calls to Mojo::UserAgent and everything looked fine.

I'm attempting to install WSL2 on a Windows 11 VirtualBox VM on my Ubuntu Linux laptop.

Hopefully I can recreate your issue here and fix it.

Tekki commented

I'm attempting to install WSL2 on a Windows 11 VirtualBox VM on my Ubuntu Linux laptop.

I wouldn't try that. WSL2 runs on Hyper-V, which is Microsoft's virtualization architecture.
But hey, it's not that important that you have to spend the week end on it. On my Debian machine (and on my Android tablet) it works, which is okay for me for the moment.

OK, that's good advice. Thanks. I don't have a windows machine at the moment.

I have another idea if you are game... You could install tmate and we could pair program on it for a few minutes.

Reach out to me here https://matrix.to/#/@ingy:yaml.io if/when you have time to do this.

I'm glad you like the Lingy project. It's definitely inspiring to hear things like that. :)