Projet

Général

Profil

Anomalie #358

compilation

Ajouté par Julien Troufflard il y a plus d'un an.

Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
20/06/2023
Echéance:
% réalisé:

0%

Temps estimé:

Description

Gérard,

j'ai fait une tentative de compilation pour voir.
Je suis sur ubuntu 22.04. Résultat de "uname -a" :

Linux mon_bled 5.19.0-45-generic #46~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jun 7 15:06:04 UTC 20 x86_64 x86_64 x86_64 GNU/Linux

j'ai récupéré les sources de ton dernier mail ainsi que les bibliothèques supplémentaires (IML, Muparser, etc...)
concernant boost, j'avais déjà la libboost installée sur ma machine en version 1.74.0. Je n'ai pas trouvé les fichiers sources, je les ai donc téléchargées depuis son git en choisissant la branche 1.74.0 en espérant être cohérent avec ma machine.

J'ai bidouillé le makefile pour y mettre les chemins et choisi les options de compilation pour créer une version fast.

concernant l'ide, j'ai voulu essayer Visual Studio code, puis Eclipse. Mais au final, j'ai préféré choisir un ide qui s'installe naturellement avec apt-get (un peu étrange mais je n'ai pas trouvé d'apt-get pour Eclipse, bref...)
Mon choix s'est porté sur KDevelop (Code Blocks étant parfois déconseillé sur divers forums) ... bon sans conviction, on verra bien...

De nombreux messages d'erreur pour l'instant et aucune idée de comment corriger.

si ça peut t'inspirer une piste pour m'aider, j'ai joint 2 fichiers :
- le fichier make.log => il s'agit d'une tentative de make sans passer par un ide (la redirection n'est pas très propre à cause de caractères spéciaux. Je l'ai remis sous forme d'imprim écran dans make.png)
- le fichier make_ide.log => le même makefile (à quelques différences près dans les chemins) mais lancé depuis un ide (mais dans les faits, c'est la commande make qu'il lance, donc logiquement ça devrait donner pareil)

on voit qu'il y a des points communs au début. A noter ensuite l'absence du fichier nrutil.h dans le cas make_ide.log (fichier introuvable) alors que dans l'autre cas il n'en parle pas.

bref, on peut regarder déjà le cas sans ide. Je vais pas lister le contenu mais quelques commentaires ci-dessous :

1) pour la toute première erreur du fichier make.log, il s'agit carrément d'une erreur dans un fichier de mon système (fichier c++ de base)
==> fichier : /usr/include/c++/11/bits/stl_iterator.h
une histoire de type de variable inconnu
il y a d'autres erreurs liées à ce fichier (qui a l'air d'être appelé par le fichier herezh TypeBase/PtTabRel.cc et .h)
plutôt inquiétant qu'il pointe une erreur vers un fichier qui n'est même pas un fichier source herezh
mais plutôt rassurant car il n'y a pas 50 erreurs de ce type.

2) plus loin, on trouvera une erreur liée à un nombre d'arguments dans un template (error: wrong number of template arguments)

3) plus loine encore, il y a un affichage du style : /usr/include/c++/11/new:126:52: error: ISO C++17 does not allow dynamic exception specifications

pour cette erreur, une recherche rapide sur internet m'évoque un problème d'utilisation de "standard ancien", i.e d'ancienneté du code par rapport au standard c++ actuel.
un peu du chinois pour moi. Mais je note que sur la machine virtuelle herezh, effectivement la version gcc est 5 ou 6. Là, je suis avec un gcc 11. Tu as d'ailleurs évoqué
lors de la formation que Bertrand t'avait fait remarquer l'ancienneté du système linux que tu utilisais.

Il me vient alors questions et remarques peut-être hors sujet parce que je n'y comprends pas grand chose pour l'instant :
Les sources de Herezh ne sont pas différentes entre la version linux et Mac n'est-ce pas ?
Que le code se compile sur un vieux linux est une chose. Mais il me semble que sur ton mac, tu es à peu près à jour au niveau des versions d'OS, et donc les compilateurs également (XCode).
Comment se fait-il qu'il faudrait un "vieux" gcc sous linux alors que ça fonctionnerait avec les mêmes sources compilées avec un XCode récent sur Mac ?

début d'un long chemin...

a+
Julien


Fichiers

make.log (6,44 ko) make.log Julien Troufflard, 20/06/2023 14:24
make_ide.log (50,4 ko) make_ide.log Julien Troufflard, 20/06/2023 14:24
make.png (186 ko) make.png Julien Troufflard, 20/06/2023 14:27

Aucune donnée à afficher

Formats disponibles : Atom PDF

Redmine Appliance - Powered by TurnKey Linux