Probleme Linknx Knxweb2 mariadb

97 views
Skip to first unread message

Sebastien Jamoulle

unread,
Nov 13, 2017, 6:44:30 AM11/13/17
to Eibd / Linknx / KnxWeb

Bonjour à Tous,

J'essaie en vain d'installer le trio knxd, knxweb2, linknx sur un Raspberry Pi 0 ....
Mais je me heurt a certain problème !!!! :'(

1 - si j'essaie d'installer le trio par le scripte que vous fournissez, j'ai des erreurs due a mariadb (remplaçant de mysql dans les dernières moutures de Raspbian ).
      erreur due a la libmysqlclient.so.18 : error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

   J'ai essayer de contourner le problème en créant un lient symbolique vers
libmariadbclient.so, mais linknx bloque plus loin sur la version de la lib ...

2 - j'ai donc en suite essayer de compiler Libknx en essayant de lui faire prendre en compte les lib de mariadb mais le je bloque sur une autre lib log4cpp.
   j’obtiens les messages suivants :

make[2]: Entering directory '/home/pi/linknx-0.0.1.33/src'
g++ -DHAVE_CONFIG_H -I. -I..  -I../include -I../ticpp -I/usr/include   -I/usr/include/lua5.1    -g -O2 -MT logger.o -MD -MP -MF .deps/logger.Tpo -c -o logger.o logger.cpp
mv -f .deps/logger.Tpo .deps/logger.Po
g++  -g -O2  -lpthread -o linknx linknx.o logger.o ruleserver.o objectcontroller.o eibclient.o threads.o timermanager.o persistentstorage.o xmlserver.o smsgateway.o emailgateway.o knxconnection.o services.o suncalc.o luacondition.o ioport.o ../ticpp/libticpp.a -L/usr/lib -lpthsem  -llog4cpp -lpthread -lnsl -llua5.1  -lm -pthread -L/usr/lib/arm-linux-gnueabihf -lesmtp
logger.o: In function `errorStream(char const*)':
/home/pi/linknx-0.0.1.33/src/logger.cpp:253: undefined reference to `log4cpp::Category::getInstance(std::string const&)'
logger.o: In function `warnStream(char const*)':
/home/pi/linknx-0.0.1.33/src/logger.cpp:254: undefined reference to `log4cpp::Category::getInstance(std::string const&)'
logger.o: In function `infoStream(char const*)':
/home/pi/linknx-0.0.1.33/src/logger.cpp:255: undefined reference to `log4cpp::Category::getInstance(std::string const&)'
logger.o: In function `debugStream(char const*)':
/home/pi/linknx-0.0.1.33/src/logger.cpp:256: undefined reference to `log4cpp::Category::getInstance(std::string const&)'
logger.o: In function `isDebugEnabled(char const*)':
/home/pi/linknx-0.0.1.33/src/logger.cpp:257: undefined reference to `log4cpp::Category::getInstance(std::string const&)'
logger.o: In function `Logging::importXml(ticpp::Element*)':
/home/pi/linknx-0.0.1.33/src/logger.cpp:54: undefined reference to `log4cpp::RollingFileAppender::RollingFileAppender(std::string const&, std::string const&, unsigned int, unsigned int, bool, unsigned int)'
/home/pi/linknx-0.0.1.33/src/logger.cpp:43: undefined reference to `log4cpp::PropertyConfigurator::configure(std::string const&)'
/home/pi/linknx-0.0.1.33/src/logger.cpp:60: undefined reference to `log4cpp::OstreamAppender::OstreamAppender(std::string const&, std::ostream*)'
/home/pi/linknx-0.0.1.33/src/logger.cpp:75: undefined reference to `log4cpp::Priority::getPriorityValue(std::string const&)'
/home/pi/linknx-0.0.1.33/src/logger.cpp:57: undefined reference to `log4cpp::FileAppender::FileAppender(std::string const&, std::string const&, bool, unsigned int)'
ruleserver.o: In function `__static_initialization_and_destruction_0':
/home/pi/linknx-0.0.1.33/src/ruleserver.cpp:186: undefined reference to `log4cpp::Category::getInstance(std::string const&)'
/home/pi/linknx-0.0.1.33/src/ruleserver.cpp:487: undefined reference to `log4cpp::Category::getInstance(std::string const&)'
/home/pi/linknx-0.0.1.33/src/ruleserver.cpp:1570: undefined reference to `log4cpp::Category::getInstance(std::string const&)'
timermanager.o: In function `__static_initialization_and_destruction_0':
/home/pi/linknx-0.0.1.33/src/timermanager.cpp:27: undefined reference to `log4cpp::Category::getInstance(std::string const&)'
/home/pi/linknx-0.0.1.33/src/timermanager.cpp:369: undefined reference to `log4cpp::Category::getInstance(std::string const&)'
timermanager.o:/home/pi/linknx-0.0.1.33/src/timermanager.cpp:659: more undefined references to `log4cpp::Category::getInstance(std::string const&)' follow
collect2: error: ld returned 1 exit status
Makefile:369: recipe for target 'linknx' failed
make[2]: *** [linknx] Error 1
make[2]: Leaving directory '/home/pi/linknx-0.0.1.33/src'
Makefile:373: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/pi/linknx-0.0.1.33'
Makefile:313: recipe for target 'all' failed
make: *** [all] Error 2


Est-ce que qqun aurait déjà essayer linknx avec MariaDB ?
Auriez-vous une solution ou une piste pour m'aider ?


Merci à tous.

Cyrille Defranoux

unread,
Nov 13, 2017, 4:56:43 PM11/13/17
to Eibd / Linknx / KnxWeb
Salut Sébastien,

Le script d'installation n'est pas parfait... Il contourne l'absence de paquet debian mais bon, je ne suis pas fan de cette solution qui relève à mes yeux plus du pansement que de la solution robuste dont l'utilisateur lambda aurait besoin. Pour la suite, je te conseille de procéder sans recourir à ce script.

Pour le problème n°1, je pense que l'outil de config automake devra être mis à jour pour utiliser mariadb à la place de mysql. Cependant, tu sembles avoir réussi à aller plus loin avec le lien symbolique sur la lib mysql.

Le problème n°2 n'a pas de rapport avec mysql ou mariadb. Pour une raison qu'il faut déterminer, configure a activé la compilation du support pour log4cpp alors que tu ne sembles pas avoir la lib installée sur le rpi.

Pour avancer, peux-tu faire ceci dans l'ordre:
- place toi dans le dossier racine des sources de linknx
- ./configure
- si configure a réussi, exécute "make install" en root.

Le script configure génère un fichier config.log que j'aimerais voir. Si tu as exécuté make, envoie également la sortie complète de make. Enfin, envoie la sortie de "dpkg --get-selections" pour que je voie les paquets installés sur la machine. Indique également quelle distribution tu as installée.
Merci de fournir tous ces éléments. Tu peux les envoyer par mp si tu ne veux pas les poster ici.

Merci !
Cyrille

Sebastien Jamoulle

unread,
Nov 15, 2017, 10:00:10 AM11/15/17
to Eibd / Linknx / KnxWeb
Bonjour à Tous,

Grace à l'aide de Cyrille, j'ai réussi à finaliser l’installe de linknx avec MariaDB
Pour info pour ceux que ça peu intéresser voici ce que j'ai dû faire ...

wget -O linknx-0.0.1.34.tar.gz https://github.com/linknx/linknx/archive/0.0.1.34.tar.gz
tar xzf linknx-0.0.1.34.tar.gz
cd linknx-0.0.1.34
autoreconf -fi
./configure --without-log4cpp --without-pth-test --enable-smtp --with-lua --with-mysql=/usr/bin/mysql_config
make (whaaaw plus d'erreur en compilant !!!)
sudo make install

BAV

Cyrille Defranoux

unread,
Nov 15, 2017, 1:42:38 PM11/15/17
to Eibd / Linknx / KnxWeb
Arf oui, il manque le build system dans la dernière release. Ce n'est pas volontaire et je vais corriger ça !

L'étape avec autoreconf n'est donc pas nécessaire.

Cyrille

Cyrille Defranoux

unread,
Nov 15, 2017, 3:47:08 PM11/15/17
to Eibd / Linknx / KnxWeb
J'ai mis à jour l'archive de la release 0.0.1.34 pour rajouter le build system. Peux-tu réessayer de compiler en partant de l'archive prise sur github ? Tu ne dois pas avoir besoin d'autre chose que :
./configure <options que tu veux>
sudo make install

Cyrille

Sebastien Jamoulle

unread,
Nov 17, 2017, 2:44:37 AM11/17/17
to Eibd / Linknx / KnxWeb
Nickel ...

Avec la modif que tu as fait ça fonctionne sans l'auto reconf.
Par contre j'ai du supprimer le chemin vers mysql_config pour que l'option mysql soit prise en compte.
--with-mysql=/usr/bin/mysql_config => --with-mysql

Merci

Seb

arth...@free.fr

unread,
Feb 27, 2018, 4:03:44 AM2/27/18
to Eibd / Linknx / KnxWeb

Bonjour et merci de m’accueillir dans ce groupe.


Dans le même ordre d’idées : problèmes avec MariaDb / Knxd


si j’avais jadis réussis à faire fonctionner Débian 6 et Knxweb2 pour mon ancienne installation,


Voici ma prise de tête avec ma nouvelle installation de knxweb/knxd

- sur un ordinateur équipé aujourd’hui de Debian 9 avec MariaDb

- le script install-trio.sh ne passe pas ??

- j’ai rajouté linknx-0.0.1.34


1. Au démarrage de l’ordi cela donne :


a) # ps ax | grep linknx

942 ? Ss 0:00 /usr/local/bin/linknx --config=/var/www/html/knxweb2/linknx.xml -p/var/run/linknx.pid -d/var/log/linknx.log -w


b) knxd est dans les choux !

si je le lance manuellement il retombe au bout de 10 secondes ...


ma commande pour test de Knxd est incertaine

<knxd -e 1.1.250 -E 0.0.2:9 -D -T -S -b ipt:192.168.1.199>

Message => F00000000: [ 5:A.ipt] Link down, terminating


2. Après réinstallation de linknx

- Mysql et log4cpp sont passés au vert

- Knxd est toujours dans le rouge ...


- dans Knxweb-dev/setup

le « Design » refuse de se sauvegarder


3. Pour ma compréhension

Quels sont les fonctions des répertoires knweb2 et knxweb-dev ?

Quels sont les droits à modifier sur les divers répertoires et sous répertoires créés ?


Je suis preneur de tous conseils pour conclure mes tests.

Excusez mon approche encore hasardeuse de linux et merci d’avance pour vos réponses.



Reply all
Reply to author
Forward
0 new messages