Page 1 sur 1
[etherpad] Problème lors du build (résolu)
Publié : mer. 19 janv. 2011, 04:03
par ManUtopiK
Bonjour,
j'essaye d'installer etherpad sur mon archlinux.
Après un "yaourt etherpad", je choisi la dernière version.
Toutes les dépendances sont bien installées.
Mais lors du build, j'obtiens cette erreur :
Code : Tout sélectionner
grep: /tmp/yaourt-tmp-manu/aur-etherpad-git/src/etherpad/etherpad/etc/etherpad.localdev-default.properties: Aucun fichier ou dossier de ce type
grep: /tmp/yaourt-tmp-manu/aur-etherpad-git/src/etherpad/etherpad/etc/etherpad.localdev-default.properties: Aucun fichier ou dossier de ce type
grep: /tmp/yaourt-tmp-manu/aur-etherpad-git/src/etherpad/etherpad/etc/etherpad.localdev-default.properties: Aucun fichier ou dossier de ce type
/tmp/yaourt-tmp-manu/aur-etherpad-git/./PKGBUILD: line 62: cd: /tmp/yaourt-tmp-manu/aur-etherpad-git/src/etherpad/: Aucun fichier ou dossier de ce type
J'avoue que l'installation d'etherpad me dépasse un peu, mais j'aime bien les défis !
Quelqu'un a-t-il déjà installé ce superbe outil qu'est etherpad ?
D'où vient le problème ?
Re: [etherpad] Problème lors du build
Publié : mer. 19 janv. 2011, 09:49
par FoolEcho
Dans le PKGBUILD il faut décommenter le premier passage concernant le rapatriement de la version de contrôle courante d'etherpad dans la fonction build (ou alors j'ai raté un épisode... pourquoi est-ce donc commenté ?

)
Je n'ai pas testé plus loin (j'ai pas installé le java de Sun/Oracle d'ailleurs vu que j'utilise "l'autre")... D'ailleurs, tout comme l'a dit farvardin dans les commentaires sur Aur (je suppose que c'est le même que chez nous ^^), je n'apprécie pas trop que ce build force l'usage du jre de Sun alors qu'OpenJDK ferait probablement tout aussi bien l'affaire (à moins qu'un truc vicieux m'ait échappé) :scala, l'une des dépendances, se fiche d'ailleurs de savoir quel jre est présente ... et le mysql-connector-java fonctionne très bien sous openjdk: il suffirait de patcher "etherpad.sh" .
Re: [etherpad] Problème lors du build
Publié : mer. 19 janv. 2011, 19:39
par ManUtopiK
Merci, génial ! Le build a réussi. Tout est maintenant installé.
Maintenant je bloque de nouveau

J'ai bien trouvé de l'aide pour l'installation, mais je pense que ça ne colle pas avec Archlinux.
http://www.webdevonlinux.fr/2010/03/ins ... e-serveur/
yaourt a installé etherpad dans /opt/etherpad
J'ai bien une base sql etherpad mais sans table.
Dans leur explication, je ne comprend pas bien où doit se situer le fichier export.sh et je pense que les paths ne sont pas pour archlinux...
De plus, comme le je l'ai installé avec yaourt, est-ce que je dois faire le rebuildjar ?
Désolé, je suis sur archlinux depuis quelques mois seulement et je m'attaque à un truc de fou...
Re: [etherpad] Problème lors du build
Publié : mer. 19 janv. 2011, 19:55
par FoolEcho
La fonction du build est justement de faire les étapes d'installation, depuis les exports jusqu'à la compilation. Donc tu devrais avoir dans /opt/etherpad le script pour lancer etherpad sans te soucier du reste.
Je vais l'installer pour voir.
EDIT1:
Par défaut, les scripts à lancer sont dans /opt/etherpad/etherpad/bin/ et il faut les lancer depuis /opt/etherpad/etherpad/ sinon les chemins sont foireux...
J'ai créé la base de données sur mysql comme indiqué.
Ai lancé run-local.sh (il m'a fallu modifier etc/etherpad.localdev-default.properties -- en plus, j'ai viré l'autre par mégarde

-- avec les passwords pour que ça marche ... où est passé celui rentré lors de l'installation par yaourt ?

)
La base est bien remplie et le serveur se lance sur le port donné dans l'installation.
...bon après, côté interface web, je tombe sur une JSRuntimeException (l'effet OpenJDK ? ... bien que la compilation se soit bien passée ?

).
EDIT2:
Attention, le PKGBUILD est très mal fait car le mysql-connector-java (version obsolète au passage) n'est pas copié dans /opt/etherpad/ comme indiqué dans le /etc/profile.d/etherpad.sh (j'en ai un dans mon classpath "heureusement"). Je m'en suis rendu compte en voulant tester le rebuild.sh . Donc, si tu as des problèmes de connexion à ta base, pense à rajouter le mysql-connector-java dans ton PATH (ou directement dans /opt/etherpad/ ).
Tu m'excuseras, j'ai la flemme de tester avec le jre de Sun ce soir...

Re: [etherpad] Problème lors du build
Publié : jeu. 20 janv. 2011, 03:36
par ManUtopiK
Yes, merci de prendre le temps de l'installé et de comprendre
Donc si je comprend bien, le rebuildjar est fait par yaourt.
J'avais pigé les chemins foireux. Par contre mon etc/etherpad.localdev-default.propertie est bien celui entré lors de l'installation avec yaourt.
J'ai copié le fichier mysql-connector-java-5.1.11.jar dans /opt/etherpad/ mais ça ne marche toujours pas
Voici ce que j'ai :
Code : Tout sélectionner
# sudo bin/run-local.sh
Maximum ram: 773M
Maximum thread count: 193
Using config file: ./etc/etherpad.localdev-default.properties
profile -> false
ajstdlibHome -> ../infrastructure/framework-src/modules
listenPort -> 9000
listenSecurePort -> 0
verbose -> false
devMode -> true
listenMonitoring -> 0:0
maxThreads -> 193
listenHost ->
listenSecureHost ->
sslKeyStore -> ./data/appjet/sslkeystore
sslStorePassword -> appjet
sslKeyPassword -> appjet
preloadRunners -> 0
listenSarsPort -> 0
sarsAuthKey -> appjet
listenSarsHost ->
configFile -> ./etc/etherpad.localdev-default.properties
logDir -> ./data/logs
transportPrefix -> /comet
disableShortPolling -> false
transportUseWildcardSubdomains -> true
smtpPass ->
smtpUser ->
smtpServer -> localhost:25
appjetHome -> ./data/appjet
licenseGeneratorKey -> null
listenSars -> 0
listenMonitoringSecondaryPort -> 0
listenMonitoringPrimaryPort -> 0
listenMonitoringHost ->
listenSecure -> 0
listen -> 9000
hidePorts -> false
jdbcPoolSize -> 10
sessionStoreDir -> ./data/appjet/sessions
useVirtualFileRoot -> ./src
modulePath -> ./src
useHttpsUrls -> false
appHome ->
derbyHome -> ./data/appjet/derbydb
topdomains -> localhost,localhost
etherpad.SQL_JDBC_DRIVER -> com.mysql.jdbc.Driver
showLinkandLicense -> true
etherpad.soffice -> /usr/bin/soffice
customEmailAddress -> support@etherpad.org
alwaysHttps -> false
etherpad.adminPass -> manu
motdPage -> /ep/pad/view/ro.3PfHCD0ApLc/latest?fullScreen=1&slider=0&sidebar=0
etherpad.isProduction -> false
theme -> default
customBrandingName -> Etherpad v1.1
etherpad.SQL_JDBC_URL -> jdbc:mysql://localhost:3306/etherpad
etherpad.SQL_USERNAME -> etherpad
etherpad.SQL_PASSWORD -> password
etherpad.proAccounts -> true
etherpad.fakeProduction -> false
Using mysql database type.
Startup execution failed with non-200 response: 500
net.appjet.bodylock.JSRuntimeException: Error while executing: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at net.appjet.bodylock.InnerExecutable.execute(bodylock.scala:84)
at net.appjet.oui.execution$$anonfun$execute$4.apply(execution.scala:508)
at net.appjet.oui.NoninheritedDynamicVariable.withValue(dynamicvar.scala:38)
at net.appjet.oui.ExecutionContextUtils$.withContext(execution.scala:334)
at net.appjet.oui.execution$.execute(execution.scala:504)
at net.appjet.oui.execution$.runOutOfBand(execution.scala:631)
at net.appjet.oui.main$.runOnStartup(main.scala:102)
at net.appjet.oui.main$.main(main.scala:266)
at net.appjet.oui.main.main(main.scala)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1119)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2257)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:784)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:354)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:284)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:119)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:143)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:132)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.initializeAutomaticTestTable(C3P0PooledConnectionPoolManager.java:772)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.createPooledConnectionPool(C3P0PooledConnectionPoolManager.java:696)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.getPool(C3P0PooledConnectionPoolManager.java:257)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.getPool(C3P0PooledConnectionPoolManager.java:271)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
at net.appjet.ajstdlib.SQLBase.getConnectionFromPool(sqlbase.scala:73)
at net.appjet.ajstdlib.SQLBase.withConnection(sqlbase.scala:89)
at net.appjet.ajstdlib.SQLBase.<init>(sqlbase.scala:159)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.mozilla.javascript.MemberBox.newInstance(MemberBox.java:184)
at org.mozilla.javascript.NativeJavaClass.constructSpecific(NativeJavaClass.java:274)
at org.mozilla.javascript.NativeJavaClass.construct(NativeJavaClass.java:193)
at org.mozilla.javascript.ScriptRuntime.newObject(ScriptRuntime.java:2267)
at JS$module$sqlbase$sqlcommon$js$16._c2(module sqlbase/sqlcommon.js:29)
at JS$module$sqlbase$sqlcommon$js$16.call(module sqlbase/sqlcommon.js)
at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:86)
at JS$module$main$js$8._c1(module main.js:78)
at JS$module$main$js$8.call(module main.js)
at org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:119)
at JS$onstartup._c0(onstartup.js:18)
at JS$onstartup.call(onstartup.js)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:401)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3004)
at JS$onstartup.call(onstartup.js)
at JS$onstartup.exec(onstartup.js)
at net.appjet.bodylock.InnerExecutable$$anonfun$execute$1.apply(bodylock.scala:76)
at net.appjet.bodylock.InnerExecutable$$anonfun$execute$1.apply(bodylock.scala:75)
at net.appjet.bodylock.BodyLock$.runInContext(bodylock.scala:111)
at net.appjet.bodylock.InnerExecutable.execute(bodylock.scala:75)
... 8 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1119)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:343)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2178)
... 52 more
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at java.net.Socket.<init>(Socket.java:375)
at java.net.Socket.<init>(Socket.java:218)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:292)
... 53 more
Re: [etherpad] Problème lors du build
Publié : jeu. 20 janv. 2011, 10:29
par FoolEcho
ManUtopiK a écrit :Donc si je comprend bien, le rebuildjar est fait par yaourt.
Oui et non. Pas nommément mais la compilation est faite à ce niveau.
ManUtopiK a écrit :J'avais pigé les chemins foireux. Par contre mon etc/etherpad.localdev-default.propertie est bien celui entré lors de l'installation avec yaourt.
Le mot de passe admin était bon... mais je n'ai pas utilisé "password" comme mot de passe pour la base de données.

(?)
ManUtopiK a écrit :J'ai copié le fichier mysql-connector-java-5.1.11.jar dans /opt/etherpad/ mais ça ne marche toujours pas
Bon, en fait on en a pas besoin pour l'exécution (il est sans aucun doute incorporé dans le jar à la compilation, c'est vilain

). Par contre, si on voulait faire le rebuild, il faudrait qu'il figure dans le CLASSPATH (mais c'est confondant de fournir un export qui donne dans le vide

).
J'ai utilisé le JDK de Sun plutôt qu'OpenJDK cette fois... et tout marche côté web (j'ai pas fait mumuse mais je n'ai plus l'erreur que j'avais et je tombe sur une interface; donc à priori...)... Etrange quand même, même si j'avais testé un peu à la bourrin (bon, pas le temps, ni l'envie surtout

, d'approfondir)...
Donc ça devrait marcher pour toi aussi.
Compte tenu de l'erreur que tu as, je pense que c'est un problème de communication avec le serveur sql.
Regarde dans /etc/mysql/my.cnf , commente la ligne "skip-networking" (si l'option est active, mysql refuse toute connexion TCP/IP) puis redémarre mysql (/etc/rc.d/mysqld restart ) puis etherpad.
... sur ce, je réinstalle OpenJDK...
EDIT: J'ai eu des remords... etherpad marche aussi avec OpenJDK !

J'avais "juste" viré une dépendance de trop dans le PGBUILD (javacc). Il suffit d'installer le paquet etherpad en utilisant java-runtime dans les dépendances (de décommenter la partie git évidemment), de modifier le etherpad.sh pour prendre en compte openjdk (avec le md5sum adéquat) et basta, tout roule.

Re: [etherpad] Problème lors du build
Publié : jeu. 20 janv. 2011, 14:59
par ManUtopiK
J'ai commenté la ligne, mais j'ai toujours la même erreur.
Dans
http://www.webdevonlinux.fr/2010/03/ins ... e-serveur/ il est indiqué de faire :
Création d’un lien pour éviter une erreur lors de la recompilation
sudo mkdir /usr/share/java/lib
cd /usr/share/java/lib
sudo ln -s /usr/share/java/scala-library.jar
Je l'ai fait mais je me dit que peut-être qu'il fallait pas et que le problème vient de là ?
Re: [etherpad] Problème lors du build
Publié : jeu. 20 janv. 2011, 15:20
par FoolEcho
Tu n'as pas besoin de ce lien symbolique, tout est bien configuré au niveau d'Arch et de l'application, donc mieux vaut supprimer ça.
Les seules lignes utiles concernent la création de la base de données et des droits ainsi que le bin/run-local.sh (et la connexion sur le navigateur bien sûr)... tout le reste a été fait au niveau du PKGBUILD.
Tu as commenté la ligne mais as-tu relancé mysql ?
Peux-tu te connecter en ligne de commande à la base de données "etherpad" ?
Code : Tout sélectionner
mysql -p etherpad -u etherpad #password="password" si tu n'as pas changé
EDIT: il me semble qu'il y aussi à modifier le /etc/hosts.allow en ajoutant (mes souvenirs étant un peu loin, j'avais oublié ça... merci le wiki
http://wiki.archlinux.fr/howto/bdd/mysql ):
Re: [etherpad] Problème lors du build
Publié : jeu. 20 janv. 2011, 18:47
par ManUtopiK
Ca marche !
C'était bien le mysqld.
Maintenant, j'ai encore des soucis :
Je ne peux pas créer de team, il me faut pouvoir faire des sous domaines en localhost, je vais chercher mais si tu as une piste, je suis preneur !
Je ne peux pas me connecter depuis une autre machine sous ubuntu. J'ai une réponse bizarre quand je tape :
http://192.168.1.11:9000
Il me dit :
Firefox ne peut établir de connexion avec le serveur à l'adresse
www.false.com:9000
Encore merci pour ton aide !
Re: [etherpad] Problème lors du build
Publié : jeu. 20 janv. 2011, 19:53
par FoolEcho
Apparemment il faut aller voir du côté de etherpad.localdev-default.properties (cf.
https://bugs.launchpad.net/ubuntu/+bug/ ... comments/5 ) pour ça, avec l'adresse IP de la machine.
Si la machine sous Ubuntu est dans le même réseau local ça devrait aller, si elle est extérieur, il faut probablement aussi ouvrir le port au niveau de la box + parefeu sur ta machine si tu en as.
EDIT:
C'est ça, j'ai testé rapidemment. Tu édites la partie topdomains de etc/etherpad.localdev-default.properties avec:
et ça devrait rouler (pour un réseau local)
Re: [etherpad] Problème lors du build
Publié : jeu. 20 janv. 2011, 20:58
par ManUtopiK
OK, tout marche !!!
Enfin presque, j'ai pas trouvé pour les teams mais bon, c'est pas bien grave, on ne sera pas si nombreux que ça à l'utiliser...
Merci !!!
Re: [etherpad] Problème lors du build (résolu)
Publié : jeu. 20 janv. 2011, 21:18
par ManUtopiK
Si, j'ai une autre question. Comment faire pour le lancer à chaque démarrage ?
J'ai jamais compris comment lancer un fichier en sudo au démarrage

Re: [etherpad] Problème lors du build (résolu)
Publié : jeu. 20 janv. 2011, 21:29
par FoolEcho
Pour les teams, je n'ai pas regardé... mais pour les sous-domaines en localhost, ça doit se passer au niveau de /etc/hosts ( cf. "man hosts" pour des exemples ).
ManUtopiK a écrit :J'ai jamais compris comment lancer un fichier en sudo au démarrage

Pas besoin de sudo.
Tu rajoutes tes commandes dans /etc/rc.local (elles sont exécutés en tant que root) , c'est fait pour (n'oublie pas le "cd" au bon endroit avant de lancer le run): cf.
https://wiki.archlinux.org/index.php/Ar ... 2Frc.local
Re: [etherpad] Problème lors du build (résolu)
Publié : jeu. 20 janv. 2011, 21:40
par benjarobin
Personnellement pour faire plus propre j'aurais créé un deamon à placer dans /etc/rc.d/
C'est assez facile à faire, il suffit de prendre un exemple simple qui est contenu dans /etc/rc.d/
Re: [etherpad] Problème lors du build (résolu)
Publié : jeu. 20 janv. 2011, 21:50
par FoolEcho
Pour ma part, j'aime pô fricoter avec les démons (de plus, les autres risquent de mal le prendre de voir débarquer un démon "mineur").

Ou alors faut le prendre en main dès le PKGBUILD pour faire vraiment une installation digne de ce nom.
