Installation auf Alpine Linux


#1

Hallo, ich versuche Homegear auf Alpinelinux zu installieren um einen möglichst leichtgewichtigen Dockercontainer zu erstellen. Hintergrund ist, das ich ein Add-on für Homeassistant erstellen möchte (die meisten Add-On’s setzen Alpinelinux ein) welches auf verschiedenen Plattformen läuft. Derzeit sind für RaspberryPi anpassungen Notwendig die es erfordern verschiedene Dokerfiles zu erstellen (aktuelles Add-On).

Bisher konnte ich folgende Abhängigkeiten lokalisieren:

apk add \
  git \
  wget \
  php7 \
  libtool \
  m4 \
  automake \
  sqlite \
  openssl \
  mariadb-dev \
  unzip \
  autoconf \
  grep-doc \
  g++ \
  libxslt \
  libzip \
  gnutls \
  enchant \
  gmp \
  libedit \
  libmcrypt \
  libxml2 \
  libzip \
  gawk \
  make \
  gnutls \
  gnutls-dev \
  libgcrypt-dev \
  linux-headers \

aktuell scheitere ich jedoch beim erstellen von homegear:

libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -Wall -std=c++11 -DFORTIFY_SOURCE=2 -DGCRYPT_NO_DEPRECATED -DLINUXSYSTEM -g -O2 -MT Licensing/Licensing.lo -MD -MP -MF Licensing/.deps/Licensing.Tpo -c Licensing/Licensing.cpp  -fPIC -DPIC -o Licensing/.libs/Licensing.o
In file included from HelperFunctions/Io.cpp:31:0:
HelperFunctions/Io.h:90:48: error: 'mode_t' has not been declared
  static bool createDirectory(std::string path, mode_t mode);
                                                ^~~~~~
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -Wall -std=c++11 -DFORTIFY_SOURCE=2 -DGCRYPT_NO_DEPRECATED -DLINUXSYSTEM -g -O2 -MT HelperFunctions/Net.lo -MD -MP -MF HelperFunctions/.deps/Net.Tpo -c HelperFunctions/Net.cpp -o HelperFunctions/Net.o >/dev/null 2>&1
HelperFunctions/Io.cpp:78:6: error: prototype for 'bool BaseLib::Io::createDirectory(std::__cxx11::string, mode_t)' does not match any in class 'BaseLib::Io'
 bool Io::createDirectory(std::string path, mode_t mode)
      ^~
In file included from HelperFunctions/Io.cpp:31:0:
HelperFunctions/Io.h:90:14: error: candidate is: static bool BaseLib::Io::createDirectory(std::__cxx11::string, int)
  static bool createDirectory(std::string path, mode_t mode);
              ^~~~~~~~~~~~~~~
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -Wall -std=c++11 -DFORTIFY_SOURCE=2 -DGCRYPT_NO_DEPRECATED -DLINUXSYSTEM -g -O2 -MT HelperFunctions/Math.lo -MD -MP -MF HelperFunctions/.deps/Math.Tpo -c HelperFunctions/Math.cpp -o HelperFunctions/Math.o >/dev/null 2>&1
make[2]: *** [Makefile:1084: HelperFunctions/Io.lo] Error 1

Hierzu konnte ich noch keine Lösung finden. Ich wollte Fragen ob hier evtl. jemand eine Lösung dazu hat.


#2

Ich habe zwar (noch) keine Lösung. Da ich auch gerade versuche, ein entsprechendes Dockerimage zu erstellen, wäre das schon erstellte Dockerfile hilfreich. Dann könnte ich mich ebenfalls auf Fehlersuche begeben.

Gruß Harry


#3

Ich habe mir da auch nur den 0815 Container genommen und mich auf der Console eingeloggt. Was ich bisher rausgefunden habe, habe ich hier dokumentiert: https://github.com/kreativmonkey/hassio-addons/issues/1 evtl hilft dir das weiter. Hatte leider noch keine Zeit gefunden mich wieder dem Problem zu widmen.