Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:hexabus_on_rpi

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
hexabus_on_rpi [2013/04/29 22:02] – angelegt justinotherguyhowto:hexabus_on_rpi [2013/09/24 04:17] (aktuell) – Page moved from hexabus_on_rpi to howto:hexabus_on_rpi r00t
Zeile 18: Zeile 18:
 === install development tools === === install development tools ===
 <code> <code>
-apt-get install git cmake g+++apt-get install git cmake g++ libsqlite3-dev (this will pull cmake-data emacsen-common git-man libcurl3-gnutls liberror-perl libxmlrpc-core-c3 rsync)
 </code> </code>
  
-=== install development tools ===+=== install Boost ===
 <code> <code>
-apt-get install libsqlite3-dev+apt-get install libboost1.49-dev libboost-chrono1.49-dev libboost-chrono1.49.0 libboost-date-time1.49-dev libboost-date-time1.49.0 libboost-filesystem1.49-dev libboost-filesystem1.49.0 libboost-system1.49.0 libboost-system1.49-dev libboost-program-options1.49-dev libboost-program-options1.49.0 libboost-serialization1.49.0 libboost-serialization1.49-dev libboost-test1.49-dev libboost-test1.49.0 libboost-thread-dev libboost-thread1.49-dev libboost-thread1.49.0
 </code> </code>
  
-=== install Boost ===+=== warning === 
 +compiling hexabus on a RaspberryPi is actually possible. During the process you do need a considerable amount of RAM - virtual memory is ok. As our beloved RPi only comes along with 256 / 512 MB and you need to provide enough RAM for the peak of some 1000 MB, you should have 1 GB of swap space available. You can do so by simply inserting a usb memory stick into the RPi, create a swap partition, format and activate it:
 <code> <code>
-apt-get install libboost1.49-dev libboost-chrono1.49-dev libboost-chrono1.49.0 libboost-date-time1.49-dev libboost-date-time1.49.0 libboost-filesystem1.49-dev libboost-filesystem1.49.0 libboost-system1.49.0 libboost-system1.49-dev libboost-program-options1.49-dev libboost-program-options1.49.0 libboost-serialization1.49.0 libboost-serialization1.49-dev libboost-test1.49-dev libboost-test1.49.0 libboost-thread-dev libboost-thread1.49-dev libboost-thread1.49.0+cfdisk /dev/<your device name here> #remark: make sure you have the correct one here! 
 +delete the existing partition (...you are going to loose all data on the stick in this step...
 +create a new partition with at least 1 GB of space 
 +set the partition type to "82" 
 +write the results to the stick and quit cfdisk 
 +mkswap /dev/<your device name here> (e.g.: "mkswap /dev/sda1")
 </code> </code>
  
-=== install libklio ===+=== compile and install libklio ===
 <code> <code>
 +cd /usr/local/src
 git clone https://github.com/mysmartgrid/libklio.git git clone https://github.com/mysmartgrid/libklio.git
 cd libklio cd libklio
-make 
 make release *) make release *)
 +dpkg -i build/libklio-0.2.0-linux.deb
 cd .. cd ..
  
Zeile 42: Zeile 49:
 make release throws an error at the end because it's unable to find rpmbuild (well...): make release throws an error at the end because it's unable to find rpmbuild (well...):
 [...] [...]
-Linking CXX executable algorithmstest 
-/usr/bin/c++   -Wall  -O3 -Wno-non-virtual-dtor -Werror    CMakeFiles/algorithmstest.dir/test_algorithms.cpp.o CMakeFiles/algorithmstest.dir/main.cpp.o  -o algorithmstest -rdynamic ../../libklio/libklio.a -Wl,-Bstatic -lboost_test_exec_monitor-mt -Wl,-Bdynamic -lboost_program_options-mt -lboost_filesystem-mt -lboost_system-mt -lboost_date_time-mt -lsqlite3 -Wl,-Bstatic -lboost_test_exec_monitor-mt -Wl,-Bdynamic -lboost_program_options-mt -lboost_filesystem-mt -lboost_system-mt -lboost_date_time-mt 
-[100%] Built target algorithmstest 
-Run CPack packaging tool... 
-CPack: Create package using STGZ 
-CPack: Install projects 
-CPack: - Run preinstall target for: libklio 
-CPack: - Install project: libklio 
-CPack: Create package 
-CPack: - package: /usr/local/src/libklio/build/libklio-0.2.0-Linux.sh generated. 
-CPack: Create package using TGZ 
-CPack: Install projects 
-CPack: - Run preinstall target for: libklio 
-CPack: - Install project: libklio 
-CPack: Create package 
-CPack: - package: /usr/local/src/libklio/build/libklio-0.2.0-Linux.tar.gz generated. 
-CPack: Create package using DEB 
-CPack: Install projects 
-CPack: - Run preinstall target for: libklio 
-CPack: - Install project: libklio 
-CPack: Create package 
 CPack: - package: /usr/local/src/libklio/build/libklio-0.2.0-Linux.deb generated. CPack: - package: /usr/local/src/libklio/build/libklio-0.2.0-Linux.deb generated.
 CPack: Create package using RPM CPack: Create package using RPM
Zeile 71: Zeile 57:
 CMake Error at /usr/share/cmake-2.8/Modules/CPackRPM.cmake:271 (MESSAGE): CMake Error at /usr/share/cmake-2.8/Modules/CPackRPM.cmake:271 (MESSAGE):
   RPM package requires rpmbuild executable   RPM package requires rpmbuild executable
- 
  
 CPack Error: Error while execution CPackRPM.cmake CPack Error: Error while execution CPackRPM.cmake
Zeile 81: Zeile 66:
 </code> </code>
  
-=== install libklio === +=== compile and install libhexabus ===
-<code> +
-dpkg -i build libklio-0.2.0-linux.deb +
-</code> +
- +
-=== install hexabus ===+
 <code> <code>
 git clone https://github.com/mysmartgrid/hexabus.git git clone https://github.com/mysmartgrid/hexabus.git
Zeile 92: Zeile 72:
 git checkout development git checkout development
 cd hostsoftware/libhexabus cd hostsoftware/libhexabus
-make release+make release  #remark: took some 20 minutes to complete
 dpkg -i build/libhexabus-0.6.0-Linux.deb dpkg -i build/libhexabus-0.6.0-Linux.deb
 +cd ..
 </code> </code>
  
-=== install Hexabus assembler ===+=== compile and install Hexabus assembler ===
 <code> <code>
-cd ../hba +cd hba 
-make release +make release #remarktook some 100 minutes to complete 
- +cd .. 
-output: +</code>
--- The C compiler identification is GNU 4.6.3 +
--- The CXX compiler identification is GNU 4.6.3 +
--- Check for working C compiler: /usr/bin/gcc +
--- Check for working C compiler: /usr/bin/gcc -- works +
--- Detecting C compiler ABI info +
--- Detecting C compiler ABI info - done +
--- Check for working CXX compiler: /usr/bin/c++ +
--- Check for working CXX compiler: /usr/bin/c++ -- works +
--- Detecting CXX compiler ABI info +
--- Detecting CXX compiler ABI info - done +
--- Looking for C++ include iostream +
--- Looking for C++ include iostream - found +
--- Check for STD namespace +
--- Check for STD namespace - found +
--- Check for ANSI scope +
--- Check for ANSI scope - found +
--- Check for sstream +
--- Check for sstream - found +
--- Boost version: 1.49.0 +
--- Found the following Boost libraries: +
---   program_options +
---   system +
- +
-***** Configuration ***** +
-  prefix: /usr/local +
-  boost include: /usr/include +
-  boost program options lib: /usr/lib/libboost_program_options-mt.so +
-  boost system lib: /usr/lib/libboost_system-mt.so +
-  extended logging: 1 +
--- Configuring done +
--- Generating done +
--- Build files have been written to: /usr/local/src/hexabus/hostsoftware/hba/build +
-Scanning dependencies of target hba +
-[ 11%] Building CXX object libhba/CMakeFiles/hba.dir/generator_flash.cpp.o +
-/usr/local/src/hexabus/hostsoftware/hba/libhba/generator_flash.cpp: In member function ‘void hba_doc_visitor::operator()(const hexabus::if_clause_doc&, unsigned int, unsigned int) const’: +
-/usr/local/src/hexabus/hostsoftware/hba/libhba/generator_flash.cpp:78:21: error: cannot bind packed field ‘t.transition::value.hxb_value::<anonymous>.hxb_value::<anonymous union>::v_float’ to ‘float&’ +
-/usr/local/src/hexabus/hostsoftware/hba/libhba/generator_flash.cpp:80:33: error: cannot bind packed field ‘t.transition::value.hxb_value::<anonymous>.hxb_value::<anonymous union>::v_u32’ to ‘unsigned int&’ +
-/usr/local/src/hexabus/hostsoftware/hba/libhba/generator_flash.cpp: In member function ‘void hba_doc_visitor::operator()(const hexabus::condition_doc&) const’: +
-/usr/local/src/hexabus/hostsoftware/hba/libhba/generator_flash.cpp:151:23: error: cannot bind packed field ‘c.condition::value.hxb_value::<anonymous>.hxb_value::<anonymous union>::v_float’ to ‘float&’ +
-/usr/local/src/hexabus/hostsoftware/hba/libhba/generator_flash.cpp:153:35: error: cannot bind packed field ‘c.condition::value.hxb_value::<anonymous>.hxb_value::<anonymous union>::v_u32’ to ‘unsigned int&’ +
-make[3]: *** [libhba/CMakeFiles/hba.dir/generator_flash.cpp.o] Error 1 +
-make[2]: *** [libhba/CMakeFiles/hba.dir/all] Error 2 +
-make[1]: *** [all] Error 2 +
-make: *** [release] Error 2+
  
 +=== compile and install Hexabus compiler ===
 +<code>
 +cd hbc
 +make release #remark: took some 440 minutes to complete - be patient!
 +dpkg -i build/
 +cd ..
 </code> </code>
  
-=== install hexinfo ===+=== compile and install hexinfo ===
 <code> <code>
-cd ../hexinfo +cd hexinfo 
-make release +make release #remark: took some 380 minutes to complete - almost there! 
-dpkg -i build+dpkg -i build
 +cd .. 
 +</code> 
 + 
 +apt-get install libboost-system1.49.0 libboost-program-options1.49.0 libboost-filesystem1.49.0 libboost-thread1.49.0 
howto/hexabus_on_rpi.1367265746.txt.gz · Zuletzt geändert: 2013/04/29 22:02 von justinotherguy