Portál AbcLinuxu, 10. května 2025 02:23

Dotaz: chyba g++ při překladu rtorrent

14.5.2009 12:51 scisoft
chyba g++ při překladu rtorrent
Přečteno: 287×
Odpovědět | Admin

Dobrý den, pánové.
Mám takový malý problém. Kompilace rtorrent-0.8.4 skončí s touto chybou:

2.0 -I/usr/local/lib/sigc++-2.0/include -I/usr/local/include -MT dht_manager.o -MD -MP -MF .deps/dht_manager.Tpo -c -o dht_manager.o dht_manager.cc
g++: Internal error: Ukončen (SIGTERM) (program cc1plus)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make[3]: *** [dht_manager.o] Error 1
make[3]: Leaving directory `/root/src/TORRENT/rtorrent-0.8.4/src/core'

Přitom třeba překlad rtorrent-0.7.5 proběhne bez problémů.
Příslušné knihovny (libsigc++-2.2.3 a libtorrent-0.12.4)
jsou přeložené a nainstalované. Distribuce je Slackware 11.0.

Čím je způsobena chyba uvedená výše?

 

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Fuky avatar 14.5.2009 13:49 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: chyba g++ při překladu rtorrent
Odpovědět | | Sbalit | Link | Blokovat | Admin

Zkoušel jsem to na Lennym a kompilace proběhla bez problémů.

$ g++ --version
g++ (Debian 4.3.2-1.1) 4.3.2

-- RÁMO: psí tábor , ETriatlon: Výuka plavání
14.5.2009 14:33 scisoft
Rozbalit Rozbalit vše Re: chyba g++ při překladu rtorrent

Jenže v téhle distribuci je gcc 3.4.6. Nemůže to být tím?

Fuky avatar 14.5.2009 14:53 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: chyba g++ při překladu rtorrent
Podle mě to vypadá opravdu na problém s překladačem a použití novější verze ho odstraní.
14.5.2009 18:17 vencas | skóre: 32
Rozbalit Rozbalit vše Re: chyba g++ při překladu rtorrent

Stačí gcc přeložit s -g, pak pustit překlad a když to ICEne tak si vypsat stacktrace, otevřít si zdrojáky g++, trochu se v nich zorientovat, povrtat a chybu odstranit.

14.5.2009 16:19 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
Rozbalit Rozbalit vše Re: chyba g++ při překladu rtorrent
Občas se takové věci stávají. Řeší se těžko, ale obecně se dá postupovat asi takto:
  1. Přeložit samostatně přímo ten soubor, na kterém to spadne, ještě jednou s jinými parametry překladače. Tedy např. vypnout či pozměnit optimalizace, nebo nechat si místo binárního modulu sestavit kód v asembleru, a ten zkompilovat dodatečně.
  2. Použít jinou verzi překladače, lhostejno jestli starší nebo novější. Ideální je mít v systému více verzí překladače.
15.5.2009 16:21 Karel Vlk
Rozbalit Rozbalit vše Re: chyba g++ při překladu rtorrent
Odpovědět | | Sbalit | Link | Blokovat | Admin

Me se podobna vec stavala kdyz jsem kompiloval velky soubor. GCC si allokovalo prilis mnoho pameti a OOM killer ho ukoncil.

 

Pomuze pridat vic pameti nebo zvetsit swap.

 

Kouknete se taky na flagy ggc-min-heapsize a ggc-min-expand, ktere urcujim jaky zpusobem bude gcc vyuzivat heap pamet.

 

 

David Watzke avatar 15.5.2009 17:47 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: chyba g++ při překladu rtorrent
oom-killer ale neposílá SIGTERM :-)
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
15.5.2009 21:03 scisoft
Rozbalit Rozbalit vše Re: chyba g++ při překladu rtorrent

Myslíte, že 320MB ram a swap 500 MB je malo? Spíš si myslím, že rtorrent od 8.0+ nejde přeložit pod gcc 3.4.6.

Verzi 7.9 jsem bez problémů přeložil a 8.2 už nešla. Jinak chyba popsaná nahoře byla způsobena jak jinak,

než mezi PC a židlí :=). Pomíchaly se mi trošku verze knihoven. Po opravě problém vyřešen.

David Watzke avatar 15.5.2009 17:48 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: chyba g++ při překladu rtorrent
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tohle se mi stávalo, když jsem moc přetaktoval procesor (a RAM) a kompiloval něco velkýho.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.