Merci pour le coup de main. Je me pose toutefois encore une question. A force de bricoler j'arrive à obtenir quelque chose
mais j'aimerais une précision si quelqu'un peut m'aider. Voici le PKGBUILD que j'ai:
Code : Tout sélectionner
pkgname=geogebra5-beta
pkgver=4.9.273.0
pkgrel=1
pkgdesc="Dynamic mathematics software with interactive graphics (2D and 3D), algebra and spreadsheet"
arch=('i686' 'x86_64')
url="http://www.geogebra.org/"
license=('GPL3 CCPL:by-nc-sa')
depends=('java-runtime' 'desktop-file-utils' 'hicolor-icon-theme' 'gsl' 'xdg-utils')
optdepends=()
conflicts=('gnome-thumbnailer-geogebra' 'kde-thumbnailer-geogebra' 'geogebra')
install='geogebra5-beta.install'
source=("http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${pkgver}.tar.bz2")
md5sums=('9b6d0fa09d33bf960764419cd931558b')
package() {
cd "${srcdir}/GeoGebra-Linux-Portable-${pkgver}/geogebra/"
install -dm 755 "${pkgdir}/usr/bin"
install -dm 755 "${pkgdir}/usr/share/geogebra5-beta"
install -dm 755 "${pkgdir}/usr/share/geogebra5-beta"
cp ./geogebra "${pkgdir}/usr/bin"
cp *jar "${pkgdir}/usr/share/geogebra5-beta"
cp *txt "${pkgdir}/usr/share/geogebra5-beta"
}
Si j'exécute après avoir installé, voici ce que j'obtiens:
Code : Tout sélectionner
$ geogebra
Error: Could not find or load main class geogebra.GeoGebra3D
J'en déduis qu'il y a une classe qu'il ne trouve pas. Détail: je ne développe pas en java, je sais juste que CLASSPATH sert à déterminer où chercher les bibliothèques. J'ai repris le code du
wiki et j'ai fait:
Code : Tout sélectionner
$ for name in /usr/share/geogebra5-beta/*.jar; do CP=$CP:$name; done
ensuite
Et j'obtiens toujours
Code : Tout sélectionner
$ geogebra
Error: Could not find or load main class geogebra.GeoGebra3D
Si je modifie mon PKGBUILD comme ceci:
Code : Tout sélectionner
package() {
cd "${srcdir}/GeoGebra-Linux-Portable-${pkgver}/geogebra/"
install -dm 755 "${pkgdir}/usr/bin"
install -dm 755 "${pkgdir}/usr/share/geogebra"
install -dm 755 "${pkgdir}/usr/share/geogebra"
cp ./geogebra "${pkgdir}/usr/bin"
cp *jar "${pkgdir}/usr/share/geogebra"
cp *txt "${pkgdir}/usr/share/geogebra"
}
Donc je copie dans
${pkgdir}/usr/share/geogebra
au lieu de
${pkgdir}/usr/share/geogegbra5-beta
et ça fonctionne. Dois-je supposer que la variable CLASSPATH n'a aucune influence et que le chemin doit être obligatoirement celui-là ? J'ai trouvé des liens qui mentionnent que dans certaines conditions, CLASSPATH n'a aucune influence. C'est
ici.
Its also worth noting that when you use the java -jar command line option to run your Java program as an executable JAR, then the CLASSPATH environment variable will be ignored, and also the -cp and -classpath switches will be ignored.
Si je me pose la question, c'est parce que j'aurai un autre paquet à faire pour un programme java et que dans le wiki ils conseillent d'installer les fichiers *jar dans
/usr/share/java/geogebra
.
Note: je viens de remarquer que si je crée un script:
Code : Tout sélectionner
#!/bin/sh
exec "$JAVA_HOME/bin/java" -jar '/usr/share/geogebra5-beta/geogebra.jar' "$@"
Ca fonctionne. Mais comme on est censé démarrer le programme avec
/usr/bin/geogebra
ça ne me paraît pas une alternative. Et je ne comprends toujours pas ce qui se passe.
