-
Notifications
You must be signed in to change notification settings - Fork 0
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
Bug dans les liens avec cmake #4
Comments
Je vois que j'ai récupérer des truc de la branch master et pas de celle develop, nottamment tous le contenu des dossiers cmake.utils et cmake.install |
ça y est ça marche mieux J'ai mis a jour ASL car il y avec des oubli dans la version du depot grace à lui: Normalement, pour trouver ASL, il suffit de faire ça: mais ma compétence en cmake s'arrete là...... |
Je regarderai les scripts CMake quand j'aurais le temps. Quelques questions:
|
Je propose la chose suivante: il faudrait en fait qu'il n'y ait qu'un seul exécutable dans le package De cette façon une personne installant |
Autres questions:
|
Salut, Je n'avais pas vu qu'il y avait une autre version dans ibex-optim-extra. @gchabert Le problème s'est que AMPL demande un unique executable pour pouvoir utiliser ibexopt dans AMPL ou sur NEOS. Dans ce depot, j'ai copié le code ibexopt.cpp pour faire ibexopt-ampl.cpp Personnellement je n'aime pas ce nom ibexopt-ampl mais c'est un detail. Le problème s'est que dans AMPL le nom de l'exécutable est le nom de l'optimiseur.... a voir donc... Pour compiler ibex-ampl, il faut la libraire ASL et la librairie dl.
encore merci |
L'avantage de cette solution qu'une fois que ibexopt-ampl est compilé. On a plus besion des .nl Il sufffit de faire son model AMPL dans le logiciel AMPL, c'est-à-dire on écrit le fichier "exemple.mod" et le résultat s'affiche dans AMPL. |
Est-ce que la bibliothèque |
La bibliothèque sert aussi pour |
Sinon, je comprends ce que tu dis Jordan pour l'exécutable. |
J'ai commité une première version de la détection et de l'installation automatique de la lib ASL. |
Les scripts CMake de |
Si on intègre L'idéal serait peut-être de garder un package séparé et que l'exécutable du package |
Je pense qu'une intégration dans le noyau serait le plus simple à l'utilisation. Normalement j'ai codé l'interface pour qu'il n'y ait pas besoin des fichiers .h de ASL, il suffit juste d'ajouter " -lasl -ldl " Par contre, faut vraiment que l'install de ASL marche nickel partout |
Effectivement un script posera des problèmes sous Windows. Ce qui m'embête c'est le côté visiblement assez artisanal d'ASL vu les problèmes que tu décris. Et rajouter une dépendance est toujours lourd en terme de maintenance. Surtout que là, ne s'agissant pas d'un paquet standard, j'imagine qu'il est plus difficile de contrôler la version qui est installée pour assurer la compatibilité. Mais bon, je comprends bien l'intérêt...
Je suis pour que l'on vire tout ce dont on n'a pas besoin :D |
Le code de la librairie ASL est stable et bien mis à jour sur Netlib: https://ampl.com/dl/ampl.updates.html Par contre l'installateur cmake est pas super. Je l'ai récupéré d'un dépot mais ça n'a pas l'air maintenu. Le seul truc maintenu est le "configure" Pour simplifier tout ça, je propose d'installer toujours notre ASL avec l'archive asl.tar.gz que je viens de mettre à jours. Comme ça, on peut controler que tout se passe bien avec les bon nom de librairie et les bons liens. voici le copyright des fichiers de ASL: /******************************************************************* |
` bash: cmake .. -DCMAKE_INSTALL_PREFIX=../../OUT3 -DCMAKE_PREFIX_PATH=/home/XXXXX/IBEX/GIT_IBEX/OUT3/ -DASL_DIR='/home/XXXXX/IBEX/GIT_ASL/OUT/'
-- The CXX compiler identification is GNU 9.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Ibex version 2.8.9.1
-- Running on system Linux-5.8.0-36-generic with processor x86_64
-- Using CMake 3.16.3
-- C++ compiler: GNU 9.3.0
-- Will build static libraries
-- Setting build type to 'Release' as none was specified.
-- Ibex was compiled with interval library Filib 3.0.2.2
-- Ibex was compiled without any Linear Programming library
-- Looking for asl/asl.h
-- Looking for asl/asl.h -- found at /home/XXXXX/IBEX/GIT_ASL/OUT/include
-- Looking for asl
-- Looking for asl -- found at /home/XXXXX/IBEX/GIT_ASL/OUT/lib/libasl.a
-- Could NOT find CppUnit (missing: CPPUNIT_LIBRARY CPPUNIT_INC_DIR)
-- Will not run tests, required cppunit library was not found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/XXXXX/IBEX/GIT_AMPL/ibex-ampl/build
bash:~/XXXXX/IBEX/GIT_AMPL/ibex-ampl/build$ make
Scanning dependencies of target ibex-ampl
[ 25%] Building CXX object src/CMakeFiles/ibex-ampl.dir/system/ibex_AmplInterface.cpp.o
/home/XXXXX/IBEX/GIT_AMPL/ibex-ampl/src/system/ibex_AmplInterface.cpp:18:10: fatal error: asl/asl.h: Aucun fichier ou dossier de ce type
18 | #include "asl/asl.h"
| ^~~~~~~~~~~
compilation terminated.
make[2]: *** [src/CMakeFiles/ibex-ampl.dir/build.make:63 : src/CMakeFiles/ibex-ampl.dir/system/ibex_AmplInterface.cpp.o] Erreur 1
make[1]: *** [CMakeFiles/Makefile2:966 : src/CMakeFiles/ibex-ampl.dir/all] Erreur 2
make: *** [Makefile:141 : all] Erreur 2`
The text was updated successfully, but these errors were encountered: