compil giac

Librairie C++ de calcul formel/ C++ symbolic computation library

Modérateur : xcasadmin

cdeval
Messages : 192
Inscription : mer. juin 03, 2009 4:28 pm

compil giac

Message par cdeval » jeu. avr. 22, 2010 10:49 pm

Salut,
je repars sur le forum car cela pourrait intéresser d'autres personnes.
non, je pense plutot que c'est parce que la mienne contient pas
mal de dependances en statique, meme si ca semble donner la meme
chose avec ldd, par exemple pas de dependance envers libgmp,
libgsl, libpari, etc., ce qui expliquerait la taille plus grande
pour la mienne bien que non optimisee, mais ca peut aussi venir du
-g chez moi
J'ai repris la libgiac.so fournie par le dépot et tout fonctionne parfaitement, aussi bien en 32 qu'en 64 bits. J'ai bien la nouvelle fonctionnalité "fonction xxxx" :D .
Merci donc pour ton aide.

J'ai quand même essayé de comprendre ce qui se passe.
J'ai recompilé avec -g en 64 bits mais à part la taille qui passe de 7,8Mo à 31Mo, ça ne passe pas mieux dans OOo. Donc tu dois avoir raison, il y a des librairies présentes dans ta libgiac.so que je n'ai pas quand je compile sur mon PC. Ce qui est surprenant, c'est qu'en dehors de OOo, ma librairie fonctionne... enfin, je ne vais pas trop chercher de ce côté.

J'ai vu par contre une différence entre ta libgiac 32bits et la 64 bits.
Effectivement avec la 32 bits, un ldd montre qu'il n'y a plus de dépendances avec libgmp, libgsl, libpari, libreadline. Et ça m'arrange bien parce que j'avais été amené à mettre dans mon extension la librairie libreadline.so.5 car son absence bloquait l'install de mon extension. Des utilisateurs m'ont rapporté aussi un autre blocage d'installation et après leur avoir donné la piste du ldd, ils ont vu que c'était libpari-gmp.so.2 qui manquait. Ils l'ont installé et c'est passé. Finalement, ça m'intéresse d'avoir une librairie plutôt statique pour que je n'aie pas à m'occuper de rajouter telle ou telle librairie qui serait pas installée par défaut sur telle ou telle distrib linux.
Mais peux-tu me dire quelle option je peux passer à la compilation pour produire une telle librairie qui serait moins dynamique que la mienne ? Comment produis-tu la tienne dans les fichiers deb ?
D'autre part, ta libgiac 64 bits contient plus de dépendances que la 32 bits (ce qui explique le 12,2Mo contre 16,8Mo) mais ça passe dans OOo. En particulier, libreadline, libgmp, libgsl, libpari sont toujours nécessaires me semble-t-il dans la 64 bits (d'après ldd). Ce serait bien si je pouvais avoir le même niveau d'indépendance que la 32 bits en sachant la compiler pour éviter de te déranger :wink:
Voilà ou j'en suis dans mes recherches.

(ci-joint un document où j'ai comparé la sortie ldd entre ta libgiac et la mienne.)
A+
Pièces jointes
compil giac 64 bits.odt.zip
(10.63 Kio) Téléchargé 166 fois

parisse
Messages : 5743
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: compil giac

Message par parisse » ven. avr. 23, 2010 7:53 am

Alors, pour compiler ma version de la libgiac 32 bits le plus statique possible, j'ai installe a la main dans /usr/local les versions statiques des librairies dependantes, apres les avoir supprimees du systeme (donc j'ai enleve par exemple gmp de la base apt-get). J'ai pu presque tout supprimer sauf la libreadline qui est trop indispensable aux autres applis pour pouvoir etre enlevee du systeme.
Je ne l'ai pas fait pour la version 64 bits, en supposant que les gens qui ont un linux 64 bits ont aussi acces a tous les paquets necessaires, ce qui n'etait pas forcement vrai pour les vieux linux en 32 bits. Ce qui est bizarre, c'est que la libgiac 64 bits fonctionne aussi bien que la 32 statique avec openoffice, mais c'est peut-etre une question a poser cote openoffice, comment il gere les dependances des librairies quand il les charge (est-ce qu'il utilise le fichier .la par exemple).

cdeval
Messages : 192
Inscription : mer. juin 03, 2009 4:28 pm

Re: compil giac

Message par cdeval » ven. avr. 23, 2010 12:05 pm

OK, je comprends mieux.
Je ne vais pas me lancer dans ce genre de compilation parce que j'ai peur de mettre mon système en vrac. Je vais garder tes deux ligbiac pour mon extension et compléter la 64 bits avec libpari-gmp et libreadline qui peuvent être bloquants à l'install.
Par contre pour la 32 bits tu me dis que libreadline est encore une dépendance mais je ne la vois pas avec ldd. Cela veux dire que je ne suis pas obligé de la fournir aux côtés de libgiac ?

J'ai par ailleurs refait quelques tests avec ma libgiac64 dont toutes les dépendances sont satisfaites sur mon système et qui pourtant bloque l'install de mon extension dans OOo. Malheureusement, OOo n'est pas bavard sur le pourquoi du blocage et je n'en sais pas plus. J'ai essayé de rajouter les 4 librairies qui étaient en plus dans les dépendances par rapport à ta libgiac mais ça ne marche pas mieux.
Comme j'aimerais bien comprendre ce qui se passe vraiment, je vais me tourner vers la liste de diffusion des développeurs OOo pour voir.
La dernière fois que j'avais ce genre de problème c'était des librairies manquantes mais comme là, ldd ne me renvoie pas d'erreurs.... je suis dans le noir.

Heureusement que j'ai tes compilations, surtout ne change rien !

parisse
Messages : 5743
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: compil giac

Message par parisse » ven. avr. 23, 2010 1:17 pm

oui, libreadline n'est pas utilisee par libgiac mais par l'interface en ligne de commande (icas).

Répondre