Problème avec Bison

Bonjour à tous,
je suis entrain d'essayer d'exécuter mon premier programme Flex/bison en travaillant avec Vmware (MV redhat), mais je n'arrive plus à m'en sortir avec ce message "/usr/bin/ld : ne peut trouver -ly
collect 2: ld a retourné un code d'état d'exécution", pourtant j'ai suivi les commandes de compilation à la lettre :
bison -d parser.y
flex scanner.l
gcc -o parser parser.tab.c lex.yy.c -ly -lfl

Pouvez-vous m'éclairer sur ce sujet SVP car je pense que j'ai manqué qque chose !!

5 réponses

  1. Contributeur
    Salut walid67,

    Je ne pratique pas trop flex / bison, toutefois ce message indique que tu ne disposes pas de la bibliothèque que tu essayes de lier avec -ly et qui devrait donc être "liby.a" sous Linux.

    Installe la sur ta distribution Linux, si tu en as effectivement besoin.

    Sous Debian, c'est dans le paquet libbison-dev :

    https://packages.debian.org/buster/libbison-dev

    (cf. https://packages.debian.org/buster/amd64/libbison-dev/filelist)

    Dal
    1. Salut Dal, est-ce que tu me conseilles une autre distribution et dans laquelle il n'y aura pas ce problème ? sinon sous Redhat comment je peux procéder ??
      1. Contributeur
        Salut,

        "J'ai tjs pas résolu mon problème !!? "

        Je ne suis pas payé pour résoudre ton problème, contraitement à Red Hat, que tu dois payer pour du support si tu disposes de Red Hat Enterprise Linux (RHEL).

        Avec ta souscription à RHEL, tu as accès à access.redhat.com/downloads/content/package-browse avec ton identifiant pour chercher les paquets qui t'intéressent.

        Peut-être que
        yum provides
        peut aussi t'aider pour identifier le paquet rpm qui contient
        liby.a
        :

        https://access.redhat.com/sites/default/files/attachments/rh_yum_cheatsheet_1214_jcs_print-1.pdf

        Je n'ai pas utilisé Red Hat depuis plus d'une dizaine d'années et je ne peux pas t'aider plus.

        Dal
        1. Merci beaucoup. Je pense que tu m'as mis sur le droit chemin, c'était instructif. Je te tiendrai au courant de l'évolution des choses.
          A+.