Duniter: manual compilation with command xtask

@tuxmain

J’ai modifié le script xtask, peut tu tester la commande cargo xtask build sur la branche gva-proto-2 si cela fonctionne mieux ?

Je ne peux pas tester facilement, car il faut un environnement sans nvm (puisse que c’est l’install de nvm qu’il faut tester).

Oui ça fonctionne mieux, cargo compile bien, mais il y a une erreur à la fin :

    Finished dev [unoptimized + debuginfo] target(s) in 29.66s
     Running `target/debug/xtask build`
rustc 1.49.0-nightly (1773f60ea 2020-11-08)
cargo 1.49.0-nightly (d5556aeb8 2020-11-04)
Check node version …
Install node v10.22.1 …
Install nvm v0.35.3 …
Error: No such file or directory (os error 2)
tuxmain@loki:duniter$ ls target/
CACHEDIR.TAG  debug
tuxmain@loki:duniter$ ls target/debug/
build  deps  examples  incremental  xtask  xtask.d
1 J'aime

N’utilise jamais la toolchain nightly sur le projet duniter, tout doit se faire en stable. Pour override la toolchain par defaut sur un projet particulier, execute la commande suivante a la racine du projet :

rustup override set stable

La comme ça je sais pas je vais investiguer :thinking:

EDIT: @tuxmain je ne reproduit pas, peut tu réessayer en stable et après avoir reset ton terminal ?

1 J'aime

Oui, ça le refait en stable dans un nouveau terminal.

@tuxmain en fait vu les log que tu me donne c’est le script de nvm qui plante, donc je ne peut rien y faire. Essaye d’installer nvm toi-même et si ton problème persiste il faudrait leur signaler : https://github.com/nvm-sh/nvm#installing-and-updating

1 J'aime

J’ai eu le même problème sous ubuntu 20.04
en fouillant dans le code j’ai vu que le problème provenait de cette ligne du fichier duniter/rust-bins/xtask/src/main.rs
93: exec_should_success(Command::new("nvm").args(&["install", NODE_VERSION]))?;
J’ai donc essayé de lancer la commande à la main
nvm install 10.22.1
Puis j’ai relancé
cargo xtask build --production
et la c’est passé

@elois
Je crains que ça ne t’aide pas beaucoup mais je vais essayer de le reproduire et d’investiguer un peu plus.

3 J'aime

Ça marche !

1 J'aime

Merci @ji_emme mais tu arrive après la bataille c’est précisément le problème que j’ai corrigé il y a deux jours et c’est justement pour ça que j’avais demandé a tuxmain de retester.

1 J'aime

J’ai pu compiler duniter de la branche gva-proto-2, mais j’ai dû suivre la recommandation de @ji_emme

Pour pouvoir cargo xtask build --production avec succès.

j’ai sync le noeud à l’ancienne, et j’ai bien GVA de fonctionnel:

3 J'aime

Je mets en place mon environnement de dev pour contribuer à GVA.

J’ai une erreur quand je lance la commande :

cargo xtask build

qui est l’absence de nvm :

    Finished dev [unoptimized + debuginfo] target(s) in 0.16s
     Running `target/debug/xtask build`
rustc 1.48.0 (7eac88abb 2020-11-16)
cargo 1.48.0 (65cbdd2dc 2020-10-14)
Check node version …
Install node v10.22.1 …
Duniter need nvm to build, please install it: https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh
Abandon (core dumped)

Sauf que nvm est pourtant présent :

$ nvm --version
0.35.3

$ node 
Welcome to Node.js v14.1.0.

Une idée ?

1 J'aime

Chez moi nvm et node sont installés, mais pour compiler ou lancer Duniter je dois avoir fait ces commandes dans le shell courant :

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm install 10.22.1

Normalement ça devrait se mettre dans le .bashrc à l’installation de nvm. (je les en ai enlevées car ça prend 3 secondes à s’exécuter)

1 J'aime

Merci ! Installer la bonne version de node fonctionne :

nvm install 10.22.1
2 J'aime

Oui c’est mon script qui ne trouve pas nvm dans le PATH.

Je pourrais le modifier pour qu’il aille chercher directement nvm dans $HOME/.nvm mais ça ne serait valable que pour linux, et les commandes suivantes qui appellent nvm échouerait de toute façon si nvm n’est pas dans le PATH. Et puis si pour X raison un contributeur à son nvm d’installé ailleurs ça ne fonctionnerai pas.

Le mieux c’est que je modifie ce message d’erreur pour préciser «impossible de trouver nvm, veuillez l’installer où l’ajouter à votre PATH».

1 J'aime

Fait : [build] xtask: improve nvm error message (f229f43d) · Commits · nodes / typescript / duniter · GitLab

1 J'aime