Portál AbcLinuxu, 10. května 2025 05:32

Dotaz: Arch, makepkg a Intel C++

otula avatar 9.5.2007 11:12 otula | skóre: 45 | blog: otakar | Adamov
Arch, makepkg a Intel C++
Přečteno: 212×
Odpovědět | Admin
Můžete mi někdo poradit, jak si v Archu zkompilovat balíček pomocí icc místo gcc? Tedy jak přimět skript makepkg použít pro kompilaci icc?
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

herne the hunter avatar 9.5.2007 11:50 herne the hunter | skóre: 10 | tor lara
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Odpovědět | | Sbalit | Link | Blokovat | Admin
afaik makepkg neřeší, čím se má balík kompilovat. zavolá build() z PKGBUILDu, kde se obyčejně používá make. takže budeš muset zřejmě změnit příslušnej makefile. ale je taky možný, že se šeredně pletu ;)
i am herne the hunter and you are a leaf driven by the wind.
9.5.2007 12:15 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Nepletes se.
otula avatar 9.5.2007 12:19 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Děkuji, myslel jsem, že to půjde jednodušeji, třeba nastavením nějaké proměnné před kompilací :-(
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
otula avatar 9.5.2007 13:10 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++

Ještě jsem pátral, kde se dalo, a dle informací, které jsem našel, není potřeba zasahovat přímo do makefile, ale stačí nastavit CC a další proměnné při ./configure

Zkoušel jsem například CC=icc CXX=icpc a další pro překlad programu easytag, s některými se přeložil, ale nefungoval, s jinými se vůbec nepřeložil.

Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
9.5.2007 14:43 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Do makefile potreba zasahovat neni, staci do PKGBUILDu. Pokud je tam napr. radek
./configure ...
tak se prepise na
CC=icc ./configure ...
otula avatar 9.5.2007 15:58 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++

Tak jsem s tím zkusil teď přeložit ještě scribus, a nepodařilo se mi to. Troskotá to na různých undefined reference to… :-(

Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
9.5.2007 16:03 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Nedostupne knihovny?
otula avatar 9.5.2007 16:08 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Hm, to já nepoznám. Konkrétně ten scribus končí tímto:
gdk-pixbuf-xlibrgb.c:(.text+0x5426): undefined reference to `_intel_fast_memset'
collect2: ld returned 1 exit status
make[3]: *** [scribus] Error 1
(Normálně s gcc nemám žádný problém)
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
9.5.2007 19:40 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
To prave poznas s toho error vystupu :-) Pokud ti to hodi chybu typu collect: ld returned 1 exit status, je to prave tim, ze nemuze slinkovat objektove soubory.
otula avatar 9.5.2007 21:08 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Takže jsem dospěl k tomu, že s parametry
CC='icc -cxxlib-icc' CXX='icpc -cxxlib-icc'
se to zkompiluje. Program ale při spouštění zhavaruje na tom, že nemůže nalézt intelovské knihovny. Mám za to, že by to měl řešit parametr LDFLAGS, ale když jsem ho zadal jako LDFLAGS='-L/opt/intel/cc/9.1.042/lib', tak kompilace po delší době skončila s chybou
compilation aborted for undomanager.cpp (code 2)
make[3]: *** [undomanager.o] Error 1
Chjo :-(
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
9.5.2007 21:27 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Kdyz se ti to podari zkompilovat, co ti potom rekne
ldconfig binarka ?
Vypise ti to, na jakych sdilenych knihovnach ta binarka zavisi. Pak se koukni, jestli ty knihovny obsahuje vypis
ldconfig -p
Pokud ne, najdi ty knihovny v systemu a proved
ldconfig -n adresar_s_knihovnami
otula avatar 9.5.2007 22:04 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Díky, přivedl jsi mne o kus dál. V /etc/ld.so.conf byla špatně zadaná cesta ke knihovnám. Místo /opt/intel/cc/9.1.042/lib/ tam bylo /opt/intel/cc90/lib/. Takže teď už to nastartuje, ale jen do momentu, kdy to spadne s chybami
QObject::connect: No such signal ScToolBar::prefsChanged()
QObject::connect:  (sender name:   'unnamed')
QObject::connect:  (receiver name: 'uWidget')
Nelze najít modul: /usr/lib/scribus/plugins//libscriptplugin.so.0.0.0: undefined symbol: _ZSt14_Raise_handler
Nelze najít modul: /usr/lib/scribus/plugins//libscribusexportpixmap.so.0.0.0: undefined symbol: _ZSt14_Raise_handler
Nelze najít modul: /usr/lib/scribus/plugins//libsaveastemplateplugin.so.0.0.0: undefined symbol: _ZSt14_Raise_handler
Nelze najít modul: /usr/lib/scribus/plugins//libnewfromtemplateplugin.so.0.0.0: undefined symbol: _ZSt14_Raise_handler
Tohle už jsou ale naprosto jiné chyby. Zkouším teď kompilovat abiword, a jestli dopadne stejně, asi se na to vy… a icc si nechám na dlouhé zimní večery ;-)
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
kozzi avatar 9.5.2007 22:12 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Ahoj,
právě si taky buildim icc a chci se zeptat, jaké to má výhody oproti gcc?
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
otula avatar 9.5.2007 22:17 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Chtěl jsem to vyzkoušet poté, co o něm padla zmínka v tomto zápisku. Pokud máš Intelovský procesor, mělo by to snad rychleji kompilovat rychlejší kód. Ale já už to vzdávám.
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
9.5.2007 22:26 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Pak ti chybi knihovna nebo cesta ke knihovne, na ktere ty pluginy zavisi. Ale to se ti musi objevit pri vypisu ldd.
otula avatar 9.5.2007 22:45 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Hm, hned ten první chce nějakou linux-gate.so.1, kterou jsem nikde nenašel. To je fakt opruz :-P
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
otula avatar 9.5.2007 22:14 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Takže už na to kašlu. Abiword byl velmi strohý:
Neúspěšně ukončen (SIGABRT)
Icc jde pryč, a já zkusím zjistit, jak kompilovat balíčky s použitím profilování gcc, o kterém psal „Deda Jabko“ Každopádně děkuji za vynaložený čas a snahu pomoci.
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
9.5.2007 22:27 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Hmm, pokud by jsi se v tom chtel preci jen trosku postourat, spust abiword s strace.
otula avatar 9.5.2007 22:47 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Už fakt neeee! Mám pocit, že vynaložená námaha má špatný poměr cena/výkon ;-) Ale opravdu ti děkuji :-)
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
9.5.2007 16:45 noname265 | skóre: 5 | blog: Legion_of_arch
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Odpovědět | | Sbalit | Link | Blokovat | Admin
A co tak odstranit /bin/make a dat symlink na icc?Není to sice ideální řešení ale snad by to fungovalo...
nothing
otula avatar 9.5.2007 16:49 otula | skóre: 45 | blog: otakar | Adamov
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Ono to zadání CC, CXX a jiných parametrů je určitě mnohem čistší. Navíc, i když se mi povede najít ty správné parametry, tak ne všechno lze pomocí icc přeložit (např. kernel 100% nejde), takže je určitě mnohem lepší upravit si u konkrétních programů PKGBUILD. Už jen přijít na to, co tam zadat, abych z toho dostal funkční program.
Kdo vám tvrdí, že jste paranoidní, ten v tom spiknutí s největší pravděpodobností jede taky.
10.5.2007 03:18 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
Odpovědět | | Sbalit | Link | Blokovat | Admin

Čtu tady složité diskuse a přitom je to tak snadné: Stačí editovat soubor /etc/makepkg.conf a přidat si do něj dva řádky:

export CC="icc"
export CXX="icpc"

Samozřejmě je nutné mít v /etc/ld.so.conf odkaz na knihovny, tedy něco jako: /opt/intel/cc/9.1.045/lib (Verze je už dnes samozřejmě jiná.) A symlinky na icc a icpc snad ani není nutné připomínat.

Existují bohužel balíčky, které proměnnou CC ignorují. Pak jde buď o špatně vychované balíčky nebo o balíčky, které dobře vědí, proč to dělají.

Závěrem bych rád doplnil, že má kompilace bashe pomocí icc skončila před nedávnem takovým fiaskem, že už jsem raději vůbec alternativní kompilátor nezkoušel. Určitě to ale zase někdy zkusím, až mě přejde zděšení. :-) Tenkrát mě zachránil C-Shell, který jsem čirou náhodou měl nainstalovaný.

kozzi avatar 11.5.2007 19:28 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: Arch, makepkg a Intel C++
JJ, toto řešení je jednoduché, ale mě osobnbě vyhovuje když si to nastavím, jen u PKGBULDů, u kterých to chci. Jinak mé zkušenosti jsou takové, že abiword, pidgin fungují skvěle za použití icc
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"

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.