Otázka:
Vytváření otevřeného životopisu selže na Raspbian při tvorbě 61%
user1068636
2012-09-16 19:14:45 UTC
view on stackexchange narkive permalink

Pokouším se nainstalovat Open CV na Raspbian podle těchto kroků:

http://mitchtech.net/raspberry-pi-opencv/

Všechno funguje, dokud nevyrobím „make“. Získá to až 61% a pak se zobrazí následující chyba:

  [61% postavený cíl opencv_perf_gpu] [61% budování modulů objektu CXX / gpu / CMakeFiles / opencv_test_gpu.dir / test / test_core .cpp.o] c ++: interní chyba kompilátoru: Zabil (program cclplus) Prosím odešlete kompletní zprávu o chybě, případně s předzpracovaným zdrojem. Pokyny viz <file: ///usr/share/doc/gcc-4.6/README.Bugs> .make [2]: *** [modules / gpu / CMakeFiles / opencv_test_gpu.dir / test / test_core.cpp.o] Chyba 4make [1]: *** [modules / gpu / CMakeFiles / opencv_test_gpu.dir / vše] Chyba 2make: *** [vše] Chyba 2  

Používám obrázek 2012-08-16-wheezy-raspbian, rozšířený na 8 koncertů.

Web, který sleduji, instaluje starší verzi Open CV [2.3.1] na Debian img.

Myslíte si, že to je problém? Stojí za to tento problém vyřešit, nebo bych se měl jednoduše vrátit ke starší verzi Open CV a místo toho použít debian?

Tři odpovědi:
Krzysztof Adamski
2012-09-16 19:38:19 UTC
view on stackexchange narkive permalink

Vaše chybová zpráva říká, že došlo k interní chybě kompilátoru. To znamená, že v kompilátoru existuje chyba, která brání vytváření tohoto kódu. Stává se to někdy, zejména na méně podporovaných architekturách, jako je armv6. Existuje několik věcí, které můžete udělat, abyste to zkusili vyřešit:

  • použijte novější verzi kompilátoru. Výchozí verze v Debianu 6 je GCC-4.6, ale GCC-4.7 je také k dispozici. Instalace je snadná, stačí zadat sudo apt-get install gcc-4.7 . Instalace je však jen jeden krok. Nyní musíte vytvořit opencv build systém (který je cmake ) používat. Můžete to zkusit pomocí proměnných prostředí předponou cmake pomocí: CC = gcc-4.7 CXX = g ++ - 4.7 . Bylo by to tedy cmake -D CMAKE_BUILD_TYPE = RELEASE -D CMAKE_INSTALL_PREFIX = / usr / local -D BUILD_PYTHON_SUPPORT = ON -D BUILD_EXAMPLES = ON .. . Nebo to můžete udělat v cmake-gui . Ať tak či onak, začněte od začátku, odeberte složky, které jste kompilovali, a vytvořte novou novou.

  • Nainstalujte starší verzi opencv , jak se zdá že to funguje pro někoho, kdo napsal tento tutoriál. Pokud změna verze gcc nepomůže, stojí to za to. Pokud opravdu nepotřebujete funkce z novější verze.

  • Hrajte s možnostmi kompilátoru g ++ . Zejména s úrovněmi optimalizace (možnost -O ). Vypnutí optimalizace ( -O0 ) někdy řeší problémy s interními chybami kompilátoru. Bohužel vám nemohu dát žádné rady, jak to udělat. Možná budete muset hrát s cmake build systémem nebo Makefile , který vytváří.

právě teď jdu s vaší druhou odrážkou, vrátit se k otevření CV 2.3.1 a znovu sestavit vše. Pokud to nefunguje, půjdu s gcc-4.7. po instalaci gcc-4.7, jak přesně nastavím ty proměnné prostředí, o kterých mluvíte? CC = gcc-4.7 a CXX = g ++ - 4.7?
Buď použijete příkazy `export CC = gcc-4.7` a` export CXX = g ++ - 4.7`, nebo stačí zadat příkaz `CC = gcc-4.7 CXX = g ++ - 4,7 cm. ZBYTEK PŘÍKAZU`
Dostal jsem to do práce s OpenCV 2.3.1 na Raspbian Wheezy. Byl jsem schopen úspěšně spustit 3 ukázky „kmeans“, „drawing“ a „convexhull“. Díky za vaši pomoc!
Musíte také nainstalovat g ++ - 4.7, který by měl být přidán do příkazu apt-get. Kromě toho lze pomocí cmake-gui snadno nastavit verzi kompilátoru.
Alex Chamberlain
2012-09-16 20:14:26 UTC
view on stackexchange narkive permalink

Jsem si celkem jistý, že vám došlo paměť. Měli byste překompilovat OpenCV pomocí vašeho PC.

Vygooglil jsem si chybovou zprávu a viděl ten závěr. Ale co mi nedává smysl, je to, jak to, že ten druhý dokázal nainstalovat open cv 2.3.1 na svůj debian obraz (dokonce ukazuje video z youtube)?
Čtu také tuto stránku: http://www.bootc.net/archives/2012/05/26/how-to-build-a-cross-compiler-for-your-raspberry-pi/ a přemýšlím, jestli Nakonec to udělám, jak by to fungovalo s Open CV? Používám svůj nástrojový řetězec k vytvoření všech binárních souborů pro Open CV a jednoduše je někde zkopíruji do mého malinového pi? Jak to funguje?
@user1068636: Které rozdělení paměti používáte? Máte povolený SWAP? Věřím, že pokud by to byl problém s nedostatkem paměti, můžete ve svém záznamu `dmesg` najít stopy` OOM killer`.
@Krzysztof - Jak můžete zjistit, jaké rozdělení používáte, nebo jestli mám povolenou výměnu?
@user1068636: Jedním ze způsobů je zkontrolovat, kolik volné paměti máte pomocí `free -m`. V řádku „Mem:“ vyhledejte hodnotu „total“. Pokud nevíte nic o rozdělení paměti, pravděpodobně máte 192 MB, což je výchozí hodnota (příkaz `free` se zobrazí o něco méně). Mohli byste mít také 128, 224 nebo 240. Čím více RAM máte, tím méně RAM je přiděleno pro GPU. Můžete také zkontrolovat, zda je váš swap povolen pomocí stejného příkazu, stačí vyhledat řádek „Swap:“. Pokud je nenulová, máte povolenou výměnu.
user14206
2014-04-15 13:38:48 UTC
view on stackexchange narkive permalink

Měl jsem stejný problém. Řešením bylo získat novou malinu. Ten starý měl pouze 256 MB paměti. Když jsem testoval na verzi 512M na čerstvém malinovém obrázku, vše se zkompilovalo v pořádku, (6-7 hodin)



Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...