Subject: bug#43821: Vlang REPL broken

From: Tobias Geerinckx-Rice <[email-masked]>
Date: Tue, 06 Oct 2020 01:30:50 +0200

Guix,

Commit 84fa2ced47e16de66674ca169845a6f08cb5ef6c broke the vlang 
REPL (‘v repl’ or simply ‘v’ without arguments) in a new way:

~ λ v
For usage information, quit V REPL and run `v help`
cannot compile 
`/gnu/store/zf80y1bfdvpc6s3lrs33vlc6d1d745la-vlang-0.1.29/bin/cmd/tools/vrepl.v`: 
builder error: folder 
`/gnu/store/zf80y1bfdvpc6s3lrs33vlc6d1d745la-vlang-0.1.29/bin/cmd/tools` 
is not writable

The compiler works fine.

The REPL didn't work before so this isn't a regression per se, but 
it still needs to be fixed.

λ guix install vlang
The following package will be downgraded:
   vlang 0.1.29 → 0.1.27
[...]
~ λ v
For usage information, quit V REPL using `exit` and use `v help`
cannot compile 
‘/gnu/store/1f5nzwf1jhn5iikhfpxjdxcbmj24zdf5-vlang-0.1.27/bin/cmd/tools/vrepl.v: 
/gnu/store/1f5nzwf1jhn5iikhfpxjdxcbmj24zdf5-vlang-0.1.27/bin/cmd/tools/vrepl.v:64:1: 
warning: function `repl_help` in module main cannot be declared 
public 
   62 | }
   63 | 
   64 | pub fn repl_help() {
      | ~~~~~~~~~~~~~~~~~~
   65 |     println(util.full_v_version())
   66 |     println('
/gnu/store/1f5nzwf1jhn5iikhfpxjdxcbmj24zdf5-vlang-0.1.27/bin/cmd/tools/vrepl.v:73:1: 
warning: function `run_repl` in module main cannot be declared 
public 
   71 | }
   72 | 
   73 | pub fn run_repl(workdir string, vrepl_prefix string) 
   []string {
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   74 |     println(util.full_v_version())
   75 |     println('Use Ctrl-C or `exit` to exit')
/gnu/store/1f5nzwf1jhn5iikhfpxjdxcbmj24zdf5-vlang-0.1.27/bin/cmd/tools/vrepl.v:240:1: 
warning: function `rerror` in module main cannot be declared 
public 
  238 | }
  239 | 
  240 | pub fn rerror(s string) {
      | ~~~~~~~~~~~~~~~~~~~~~~~
  241 |     println('V repl error: $s')
  242 |     os.flush()
builder error: C compiler error, while attempting to run: 
-----------------------------------------------------------
cc  -std=gnu11 -Wall -Wextra -Wno-unused-variable 
-Wno-unused-parameter -Wno-unused-result -Wno-unused-function 
-Wno-missing-braces -Wno-unused-label 
-Werror=implicit-function-declaration -o 
"/gnu/store/1f5nzwf1jhn5iikhfpxjdxcbmj24zdf5-vlang-0.1.27/bin/cmd/tools/vrepl" 
"/home/nckx/.cache/v/vrepl.tmp.c"   -lm -lpthread -ldl
-----------------------------------------------------------
Probably your C compiler is missing. 
Please reinstall it, or make it available in your PATH.

On Debian/Ubuntu, run `sudo apt install build-essential`‘

Kind regards,

T G-R