Faire marcher Freenet sur FreeBSD

[lienbillet seul]

Bonjour,
Si vous n'arrivez pas à démarrer le routeur Freenet sur FreeBSD version 12.3 et que vous avez une erreur semblable à ceci:

Your java executable at /usr/local/bin/java is a script... looking for alternatives...
Your java executable at /usr/local/openjdk8/jre/bin/java seems suitable
Unable to locate any of the following binaries:
    /usr/home/freenet/app/./bin/wrapper-freebsd-x86-64
    /usr/home/freenet/app/./bin/wrapper
Starting Freenet 0.7...

Let's start the node without the wrapper, you'll have to daemonize it yourself.
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jna/Platform
    at freenet.support.ProcessPriority.enterBackgroundMode(ProcessPriority.java:63)
    at freenet.node.NodeStarter.main(NodeStarter.java:264)
Caused by: java.lang.ClassNotFoundException: com.sun.jna.Platform
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    ... 2 more

Vous avez besoin d'installer le paquet javaservicewrapper et copier le binaire du wrapper dans le dossier ou vous avez installé Freenet. Dans notre exemple, ça serait donc /usr/home/freenet/app/bin/wrapper:

pkg install javaservicewrapper
cp /usr/local/lib/javaservicewrapper/bin/wrapper /usr/home/freenet/app/bin/wrapper
chmod 755 /usr/home/freenet/app/bin/wrapper

Relancez le routeur grâce au script run.sh ou le script rc.d pour FreeBSD (n'oubliez pas d'éditer le chemin du script run.sh et du répertoire s'il ne convient pas déjà). Ici, on va utiliser le script rc.d et je devrais noter qu'il faut insérer freenet_enable="YES" dans le /etc/rc.conf:

$ service freenet start
Your java executable at /usr/local/bin/java is a script... looking for alternatives...
Your java executable at /usr/local/openjdk8/jre/bin/java seems suitable
Starting Freenet 0.7...