[dss-developer] bus_state_t dSS-Stack

Alexander Betker digitalstrom at alexander-betker.de
Fri Jul 20 12:30:11 CEST 2012


Nein,  das hatte ich nicht da beim compilieren von dsm 2.2.0 oder 2.3.0 
folgende Fehlermeldung kommt:

[100%] Building C object src/lib-v2/CMakeFiles/libtest.dir/test.c.o
/home/... /dsm-api-2.3.0/src/lib-v2/test.c: In Funktion »BusState_callback«:
/home/... /dsm-api-2.3.0/src/lib-v2/test.c:34:10: Fehler: 
»DS485_STATE_ISOLATED« nicht deklariert (erste Benutzung in dieser Funktion)
/home/... /dsm-api-2.3.0/src/lib-v2/test.c:34:10: Anmerkung: jeder nicht 
deklarierte Bezeichner wird nur einmal für jede Funktion, in der er 
vorkommt, gemeldet
/home/... /dsm-api-2.3.0/src/lib-v2/test.c:37:10: Fehler: 
»DS485_STATE_CONNECTED« nicht deklariert (erste Benutzung in dieser 
Funktion)
/home/... /dsm-api-2.3.0/src/lib-v2/test.c:40:10: Fehler: 
»DS485_STATE_ACTIVE« nicht deklariert (erste Benutzung in dieser Funktion)
/home/... /dsm-api-2.3.0/src/lib-v2/test.c:43:10: Fehler: 
»DS485_STATE_JOIN« nicht deklariert (erste Benutzung in dieser Funktion)
/home/... /dsm-api-2.3.0/src/lib-v2/test.c: In Funktion »main«:
/home/... /dsm-api-2.3.0/src/lib-v2/test.c:145:82: Warnung: 
Initialisierung von inkompatiblem Zeigertyp [standardmäßig aktiviert]
make[2]: *** [src/lib-v2/CMakeFiles/libtest.dir/test.c.o] Fehler 1
make[1]: *** [src/lib-v2/CMakeFiles/libtest.dir/all] Fehler 2

Ich habe dann einfach in der Datei "CMakeLists.txt" folgende Zeilen 
auskommentiert

# add_executable(libtest test.c)
# target_link_libraries(libtest dsm-api-v2 ds485-client)

um die Tests auszuschalten, die wohl veraltet sind oder was auch immer.

Danach gibt es aber beim bauen der 14er Version aber trotzdem:

../src/ds485/dsbusinterface.cpp: In Elementfunktion »void 
dss::DSBusInterface::handleBusState(bus_state_t)«:
../src/ds485/dsbusinterface.cpp:448:12: Fehler: »DS485_STATE_ISOLATED« 
wurde in diesem Gültigkeitsbereich nicht definiert
../src/ds485/dsbusinterface.cpp:451:12: Fehler: »DS485_STATE_CONNECTED« 
wurde in diesem Gültigkeitsbereich nicht definiert
../src/ds485/dsbusinterface.cpp:454:12: Fehler: »DS485_STATE_ACTIVE« 
wurde in diesem Gültigkeitsbereich nicht definiert
../src/ds485/dsbusinterface.cpp:457:12: Fehler: »DS485_STATE_JOIN« wurde 
in diesem Gültigkeitsbereich nicht definiert
../src/ds485/dsbusinterface.cpp:460:12: Fehler: 
»DS485_STATE_DISCONNECTED« wurde in diesem Gültigkeitsbereich nicht 
definiert
make[1]: *** [libdsscore_a-dsbusinterface.o] Fehler 1
make[1]: Verlasse Verzeichnis '/home/... /dss-1.14.1/build'
make: *** [all] Fehler 2


Gehe nach dieser Reihenfolge vor:

ds485-core
     git clone git://gitorious.digitalstrom.org/ds485-stack/ds485-core.git
     cd ds485-core
     git checkout production
     cmake -DCMAKE_INSTALL_PREFIX=<Pfad zum libdsm>
     make
     make install
     cd ..

ds485d
     git clone git://gitorious.digitalstrom.org/ds485-stack/ds485d.git
     cd ds485d
     git checkout production
     cmake -DCMAKE_INSTALL_PREFIX=<Pfad zum libdsm>
     make
     make install
     cd ..

ds485-client
     git clone git://gitorious.digitalstrom.org/ds485-stack/ds485-client.git
     cd ds485-client
     git checkout production
     cmake -DCMAKE_INSTALL_PREFIX=<Pfad zum libdsm>
     make
     make install
     cd ..

dsm-api
     von der DownloadSeite
     cmake -DCMAKE_INSTALL_PREFIX=<Pfad zum libdsm>
     make
     make install
     cd ..

und schließlich den dSS herunterladen ...

$ autoreconf -i

$ ./configure --prefix=/home/<Pfad wo auch immer>/dss-1.14.1/build 
--with-dss-data=/home/<Pfad wo auch immer>/dss-1.14.1/build/data 
--with-libdsm-api-libs=/home/<Pfad zum libdsm>/libdsm/lib 
--with-libdsm-api-h=/home/<Pfad zum libdsm>/libdsm/include

$ cd build
$ make
$ make install

Dann mauell weil der das nicht macht diese Ordner-Struktur anlegen bzw. 
vervollständigen:
(Beispiel bei dss-1.9.2 )
      dss-1.9.2/build/share/dss/data -> config.xml rein; dsscert.pem; 
subscriptions.xml und sim.xml
      dss-1.9.2/build/share/dss/data/config.d
      dss-1.9.2/build/share/dss/data/logs
      dss-1.9.2/build/share/dss/data/savedprops
      dss-1.9.2/build/share/dss/data/webroot -> dss.nsmap; dss.wsdl und 
dss.xsd
      dss-1.9.2/build/data    -> apartment.xml; simulated_device.js und 
switch.js
      dss-1.9.2/build/data/metering

export LD_LIBRARY_PATH=<Pfad zu libdsm>/libdsm/lib

Ich komme aus der Java-Welt und bin svn (Subversion) geschädigt, kenne 
mich also mit git nicht aus:
bei dem auschecken "git checkout" gibt man glaube master an, oder 
testing oder production ... ich will jetzt nicht den Spielplatz eines 
anderen auschecken sondern eine stabile Version.

Wann kommt denn der dSA ins Spiel ?  Habe den heruntergeladen, der 
findet bei mir nur das Paket jsonc nicht, denke aber ich habe gleich das 
Paket gefunden ...

Viele Grüsse
Alexander






More information about the dss-developer mailing list