[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



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 


Reply to: