Homegear auf FreeBSD 10 bauen

Hi,

ich habe Homegear momentan auf einem CuBox-i mit Arch Linux laufen.
Momentan versuche ich es auf meinem FreeBSD 10 Server zu bauen.
Leider schlägt das Kompilieren damit fehl: /usr/local/lib/gcc5/include/c++/cmath:1064:11: error: ‘::erfl’ has not been declared
FreeBSD verwendet eigentlich clang+llvm zum kompilieren.
Allerdings bekomm ich den Fehler mit clang, gcc48 und gcc51.

Es scheint so als kann er die std lib nicht finden.

Ich verwende das make script unverändert. Ich habe nur die jeweilige g++ Version in /user/local/bin/ gesymlinked.

Hat hier jemand eine Idee woran das liegen kann?
Hat jemand Homegear schon mal unter FreeBSD zum laufen gebracht?

Hey,

es waren einige kleine Anpassungen am Quelltext erforderlich, aber jetzt läuft es :wink:. Allerdings nur die Version 0.6!

Erst einmal müssen folgende Ports installiert sein (geht zum Teil sicherlich auch über Pakete):

[ul]
[li] security/ca_root_nss[/li]
[li] lang/php56 (mit EMBED und ZTS!!!)[/li]
[li] lang/python27[/li]
[li] security/gnutls[/li]
[li] security/libgcrypt[/li]
[li] databases/sqlite3[/li]
[li] archivers/lzo2[/li][/ul]

Dann noch folgende Pakete:

(clang und GCC 5.1 habe nicht getestet.)

Dann habe ich folgende Links angelegt:

ln -s /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem (wurde trotz Auswahl nicht automatisch angelegt)
ln -s /usr/local/bin/g++48 /usr/local/bin/g++
ln -s /usr/local/bin/gcc48 /usr/local/bin/gcc
ln -s /usr/local/bin/python2.7 /usr/local/bin/python

Jetzt sollte das Kompilieren klappen:

gmake config=release_bsd

Zum Herunterladen der XML-Dateien von der eQ-3-Seite wird noch python-lzo (https://github.com/jd-boyd/python-lzo.git) benötigt. Damit die Installation klappt, musste ich in der setup.py “/usr/include/lzo” durch “/usr/local/include/lzo” ersetzen. Einige “includes” mussten auch noch in den lzo-Headerdateien angepasst werden. Welche genau zeigen dir die Fehlermeldungen. Alternativ kannst du das Verzeichnis /etc/homegear/devices auch von einem anderen Rechner kopieren.

Ich bin gespannt auf dein Feedback :wink:.

Liebe Grüße

Sathya

Huch habe gerade erst gemerkt das es zu meiner Frage eine Antwort gab.
Hatte mich schon gewundert das ich damals keine Benachrichtigung bekam, leider aber auch nicht nachgeschaut.

Ich hab das Thema gerade wieder aufgegriffen und es ein wenig anders versucht zum laufen zu bringen.
Habe ein 32bit Ubuntu in ein freebsd jail installiert und es versucht da laufen zu lassen.
Momentan startet homegear; beendet sich aber wieder sofort.
Es gibt keinen Eintrag in den log Dateien.

root@ubuntu:/# homegear -s homegear homegear -c /etc/homegear 08/23/15 22:12:32.341 Info: Loading family module mod_homematicwired.so 08/23/15 22:12:32.344 Info: Loading family module mod_philipshue.so 08/23/15 22:12:32.347 Info: Loading family module mod_max.so 08/23/15 22:12:32.349 Info: Loading family module mod_homematicbidcos.so 08/23/15 22:12:32.353 Info: Loading family module mod_insteon.so 08/23/15 22:12:32.356 Info: Loading family module mod_miscellaneous.so 08/23/15 22:12:32.359 Info: Disposing family module mod_philipshue.so 08/23/15 22:12:32.359 Info: Disposing family module mod_miscellaneous.so 08/23/15 22:12:32.359 Info: Disposing family module mod_max.so 08/23/15 22:12:32.359 Info: Disposing family module mod_insteon.so 08/23/15 22:12:32.360 Info: Disposing family module mod_homematicwired.so 08/23/15 22:12:32.360 Info: Disposing family module mod_homematicbidcos.so 08/23/15 22:12:32.360 Info: Waiting for event threads to finish.

Da ich da auch nicht weiter gekommen bin hab ich gerade nochmal die alten Sourcen mit den BSD Änderungen ausgecheckt (b86a15c) und getestet.
Leider ohne Erfolg.

In file included from Modules/Base/Encoding/RPCDecoder.h:36:0,
                 from Modules/Base/BaseLib.h:7,
                 from Modules/Base/BaseLib.cpp:30:
/usr/local/lib/gcc48/include/c++/cmath:1063:11: error: '::erfl' has not been declared
   using ::erfl;
           ^

Vielleicht hast du da noch eine Idee?
Ich sehe auch grade die kleine Checkbox um mich bei Antworten benachrichtigen zu lassen ;D.
Danke auf jeden Fall!

Hallo,

es kann sein, dass sich inzwischen etwas am Quelltext verändert hat, das das Kompilieren auf BSD verhindert. Ich werde sehr zeitnah auf die Kompilierung Automake umstellen, dann baue ich BSD fest ein :wink:. Verfolge das Issue “https://github.com/Homegear/Homegear/issues/217”. Sobald es erledigt ist, sollte das Kompilieren auf BSD klappen - ich werde es vorher auch testen :wink:.

Viele Grüße

Sathya

Danke!

Falls du jemanden zum testen brauchst bin ich gern bereit.

Sehr gerne,

bin auch fast fertig. Autoconf/Automake läuft bereits und die BSD-Erkennung ist ebenfalls eingebaut. Da sich die ganze Paketstruktur verändert hat, werde ich aber wohl noch zwei Wochen brauchen, bis es wieder neue Releases gibt. Die ganze Build-Umgebung muss jetzt angepasst werden…

Viele Grüße

Sathya