Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation sur armv8 64bits #505

Open
JulienDamers opened this issue Mar 23, 2021 · 7 comments
Open

Compilation sur armv8 64bits #505

JulienDamers opened this issue Mar 23, 2021 · 7 comments

Comments

@JulienDamers
Copy link

JulienDamers commented Mar 23, 2021

Bonjour dans le cadre d'un projet je dois utiliser CODAC(et donc IBEX) avec GAOL sur une RPI3B+ (ARMv8) munie de Raspberry Pi OS 64bits. J'ai remarqué que la version de GAOL intégrée dans Ibex était trop ancienne pour supporter cette architecture (en particulier la version de mathlib, il faut minimum la version 2.1.1).

J'ai tout de même réussi en procédant de la façon suivante:

  • Installer une version suffisement récente de l'IBM Accurate Portable Mathematical Library via le lien donné par Frédéric Goualard https://frederic.goualard.net/software/mathlib-2.1.1.tar.gz
    l 'arcitecture ARM n'est supportée qu' à partir de la version 2.1.1

  • Installer la dernière version de GAOL (récupérée via GitHub)

  • Installer Ibex

  • Modifier 2 fichiers générés lors de l'installation:

FindGaol.cmake à la ligne 39 la regex est incorrecte il faut remplacer "gaol \"[0-9]+\.[0-9]+\.[0-9]+" par "gaol \"[0-9]+[.][0-9]+[.][0-9]+"

FindMathlib.cmake à la ligne 36 la regex est incorrecte il faut remplacer "mathlib [0-9]+\.[0-9]+\.[0-9]+" par mathlib [0-9]+[.][0-9]+[.][0-9]+"

(Pour faire simple il faut remplacer les occurences de "." par "[.]")

Ensuite tout fonctionne correctement

Serait-il possible de mettre à jour la version de gaol intégrée afin de pouvoir profiter des dernières amélioration directement ? Et possiblement éviter de faire toutes les étapes à la main pour une compilation sur ARM

@cyrilbouvier
Copy link
Contributor

Concernant la version de GAOL, est-ce que la version 4.2.2 (avec mathlib 2.1.1) fonctionne ou est-ce qu'il faut absolument la version de Github ?
On prévoit de mettre à jour la version de Gaol mais j'aimerais attendre la 4.2.3 qui contiendra deux commits de décembre 2020 corrigeants des petites erreurs que j'ai reporté.

Concernant les regex, je viens de tester et elles ont l'air de fonctionner. Qu'est ce que tu obtiens comme erreur ? Qui'est ce qui ne fonctionne pas si tu ne les modifies pas ?

@JulienDamers
Copy link
Author

JulienDamers commented Mar 24, 2021

Je n'ai pas testé avec la release 4.2.2. Je pense que c'est possible car c'est surtout la version de mathlib qui semble être le point bloquant.

Concernant les regex, lorsque j'essaie ensuite de compiler CODAC (anciennement tubex) en suivant la procédure donnée sur le site http://codac.io/install/01-installation-full-linux.html, j'obtiens une erreur de ce type :

in FindGaol.cmake line 39:
"\." is not a valid escape sequence

Avec un peu de recherche j'ai vu que "\." pouvait parfois être un problème et qu'il fallait le remplacer par "[.]"
https://www.ibm.com/support/pages/invalid-escape-sequence-regular-expression

@cyrilbouvier
Copy link
Contributor

J'ai fait les changements de regex dans le commit 7164a9e

Pour les changements de versions de Mathlib et Gaol, je fais tester voir si je peux passer les versions distribuées en 2.1.1 et 4.2.2. @gchabert Pas d'objections pour qu'on mette les nouvelles versions de MathLib et Gaol ?

@gchabert
Copy link
Contributor

@gchabert Pas d'objections pour qu'on mette les nouvelles versions de MathLib et Gaol ?

Non aucune bien sûr.

@raphaelchenouard
Copy link
Contributor

Vous l'avez probablement noté, mais au cas où : dans cette dernière version de Gaol, gdtoa n'est plus utilisé et peut être supprimé des scripts de compilation cmake/waf.

@Jordan08
Copy link
Member

Vous l'avez probablement noté, mais au cas où : dans cette dernière version de Gaol, gdtoa n'est plus utilisé et peut être supprimé des scripts de compilation cmake/waf.

Ça tombe bien, car l'interface avec AMPL ne compile pas avec Gaol, car les librairies ASL/AMPL et GAOL contiennent toutes les deux "dtoa".
Si "gdtoa" n'est plus dans GAOL, ça réglera le problème, et l'interface avec AMPL sera opérationnelle.

@cyrilbouvier
Copy link
Contributor

La version sans gdtoa n'est pas encore "sortie" (ça sera la version 4.2.3, la dernière version dispo est la 4.2.2), il y a donc 2 alternatives:

Sachang que pour simplifier les scripts CMake, je serais pour que la version 4.2.3 sans gdtoa soit la version minimal requise par Ibex.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants