[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