Hallo,
Ziel ist es homegear 0.6.xx zusammen mit php7.1 unter gentoo x64 zum Compilieren & Linken zu bewegen.
Homegear 0.5.xx zusammen mit php5.x hatte vor einiger Zeit noch einwandfrei funktioniert.
PHP7.1 incl. pthreads hatte ich durch einen System-Upgrade bekommen. Abgelegt unter /usr/lib64/php7.1/.
Doch der Reihe nach:
- homegear 0.6.xx ließ sich zuerst nicht compilieren, da kein “-pthread” gesetzt war. Fehlermeldung:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.4/…/…/…/…/lib64/libhomegear-base.so: undefined reference to
pthread_create' /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.4/../../../../lib64/libhomegear-base.so: undefined reference to
pthread_join’
- homegear 0.6.xx ließ sich auch nicht compilieren, da ein Konvertierungsfehler vorlag:
ScriptEngine/php_sapi.cpp:225:1: error: invalid conversion from ‘void ()(char)’ to ‘void ()(char, int)’ [-fpermissive]
-
Beides unelegant per export CXXFLAGS=’-fpermissive -pthread’ umgangen, um zumindest weiter zu kommen.
-
Der Vollständigkeit halber das verwendete Skript:
#!/bin/bash
/usr/bin/renice -n 19 --pid ${BASHPID}
export TMPDIR=/usr/local/src/homegear/
export CXXFLAGS=’-fpermissive -pthread’
for zdir in libhomegear-base-master Homegear-master;do
cd ${zdir}
make clean
bash -xv ./makeRelease.sh 3
cd -
done
- Nach Überspringen dieser beiden Hürden nochmal alles versucht zu bauen. Das Ergebniss sieht wie folgt aus:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.4/…/…/…/…/x86_64-pc-linux-gnu/bin/ld: cannot find -lphp7-homegear
collect2: error: ld returned 1 exit status
- Und hier bin ich leider mit meinem Latain am Ende. Ich habe schon versucht im Homegear-master/src/Makefile.am die AM_LDFLAGS um einen zusätzlichen -Wl,-rpath=/usr/lib64/php7.1/lib64 zu erweitern, oder statt LIBS -lphp7-homegear die Anweisung -llibphp7 einzutragen, oder den kompletten Pfad. Oder in /usr/lib64 einen Link mit Namen php7-homegear.so auf /usr/lib64/php7.1/libphp7.so anzulegen. Gut…das war alles Try&Error. In diesem Falle relativ viel Error.
Frage: wer weiß Rat wie homegear 0.6.xx mit einem Standardmäßig installierten php7.1 zum Compilieren&Linken zu bewegen ist ?
Grüße & Danke
puttybug