IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Rust Discussion :

Svp comment initialiser un projet Rust pour ESP32


Sujet :

Rust

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Avril 2024
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2024
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Svp comment initialiser un projet Rust pour ESP32
    j'entre la commande suivante : cargo generate esp-rs/esp-idf-template cargo

    je parvient à créer le projet normalement, mais j'ai l'erreur suivante au moment du build:


    error: failed to run custom build command for `esp-idf-sys v0.34.1`
    Images attachées Images attachées  

  2. #2
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2016
    Messages
    1 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 477
    Points : 6 123
    Points
    6 123
    Par défaut
    Bonjour,

    Comme l'indique le message d'erreur, la compilation échoue car elle génère un dossier dont le chemin est trop long.
    Le message d'erreur propose de diminuer la taille du nom du projet ou de passer par WSL2.
    Mais il y a peut-être une autre solution.

    Windows a tendance à interdire les longs chemins de dossier. La manière de les autoriser dépend de la version de Windows utilisée. Voici deux liens :
    https://superuser.com/questions/1225...260-characters
    https://www.howtogeek.com/266621/how...60-characters/

    Cela dit, il y a une chose que je ne comprends pas. Les articles que je viens de citer parlent d'une limite de 260 caractères. Or, dans le message d'erreur, le chemin qui se termine par "out" contient moins de 150 caractères.
    Pourrais-tu essayer de créer à la main un dossier vide "out" avec le même chemin que celui indiqué dans le message d'erreur pour voir si ton système d'exploitation t'empêche de le créer ?

    EDIT 23h45 :

    OMG, j'ai trouvé ! Le code coupable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        #[cfg(windows)]
        {
            if out_dir.len() > 88 {
                report(format!("Too long output directory: `{out_dir}`. Shorten your project path down to no more than 10 characters (or use WSL2 and its native Linux filesystem). Note that tricks like Windows `subst` do NOT work!"))?;
            }
        }
    Source : https://github.com/esp-rs/esp-idf-sy...n.rs#L438-L443

    Le plus intéressant à retenir, c'est la démarche :

    • Comme c'est la compilation de esp-idf-svc 0.48.1 qui plante, il faut partir du code source.
    • Dans la page https://crates.io/crates/esp-idf-svc , on peut voir que le dépot est : https://github.com/esp-rs/esp-idf-svc
    • git clone git@github.com:esp-rs/esp-idf-svc.git
    • Aller dans le dossier esp-idf-svc et exécuter git checkout v0.48.1.
    • Exécuter cargo vendor qui installe les sources des dépendances directes et indirectes dans un sous-dossier vendor.
    • Rechercher de quel code vient le message d'erreur, par exemple en cherchant la chaîne WSL2 : il y a un seul résultat et c'est dans vendor/esp-idf-sys/build/common.rs.

    EDIT 23h59 :

    Cela dit, je ne sais pas pourquoi l'auteur a mis une telle limite. Dans le code, out_dir correspond au chemin converti en UTF-8 avec Path::to_string_lossy. Une limite de 88 octets, c'est peu.

    EDIT 2024-04-06-00h21 :

    Je viens de capter que la commande cargo generate esp-rs/esp-idf-template cargo vient du README.md du projet : https://github.com/esp-rs/esp-idf-template
    C'est le genre de détail qu'il vaut mieux préciser dans un message qui demande de l'aide. Quand on ne connaît pas le contexte, on a plus de chances de répondre à côté.

Discussions similaires

  1. comment initialiser ZIG projet
    Par JPLAROCHE dans le forum Autres langages
    Réponses: 0
    Dernier message: 26/09/2022, 22h36
  2. Réponses: 5
    Dernier message: 10/08/2011, 11h16
  3. Réponses: 1
    Dernier message: 27/11/2009, 15h32
  4. Réponses: 1
    Dernier message: 08/06/2006, 10h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo