Raspbian und Threading Building Blocks (tbb)

Debian auf Notebooks und speziellen Geräten wie eingebetteten Systemen, Routern, Set-Top-Boxen, ...
Antworten
Benutzeravatar
synapsenstau
Beiträge: 171
Registriert: 08.10.2013 09:56:34
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Südharz

Raspbian und Threading Building Blocks (tbb)

Beitrag von synapsenstau » 12.02.2016 15:41:41

Auf einem Raspberry Pi 2 versuche ich ein Programm von Github zu kompilieren. Fast alle Abhängigkeiten konnte ich mit apt-get lösen, bis auf libtbb-dev, welches für Raspbian Jessie nicht gibt. Nach dieser Anleitung[1] habe ich mir die aktuellen Tbb-sourcen[2] besorgt und es kompiliert. Dieses ging auch gut und die Binaries wurden erstell (im angegebenen Ordner). Das Script source tbbvars.sh wurde ohne Ausgabe beendet, frei nach dem Linux Motto "No news, are good news" wie ich dachte. Somit dachte ich das ich nun alles zusammenhatte und startete das eigentliche kompilieren (und der Vorbereitungen). Nach der eingabe von ' cmake .' sah ich aber folgende Meldung:

Code: Alles auswählen

-- Found libnatpmp: /usr/lib/libnatpmp.so
-- Found LevelDB: /usr/lib/arm-linux-gnueabihf/libleveldb.so
ERROR: Unable to find Intel TBB install directory. 
-- Found nodejs (/usr/bin/nodejs)
-- Building with UPNP support (miniupnpc)
-- Boost version: 1.55.0
-- Found the following Boost libraries:
--   regex
--   system
--   thread
-- Library directory: /usr/local/lib
-- Data directory: /usr/local/share/airdcpp
-- Version file generated
-- No string changes detected, using old StringDefs.cpp
-- Stacktrace enabled
-- CMAKE_SYSTEM: Linux-4.1.17-v7+
-- CMAKE_SYSTEM_PROCESSOR: armv7l
-- CMAKE_CXX_COMPILER_ID: GNU
-- CMAKE_CXX_COMPILER_VERSION: 4.9.2
-- CMAKE_C_COMPILER_ID: GNU
-- CMAKE will use this libs (and headers) during build:
    miniupnpc (headers):/usr/lib/arm-linux-gnueabihf/libminiupnpc.so (/usr/include)
    boost (headers): /usr/lib/arm-linux-gnueabihf/libboost_regex.so;/usr/lib/arm-linux-gnueabihf/libboost_system.so;/usr/lib/arm-linux-gnueabihf/libboost_thread.so;/usr/lib/arm-linux-gnueabihf/libpthread.so (/usr/include)
    bzip2 (headers): /usr/lib/arm-linux-gnueabihf/libbz2.so (/usr/include)
    zlib (headers): /usr/lib/arm-linux-gnueabihf/libz.so (/usr/include)
    openssl (headers): /usr/lib/arm-linux-gnueabihf/libssl.so;/usr/lib/arm-linux-gnueabihf/libcrypto.so (/usr/include)
    iconv (headers): /usr/lib/arm-linux-gnueabihf/libc.so (/usr/include)
    geoip (headers): /usr/lib/arm-linux-gnueabihf/libGeoIP.so (/usr/include)
    leveldb (headers): /usr/lib/arm-linux-gnueabihf/libleveldb.so (/usr/include)
    websocketpp (headers): (/usr/include)
    natpmp (headers): /usr/lib/libnatpmp.so (/usr/include)
    tbb (headers):  ()
Es wurden anscheinend kein tbb instaliert (oder gefunden). Kann mir jemand sagen wo der Fehler liegt?

Links:
[1] http://blog.turbine51.net/2015/06/20/Co ... -Raspbian/
[2] https://www.threadingbuildingblocks.org ... ss_src.tgz
..::: Intel® Core™ i5-6600 :::..::: 16 GB Ram :::..
..::: 1 TB Nvme :::..::: 1 TB SSD :::..::: NVIDIA GeForce GTX 1070 :::.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Raspbian und Threading Building Blocks (tbb)

Beitrag von rendegast » 12.02.2016 16:19:13

Evtl sind die Dateien in /usr/local/include/ gelandet und der Kompiliervorgang sucht dort nicht?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
synapsenstau
Beiträge: 171
Registriert: 08.10.2013 09:56:34
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Südharz

Re: Raspbian und Threading Building Blocks (tbb)

Beitrag von synapsenstau » 16.02.2016 12:24:17

Leider nein. /usr/local/include/ ist komplett leer.
..::: Intel® Core™ i5-6600 :::..::: 16 GB Ram :::..
..::: 1 TB Nvme :::..::: 1 TB SSD :::..::: NVIDIA GeForce GTX 1070 :::.

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: Raspbian und Threading Building Blocks (tbb)

Beitrag von hikaru » 16.02.2016 12:50:49

Hat du es schon mal mit dem Paket aus den offiziellen Jessie-Quellen probiert?
Debianlibtbb-dev

inne
Beiträge: 3273
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Raspbian und Threading Building Blocks (tbb)

Beitrag von inne » 16.02.2016 13:49:25

Welches Projekt auf Github?


Das tbbvars.sh-Skript setzt wohl Umgebungsvariablen, wo die Lib zu finden ist... Vlt. mal schauen mit printenv, ob da alles stimmt.

Benutzeravatar
synapsenstau
Beiträge: 171
Registriert: 08.10.2013 09:56:34
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Südharz

Re: Raspbian und Threading Building Blocks (tbb)

Beitrag von synapsenstau » 16.02.2016 14:01:23

Nach diversen kleinen erfolgen und großen rückschlägen habe ich jetzt zur sources.list

Code: Alles auswählen

deb http://ftp.de.debian.org/debian jessie main
hinzugefügt. Danach natürlich apt-get update/upgrade. Dann gab es Debianlibtbb-dev als Installationspacket, welches dann auch installiert wurde. "cmake ." lief ohne Fehler durch. Ein darauf folgendes "make" brach gleich mit folgendem Fehler ab:

Code: Alles auswählen

[  0%] Building CXX object airdcpp-core/CMakeFiles/airdcpp.dir/airdcpp/Client.cpp.o
In file included from /usr/include/tbb/tbb_machine.h:252:0,
                 from /usr/include/tbb/task.h:33,
                 from /usr/include/tbb/task_group.h:32,
                 from /home/pi/install_prg/airdcpp-webclient/airdcpp-core/airdcpp/concurrency.h:26,
                 from /home/pi/install_prg/airdcpp-webclient/airdcpp-core/airdcpp/DispatcherQueue.h:26,
                 from /home/pi/install_prg/airdcpp-webclient/airdcpp-core/airdcpp/LogManager.h:27,
                 from /home/pi/install_prg/airdcpp-webclient/airdcpp-core/airdcpp/Client.cpp:28:
/usr/include/tbb/machine/gcc_armv7.h:39:2: error: #error compilation requires an ARMv7-a architecture.
 #error compilation requires an ARMv7-a architecture.
  ^
airdcpp-core/CMakeFiles/airdcpp.dir/build.make:54: recipe for target 'airdcpp-core/CMakeFiles/airdcpp.dir/airdcpp/Client.cpp.o' failed
make[2]: *** [airdcpp-core/CMakeFiles/airdcpp.dir/airdcpp/Client.cpp.o] Error 1
CMakeFiles/Makefile2:106: recipe for target 'airdcpp-core/CMakeFiles/airdcpp.dir/all' failed
make[1]: *** [airdcpp-core/CMakeFiles/airdcpp.dir/all] Error 2
Makefile:117: recipe for target 'all' failed
make: *** [all] Error 2
Also wenn ich das richtig verstehe will er jetzt ARMv7 haben, aber das Raspbian ist doch ARMv7.
..::: Intel® Core™ i5-6600 :::..::: 16 GB Ram :::..
..::: 1 TB Nvme :::..::: 1 TB SSD :::..::: NVIDIA GeForce GTX 1070 :::.

Benutzeravatar
synapsenstau
Beiträge: 171
Registriert: 08.10.2013 09:56:34
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Südharz

Re: Raspbian und Threading Building Blocks (tbb)

Beitrag von synapsenstau » 16.02.2016 14:04:39

inne hat geschrieben:Welches Projekt auf Github?
https://github.com/airdcpp-web/airdcpp-webclient
..::: Intel® Core™ i5-6600 :::..::: 16 GB Ram :::..
..::: 1 TB Nvme :::..::: 1 TB SSD :::..::: NVIDIA GeForce GTX 1070 :::.

inne
Beiträge: 3273
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Raspbian und Threading Building Blocks (tbb)

Beitrag von inne » 16.02.2016 14:10:56

Oke. Dann kannst du wenn die richtige Lib (Architektur) installiert ist. Auch über die Varibalen in https://github.com/airdcpp-web/airdcpp- ... dTBB.cmake beschrieben, sagen wohin die Lib installiert wurde.

Das sollte zusammen mit tbbvars.sh etwas Licht ins Dunke bringen, ob die Lib auch richtig installiert wurde.

Code: Alles auswählen

bash -x tbbvars.sh
Zuletzt geändert von Anonymous am 16.02.2016 14:37:18, insgesamt 1-mal geändert.

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: Raspbian und Threading Building Blocks (tbb)

Beitrag von hikaru » 16.02.2016 14:33:59

synapsenstau hat geschrieben: #error compilation requires an ARMv7-a architecture.
Benutzt du ein Raspbian-Image das RPi1-kompatibel ist?

Benutzeravatar
synapsenstau
Beiträge: 171
Registriert: 08.10.2013 09:56:34
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Südharz

Re: Raspbian und Threading Building Blocks (tbb)

Beitrag von synapsenstau » 16.02.2016 14:47:12

hikaru hat geschrieben:Benutzt du ein Raspbian-Image das RPi1-kompatibel ist?
Jetzt wo du das so sagst, kann es sein. Habe das Image von der Raspi Seite (https://www.raspberrypi.org/downloads/raspbian/). Die allwissende Suchmaschine hat mich gerade in Richtung Linaro geführt. Werde es mal damit testen, weil das ARMv7 "only" sein soll.

@inne:
Da ich mitlerweile die libttb-dev instaliert habe und diese auch von cmake gefunden wird denke ich, das das obsolete ist. Außerdem habe ich am WE die tbb-libs händisch in mein Raspbian kopiert und hatte dann die selbe Fehlermeldung wie jetzt. Wusste da nur nicht ob es an tbb liegt oder ich beim händischen kopieren mist gebaut hatte. Da der fehler jetzt wieder auftaucht, scheint es an der Architektur zu liegen.
..::: Intel® Core™ i5-6600 :::..::: 16 GB Ram :::..
..::: 1 TB Nvme :::..::: 1 TB SSD :::..::: NVIDIA GeForce GTX 1070 :::.

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: Raspbian und Threading Building Blocks (tbb)

Beitrag von hikaru » 16.02.2016 14:56:04

Du könntest auch probieren, die tbb-Debianpakete auf deinem aktuellen System aus den Quellen neuzubauen.

inne
Beiträge: 3273
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Raspbian und Threading Building Blocks (tbb)

Beitrag von inne » 16.02.2016 15:08:45

synapsenstau hat geschrieben: @inne:
Da ich mitlerweile die libttb-dev instaliert habe und diese auch von cmake gefunden wird denke ich, das das obsolete ist.
Ja, denke ich auch. Hikarus Lösungsansatz ist auch nicht verkert.

Btw: Wo bekomme ich ein Raspbian ARMv7 her, via NOOBS?

Benutzeravatar
synapsenstau
Beiträge: 171
Registriert: 08.10.2013 09:56:34
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Südharz

Re: Raspbian und Threading Building Blocks (tbb)

Beitrag von synapsenstau » 16.02.2016 16:22:26

Also ein reines ARMv7 Raspbian scheint es nicht zu geben. Es wird immer von Linaro geredet und dann habe ich dieses[1] Debian gefunden. Sichere gerade meine SD-Karte und dann wird das Image von der Seite "geflasht".


Links:
[1] http://sjoerd.luon.net/posts/2015/02/de ... e-on-rpi2/
..::: Intel® Core™ i5-6600 :::..::: 16 GB Ram :::..
..::: 1 TB Nvme :::..::: 1 TB SSD :::..::: NVIDIA GeForce GTX 1070 :::.

Benutzeravatar
synapsenstau
Beiträge: 171
Registriert: 08.10.2013 09:56:34
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Südharz

Re: Raspbian und Threading Building Blocks (tbb)

Beitrag von synapsenstau » 19.02.2016 08:08:52

Zur Info:
Das in meinem letzten Post genannte Debina Linux ist auf der Pi 2 und läuft wunderbar. Jetzt reciht aber der RAM nicht mehr fürs kompilieren.....
Ich denke das ich mir jetzt CrossCompile anschaue.

Danke für eure Tips.
..::: Intel® Core™ i5-6600 :::..::: 16 GB Ram :::..
..::: 1 TB Nvme :::..::: 1 TB SSD :::..::: NVIDIA GeForce GTX 1070 :::.

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: Raspbian und Threading Building Blocks (tbb)

Beitrag von hikaru » 22.02.2016 15:53:08

Der RPi2 hat doch 1GB RAM. Damit sollte sich ales compilieren lassen. Mein Cubieboard2 hat auch nicht mehr und damit habe ich schon Browser compiliert.
Ich vermute, es fehlt eher am Swap. Wenn ich etwas größeres compilieren will, dann mounte ich ein 10GB-Swap-Image.

Benutzeravatar
synapsenstau
Beiträge: 171
Registriert: 08.10.2013 09:56:34
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Südharz

Re: Raspbian und Threading Building Blocks (tbb)

Beitrag von synapsenstau » 23.02.2016 09:17:39

Jep, diese möglichkeit gibts auch. Bis jetzt hat mein Debian auf Raspberry (kein Raspbian!!) noch keinen Swap. Auf Github hat ein anderer User berichtet, das er mit 4GB Swap es kompilieren kontne. Ich habe leider erst die Tage Zeit das zu probieren.....
..::: Intel® Core™ i5-6600 :::..::: 16 GB Ram :::..
..::: 1 TB Nvme :::..::: 1 TB SSD :::..::: NVIDIA GeForce GTX 1070 :::.

Antworten