• Comment compiler la libbacktrace sur Debian (ou Linux Mint 22) x86-64

    From Basile Starynkevitch@21:1/5 to All on Sun Dec 15 18:20:01 2024
    Bonsoir la liste,

    La libbacktrace est une bibliothèque (en C, elle fait partie de GCC
    depuis des années) qui permet d'introspecter la pile d'appel. C'est
    fort utile, par exemple pour imprimer la pile d'appel d'un programme en
    C ou C++ quand celui-ci plante, et j'ai d'autres utilisations possibles
    de cette libbacktrace en tête dans le moteur d'inférences https://github.com/RefPerSys/RefPerSys/ que je dévelope avec d'autres
    sous licence GPLv3+ ou CeCILLv2. D'ailleurs vos contributions sont
    bienvenues.

    Actuellement RefPerSys a un mécanisme de persistence orthogonale: le
    tas mémoire (des objets dans un modèle ObjVLisp) et des valeurs
    structurées est chargé au démarrage depuis des fichiers JSON et il est
    vidé à la terminaison normale sur disque. Il y a d'autres traits, et
    j'avais fais un exposé vidéo disponible en https://afia.asso.fr/journee-hommage-j-pitrat/

    La libbacktrace est dévelopée par Ian Lance Taylor qui travaillait chez Google en Californie (la dernière fois que je l'ai vu, c'était il y a
    une quinzaine d'années, à un GCC summit).

    Son code est en https://github.com/ianlancetaylor/libbacktrace et la
    licence est BSD-like et GPLv3+ compatible (cat utilisée dans GCC).

    Je souhaite compiler cette librarie en la configurant avec
    ./configure --with-gnu-ld --enable-host-shared \
    --enable-maintainer-mode --enable-shared \
    CFLAGS='-O2 -g2' CC=/usr/bin/gcc

    mais je connais mal les autotools et j'ai l'erreur suivante (sur Linux
    Mint 22).

    cd . && /bin/bash /usr/src/Libs/libbacktrace/missing automake-1.15 --
    foreign --ignore-deps
    /usr/src/Libs/libbacktrace/missing: line 81: automake-1.15: command not
    found
    WARNING: 'automake-1.15' is missing on your system.
    You should only need it if you modified 'Makefile.am' or
    'configure.ac' or m4 files included by 'configure.ac'.
    The 'automake' program is part of the GNU Automake package:
    <http://www.gnu.org/software/automake>
    It also requires GNU Autoconf, GNU m4 and Perl in order to
    run:
    <http://www.gnu.org/software/autoconf>
    <http://www.gnu.org/software/m4/>
    <http://www.perl.org/>
    make: *** [Makefile:1260: Makefile.in] Error 1
    cd . && /bin/bash /usr/src/Libs/libbacktrace/missing automake-1.15 \
    --foreign --ignore-deps
    /usr/src/Libs/libbacktrace/missing: line 81: automake-1.15: command not
    found
    WARNING: 'automake-1.15' is missing on your system.
    You should only need it if you modified 'Makefile.am' or
    'configure.ac' or m4 files included by 'configure.ac'.
    The 'automake' program is part of the GNU Automake package:
    <http://www.gnu.org/software/automake>
    It also requires GNU Autoconf, GNU m4 and Perl in order to
    run:
    <http://www.gnu.org/software/autoconf>
    <http://www.gnu.org/software/m4/>
    <http://www.perl.org/>


    J'ai automake-1.16 ...

    Merci de vos lumières. Je pourrais utiliser la libbacktrace embarquée
    dans les binaires de GCC, mais ceux-ci ne sont pas compilés avec
    l'information de deboguage DWARF à laquelle je tiens beaucoup.

    Librement
    --
    Basile STARYNKEVITCH <basile@starynkevitch.net>
    8 rue de la Faïencerie +33 6 8501 2359
    92340 Bourg-la-Reine, France
    http://starynkevitch.net/Basile & https://github.com/bstarynk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)