[vz-users] vzlogger c++ Version bauen

Thorben Thuermer r00t at constancy.org
Wed Jan 9 12:07:44 CET 2013


ich kenne cmake nicht weiter,
aber im allgemeinen, wenn ein build-system nicht macht wie man will,
kann man den fehlerhaften aufruf einfach selber fixen.

dazu muss man erstmal cmake dazu bringen, die compiler-aufrufe mit
auszugeben, scheinmal mittels: make VERBOSE=1
http://www.cmake.org/Wiki/CMake_FAQ#Is_there_an_option_to_produce_more_.27verbose.27_compiling.3F

und dann wird wohl in dem aufruf der fehlschlaegt ein -I../libsml/sml/include
fehlen, das kannst du dann einem manuellen aufruf hinzufuegen,
und dann make (ohne make clean zwischendurch!) weitermachen lassen...

- T.

On Wed, 09 Jan 2013 11:54:06 +0100 dl4huf <dl4huf at t-online.de> wrote:
> Hallo
> 
> ich versuche für einen Bekannten die vzlogger C++ Version nach Anleitung 
> aus dem Wiki zu bauen.
> Leider klappt das nicht und ich finde den fehlenden Kniff nicht.
> Problem ist das die sml/sml_file.h nicht gefunden wird.
> Beim Aufruf aus wie dem Wiki werden fehlenden Parameter SML_LiBRARY und 
> SML_INCLUDE_DIR bemängelt, aber ich habe das so aufgerufen :
> 
> > root at rasp:/opt/src/build# cmake -DSML_LIBRARY='../libsml/sml/lib/libsml.a' -DSML_INCLUDE_DIR='../libsml/sml/include' ../vzlogger
> 
> 
> > Compiling for target ''
> > -- checking if -Wno-ignored-qualifiers works
> > -- FindSml check
> > -- checking for module 'sml>=0.9'
> > --   package 'sml>=0.9' not found
> > -- SML_HOME is not empty: "/opt/src/libsml"
> > -- Looking for sml in /opt/src/libsml
> > -- FindMicrohttpd check
> > -- checking for module 'microhttpd>=0.9'
> > --   package 'microhttpd>=0.9' not found
> > -- MICROHTTPD_HOME env is not set, setting it to /usr/local
> > -- Looking for microhttpd in /usr/local
> > -- FindJson check
> > -- JSON_HOME env is not set, setting it to /usr/local
> > -- Looking for json in /usr/local
> > Jsoon search: '/usr/local/include;/usr/local/include;/usr/local/include;/usr/include'
> > -- FindCURL check
> > -- ==> ''
> > -- CURL_HOME env is not set, setting it to /usr/local
> > -- Looking for curl in /usr/local
> > ==> CURL_LIBRARIES='/usr/lib/arm-linux-gnueabihf/libcurl.a;/usr/lib/arm-linux-gnueabihf/libidn.a;/usr/lib/arm-linux-gnueabihf/libssh2.a;/usr/lib/arm-linux-gnueabihf/liblber.a;/usr/lib/arm-linux-gnueabihf/libldap.a;/usr/lib/arm-linux-gnueabihf/librt.a;-lgssapi_krb5;-lkrb5;-lk5crypto;/usr/lib/arm-linux-gnueabihf/libcom_err.a;/usr/lib/arm-linux-gnueabihf/libssl.a;/usr/lib/arm-linux-gnueabihf/libcrypto.a;/usr/lib/arm-linux-gnueabihf/librtmp.a;/usr/lib/arm-linux-gnueabihf/libz.a;/usr/lib/arm-linux-gnueabihf/libgnutls.a'
> > -- FindGnuTls check
> > -- ==> ''
> > -- GNUTLS_HOME env is not set, setting it to /usr/local
> > -- Looking for gnutls in /usr/local
> > ==> GNUTLS_LIBRARIES='/usr/lib/arm-linux-gnueabihf/libgnutls.a;/lib/arm-linux-gnueabihf/libgcrypt.a;/usr/lib/arm-linux-gnueabihf/libgpg-error.a;/usr/lib/arm-linux-gnueabihf/libtasn1.a;/usr/lib/arm-linux-gnueabihf/libz.a;-lp11-kit;-lsasl2;/lib/arm-linux-gnueabihf/libgcrypt.a'
> >
> >         ***** Configuration parameters *****
> >              prefix: /usr/local
> >              json: -L/usr/lib/arm-linux-gnueabihf/libjson.a;-lrt -I/usr/include
> >              sml:  -L/opt/src/libsml/sml/lib/libsml.a;-lrt -I/opt/src/libsml/sml/include
> >              microhttpd: -L/usr/lib/arm-linux-gnueabihf/libmicrohttpd.a;-lrt -I/usr/include
> > -- Configuring done
> > -- Generating done
> > -- Build files have been written to: /opt/src/build
> > root at rasp:/opt/src/build#
> 
> 
> sieht erst mal plausibel aus.
> ein "make clean; make" läut aber nicht durch :-(
> > root at rasp:/opt/src/build# make clean; make
> > [  4%] Building CXX object src/CMakeFiles/vz.dir/Channel.cpp.o
> > [  8%] Building CXX object src/CMakeFiles/vz.dir/Config_Options.cpp.o
> > [ 12%] Building CXX object src/CMakeFiles/vz.dir/threads.cpp.o
> > [ 16%] Building CXX object src/CMakeFiles/vz.dir/Buffer.cpp.o
> > [ 20%] Building CXX object src/CMakeFiles/vz.dir/Obis.cpp.o
> > [ 24%] Building CXX object src/CMakeFiles/vz.dir/Options.cpp.o
> > [ 28%] Building CXX object src/CMakeFiles/vz.dir/Reading.cpp.o
> > [ 32%] Building CXX object src/CMakeFiles/vz.dir/exception.cpp.o
> > [ 36%] Building CXX object src/CMakeFiles/vz.dir/local.cpp.o
> > /opt/src/vzlogger/src/local.cpp: In function ‘int handle_request(void*, MHD_Connection*, const char*, const char*, const char*, const char*, size_t*, void**)’:
> > /opt/src/vzlogger/src/local.cpp:65:20: warning: variable ‘ts’ set but not used [-Wunused-but-set-variable]
> > [ 40%] Building CXX object src/CMakeFiles/vz.dir/MeterMap.cpp.o
> > Linking CXX static library libvz.a
> > [ 40%] Built target vz
> > [ 44%] Building CXX object src/api/CMakeFiles/vz-api.dir/Volkszaehler.cpp.o
> > [ 48%] Building CXX object src/api/CMakeFiles/vz-api.dir/MySmartGrid.cpp.o
> > [ 52%] Building CXX object src/api/CMakeFiles/vz-api.dir/CurlIF.cpp.o
> > [ 56%] Building CXX object src/api/CMakeFiles/vz-api.dir/CurlCallback.cpp.o
> > [ 60%] Building CXX object src/api/CMakeFiles/vz-api.dir/CurlResponse.cpp.o
> > Linking CXX static library libvz-api.a
> > [ 60%] Built target vz-api
> > [ 64%] Building CXX object src/protocols/CMakeFiles/proto.dir/MeterS0.cpp.o
> > [ 68%] Building CXX object src/protocols/CMakeFiles/proto.dir/MeterD0.cpp.o
> > [ 72%] Building CXX object src/protocols/CMakeFiles/proto.dir/MeterSML.cpp.o
> > /opt/src/vzlogger/src/protocols/MeterSML.cpp:47:26: fatal error: sml/sml_file.h: Datei oder Verzeichnis nicht gefunden
> > compilation terminated.
> > make[2]: *** [src/protocols/CMakeFiles/proto.dir/MeterSML.cpp.o] Fehler 1
> > make[1]: *** [src/protocols/CMakeFiles/proto.dir/all] Fehler 2
> > make: *** [all] Fehler 2
> > root at rasp:/opt/src/build#
> 
> Die Datei "../libsml/sml/include/sml/sml_file.h" bzw.
> "/opt/src/libsml/sml/include/sml/sml_file.h"
> ist aber vorhanden.
> 
> Was fehlt hier ?
> Wenn es klappt werde ich auch das Wiki entsprechend anpassen das andere 
> nicht in die gleiche Falle laufen.
> Und ja, ich mache das hie rauf einem rasperry, für den es ein fertiges 
> Image gibt, aber es sollte ja trotzdem laut wiki gehen und bei meinem 
> bekannten läuft schon der volkszähler auf dem rasperry mit 1W und 
> S0-Zählern.
> 
> Danke Ronald
> 
> 
> 
> 
> 
> 


More information about the volkszaehler-users mailing list