Accueil > CmathOOoCAS > Compiler CmathOOoCAS

Compiler CmathOOoCAS

mardi 25 juillet 2023, par Christophe Devalland

Voici les étapes pour compiler et installer l’extension CmathOOoCAS sur votre distribution Linux. Ce qui suit est à adapter à votre numéro de version de LibreOffice.

Installer la librairie GIAC

Il y plusieurs méthodes :
 Le plus simple est de compiler la version disponible sur le site XCAS, ce qui apporte tout ce qu’il faut et permet d’avoir la version la plus à jour. En plus vous aurez un chouette logiciel.
 Vous pouvez utiliser le package fourni avec votre distribution mais assurez-vous que les fichiers "header" de giac soient bien installées en plus des exécutables (vérifier la présence d’un répertoire /usr/include/giac). Ils sont en effet nécessaires à l’étape de la compilation de l’extension.
 Sur des distributions récentes (c’est le cas avec Linux Mint 21.2), il est possible d’installer uniquement les paquets libgiac0 et libgiac-dev mais vous n’aurez pas XCAS.

Installer LibreOffice en version au moins égale à 7.1 et le SDK lui correspondant

Les distributions fournissent une version packagée de LibreOffice qui ne permet pas de terminer la compilation et qui sont rarement mises à jour. Il y a donc tout à gagner à supprimer tout ce qui concerne libreoffice et libuno avec votre gestionnaire de paquet et de vous rendre sur le site LibreOffice pour télécharger et installer les quatre paquets qui conviennent à votre système :

  1. le programme LibreOffice,
  2. l’interface utilisateur dans votre langue (facultatif),
  3. l’aide pour l’utilisation hors ligne (facultatif),
  4. le ’SDK et code source’ (lien présent sur la même page)

Configurer le SDK de LibreOffice

Ouvrir un terminal et taper :

cd /opt/libreoffice7.4/sdk
sh setsdkenv_unix

Choisir les réponses proposées par défaut, sauf pour l’autodéploiement des composants UNO : répondre NO.

Compiler CmathOOoCAS avec le SDK

 Télécharger les sources de CmathOOoCAS,
 Créer un répertoire et y dézipper les sources,
 Ouvrir un terminal dans ce répertoire et taper /opt/libreoffice7.4/sdk/setsdkenv_unix, ce qui devrait renvoyer à peu de choses près :

************************************************************************
 *
 * SDK environment is prepared for Linux
 *
 * SDK = /opt/libreoffice7.4/sdk
 * Office = /opt/libreoffice7.4/sdk/..
 * Make = /usr/bin
 * Zip = /usr/bin
 * cat = /usr/bin
 * sed = /usr/bin
 * C++ Compiler = /usr/bin
 * Java = 
 * SDK Output directory = /home/chris/libreoffice7.4_sdk
 * Auto deployment = NO
 *
 ************************************************************************


 Taper make
 S’il n’y a pas d’erreur, la librairie ainsi compilée CmathOOoCAS.uno.so se trouve dans ~/libreoffice7.4_sdk/LINUXexample.out/lib/

Installer l’extension

 Enregistrer CmathOOoCAS.oxt dans un répertoire et l’ouvrir avec un gestionnaire d’archive (malgré l’extension oxt, c’est un fichier zip). Ne pas extraire les fichiers, juste ouvrir l’archive pour afficher son contenu. Se déplacer dans le répertoire Linux_x86_64.
 Remplacer le fichier /Linux_x86_64/CmathOOoCAS.uno.so de l’archive par celui obtenu par compilation. Il suffit de glisser déposer le nouveau fichier dans l’archive.
 Double-cliquer sur CmathOOoCAS.oxt pour l’installer.

Toujours pas ?

Il se peut que l’installation échoue à cause de quelques librairies manquantes. Pour le savoir, suivre cette démarche :
Ouvrir un terminal dans le répertoire contenant la librairie compilée CmathOOoCAS.uno.so et taper ldd CmathOOoCAS.uno.so. Voici ce que j’ai sur ma distribution Linux Mint 21.2 :

ldd CmathOOoCAS.uno.so 
	linux-vdso.so.1 (0x00007ffd25fe9000)
	libuno_cppuhelpergcc3.so.3 => not found
	libgiac.so.0 => /home/chris/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu51395immg6.tmp_/CmathOOoCAS.oxt/Linux_x86_64/./libgiac.so.0 (0x00007fb1a4990000)
	libuno_cppu.so.3 => not found
	libuno_sal.so.3 => not found
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb1a4766000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb1a4744000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb1a451c000)
	libntl.so.44 => /lib/x86_64-linux-gnu/libntl.so.44 (0x00007fb1a42af000)
	libpari-gmp-tls.so.7 => /lib/x86_64-linux-gnu/libpari-gmp-tls.so.7 (0x00007fb1a37a7000)
	libgsl.so.27 => /lib/x86_64-linux-gnu/libgsl.so.27 (0x00007fb1a34e8000)
	libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007fb1a34ad000)
	libmpfi.so.0 => /lib/x86_64-linux-gnu/libmpfi.so.0 (0x00007fb1a3491000)
	libmpfr.so.6 => /lib/x86_64-linux-gnu/libmpfr.so.6 (0x00007fb1a31e2000)
	libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fb1a3160000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb1a3079000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fb1a60be000)
	libgf2x.so.3 => /lib/x86_64-linux-gnu/libgf2x.so.3 (0x00007fb1a306a000)
	libgslcblas.so.0 => /lib/x86_64-linux-gnu/libgslcblas.so.0 (0x00007fb1a3026000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fb1a300a000)

Rechercher les "not found" et installer les librairies manquantes avec votre gestionnaire de paquets favori.
Ne pas tenir compte des "not found" concernant les "libuno_*". Ces librairies sont propres à LibreOffice et ne sont visibles que par lui.
Lorsqu’il ne reste plus aucun "not found", retenter l’installation en double cliquant sur le fichier CmathOOoCAS.oxt.
Si cela ne fonctionne toujours pas, me contacter.

Un message, un commentaire ?

Forum sur abonnement

Pour participer à ce forum, vous devez vous enregistrer au préalable. Merci d’indiquer ci-dessous l’identifiant personnel qui vous a été fourni. Si vous n’êtes pas enregistré, vous devez vous inscrire.

ConnexionS’inscriremot de passe oublié ?