• =?UTF-8?Q?aide_au_d=c3=a9bogage_=3a_logged-gcc?=

    From Basile Starynkevitch@21:1/5 to All on Fri Mar 10 20:00:01 2023
    Bonsoir,


    Il est naturel, quand on est fan de logiciel libre et de Debian (ou
    similaire), de compiler du logiciel libre (notamment en C ou C++) à
    partir de son code source, en utilisant (probablement) GCC (voir https://gcc.gnu.org/ ...)

    Il est alors utile de pouvoir conserver la trace de toutes les
    compilations par GCC.

    Aussi ai-je plus ou moins codé, en https://github.com/bstarynk/misc-basile/blob/master/logged-gcc.cc un
    utilitaire qui stocke dans une base sqlite les commandes de compilation
    avec leur détail. Ça se compile avec le script https://github.com/bstarynk/misc-basile/blob/master/compile-logged-gcc.sh


    L'utilisation serait de mettre un lien symbolique $HOME/bin/gcc -> $HOME/bin/logged-gcc et de même pour $HOME/bin/g++ et d'avoir $HOME/bin/
    dans son $PATH avant /usr/bin/


    Ensuite il faut initialiser la base SQLite (une seule fois) avec $HOME/bin/logged-gcc --sqlite=logged-gcc-db.sqlite


    Mais il me reste des bogues? Il y a-t-il une bonne âme pour m'aider?


    (les commentaires sont en anglais)


    librement

    --
    Basile Starynkevitch <basile@starynkevitch.net>
    (only mine opinions / les opinions sont miennes uniquement)
    92340 Bourg-la-Reine, France
    web page: starynkevitch.net/Basile/ & refpersys.org

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ken-Patrick@21:1/5 to Basile Starynkevitch on Sat Mar 11 13:40:01 2023
    Hello Basile,

    On 10/03/2023 19:57, Basile Starynkevitch wrote:
    Bonsoir,

    [...]

    Il est alors utile de pouvoir conserver la trace de toutes les
    compilations par GCC.

    [...]

    Est-ce que https://clang.llvm.org/docs/JSONCompilationDatabase.html et potentiellement https://github.com/rizsotto/Bear ne répondraient pas à
    ton besoin ? C'est à peu près standard il me semble.

    ++
    Ken-Patrick

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Basile Starynkevitch@21:1/5 to Ken-Patrick on Sat Mar 11 13:50:01 2023
    On 3/11/23 13:20, Ken-Patrick wrote:
    Hello Basile,

    On 10/03/2023 19:57, Basile Starynkevitch wrote:
    Bonsoir,

    [...]

    Il est alors utile de pouvoir conserver la trace de toutes les
    compilations par GCC.

    [...]

    Est-ce que https://clang.llvm.org/docs/JSONCompilationDatabase.html et potentiellement https://github.com/rizsotto/Bear ne répondraient pas à
    ton besoin ? C'est à peu près standard il me semble.



    Non. Pour des tas de raisons (y compris que j'ai personnellement
    contribué à GCC mais pas à Clang, que j'en connais donc assez bien les internes, et aussi pour des raisons de licence -je préfère la GPL à BSD)
    je souhaite explicitement utiliser GCC (dans mon esprit, GCC 12 en début
    2023, sur Debian ou autre Linux)

     Cordialement

    --
    Basile Starynkevitch <basile@starynkevitch.net>
    92340 Bourg-la-Reine, France
    http://starynkevitch.net/Basile/ and http://refpersys.org/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ken-Patrick@21:1/5 to Basile Starynkevitch on Sat Mar 11 17:30:02 2023
    On 11/03/2023 13:44, Basile Starynkevitch wrote:

    Non. Pour des tas de raisons (y compris que j'ai personnellement
    contribué à GCC mais pas à Clang, que j'en connais donc assez bien les internes, et aussi pour des raisons de licence -je préfère la GPL à BSD) je souhaite explicitement utiliser GCC (dans mon esprit, GCC 12 en début 2023, sur Debian ou autre Linux)

     Cordialement


    Hum, je n'ai peut-être pas été assez explicite.
    La compilation database, c'est juste un json contenant les commandes
    utilisées pour compiler chaque fichier d'un projet.
    bear peut te générer une compilation database quel que soit le
    compilateur ou le système de build utilisé (à noter que cmake sait le
    faire tout seul).
    Le format des compilations database est décrit dans la doc de clang,
    parce que c'est utilisé dans la plupart de leur outils, mais c'est tout.

    En plus, bear est en GPL ;-).

    ++
    Ken-Patrick

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Laurent Lyaudet@21:1/5 to All on Sat Mar 11 17:30:01 2023
    Bonjour Basile :)

    ça a l'air sympa de pouvoir garder une trace de toutes les
    compilations sans erreur.
    Je n'ai pas le temps de vous aider, mais merci d'avoir fait la
    promotion de votre outil :)

    Amicalement,
    Laurent Lyaudet

    Le ven. 10 mars 2023 à 19:57, Basile Starynkevitch
    <basile@starynkevitch.net> a écrit :

    Bonsoir,


    Il est naturel, quand on est fan de logiciel libre et de Debian (ou similaire), de compiler du logiciel libre (notamment en C ou C++) à
    partir de son code source, en utilisant (probablement) GCC (voir https://gcc.gnu.org/ ...)

    Il est alors utile de pouvoir conserver la trace de toutes les
    compilations par GCC.

    Aussi ai-je plus ou moins codé, en https://github.com/bstarynk/misc-basile/blob/master/logged-gcc.cc un utilitaire qui stocke dans une base sqlite les commandes de compilation
    avec leur détail. Ça se compile avec le script https://github.com/bstarynk/misc-basile/blob/master/compile-logged-gcc.sh


    L'utilisation serait de mettre un lien symbolique $HOME/bin/gcc -> $HOME/bin/logged-gcc et de même pour $HOME/bin/g++ et d'avoir $HOME/bin/ dans son $PATH avant /usr/bin/


    Ensuite il faut initialiser la base SQLite (une seule fois) avec $HOME/bin/logged-gcc --sqlite=logged-gcc-db.sqlite


    Mais il me reste des bogues? Il y a-t-il une bonne âme pour m'aider?


    (les commentaires sont en anglais)


    librement

    --
    Basile Starynkevitch <basile@starynkevitch.net>
    (only mine opinions / les opinions sont miennes uniquement)
    92340 Bourg-la-Reine, France
    web page: starynkevitch.net/Basile/ & refpersys.org

    --
    Pour connaître la configuration de la liste, gérer votre abonnement à la liste technique et vos informations personnelles :
    https://listes.april.org/wws/info/technique

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