Portál AbcLinuxu, 25. dubna 2024 18:58


Dotaz: dve verce gcc a glibc

8.5.2005 00:02 psYcOder | skóre: 5
dve verce gcc a glibc
Přečteno: 100×
Odpovědět | Admin
Zdravim,uz jsem se na neco podobneho ptal,ikdyz diskuze nedosla ke zdarnemu reseni. Ted to mam trochu jinak. Chci vedet zda by mohla fungovat tato teorie: Na systemu(s distribici slack 10.1 => glibc 2.3.4,gcc 3.3.4) jestli je mozne nainstalovat druhou/starsi verzi glibc gcc. System by normalne pouzivat svou novejsi verzi gcc a glibc,ale pri kompilaci jisteho programu musim pouzit starsi verzi gcc i glibc,nicmene pro aktualni system potrebuji novejsi verze. Nainstalovat starsi verzi zpusobem,ze bych udelal skript(neco ve smyslu switchto), ktery by prepsal symlinky bud na starsi/novejsi. Podle me by toteoreticky fungovat mohlo,kdyz by se switchto pouzil pouze na kompilaci programu. Ale nez si rozhrabu totalne system,tak bych se radeji poradil. Eventuelne jestle nekdo resil podobny problem. Predem dekuji
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.5.2005 00:11 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: dve verce gcc a glibc
Odpovědět | | Sbalit | Link | Blokovat | Admin
Manipulovat s glibc je velmi spolehlivá a poměrně rychlá cesta jak zrušit systém :-)
Copak toho není dost?
8.5.2005 00:18 Jorgito
Rozbalit Rozbalit vše Re: dve verce gcc a glibc
de to, podivej se napriklad na crossgcc.billgatliff.com anebo maillist na redhatu sources.redhat.com/ml/crossgcc

v zasade jde o to udelat uplne novy toolchain, to znamena binutils+kern.headers+gcc+glibc

potom kdyz budes prekladat si budes muset davat pozor proti cemu to budes linkovat... ps:dalsi info jak si udelat toolchain muzes najit na lfs (linux from scratch)
8.5.2005 00:19 Jorgito
Rozbalit Rozbalit vše Re: dve verce gcc a glibc
doporucuju delat ten toolchain nekde v /home adresari....kdyz budes potrebovat info tak dej vedet...
8.5.2005 00:26 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: dve verce gcc a glibc
Já neříkám, že to nejde :-) Já jenom odrazuji od manipulace s tou glibc, která je v /lib a je s ní slinkovaný celý systém.
Copak toho není dost?
8.5.2005 00:22 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: dve verce gcc a glibc
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mít víc verzí gcc je docela běžné, glibc jedině tak nainstalovat do zvláštního adresáře a použít -I/.../include při překladu, -L/.../lib při linkování a LD_LIBRARY_PATH=/.../lib při spouštění programu... což je pořád šílenost (*), takže lepší bude opravit ten program, když od něj jsou zdrojáky.

(*) problém budou třeba knihovny používané tím programem, které jsou kompilované proti novější glibc, Takže by asi bylo potřeba překompilovat všechno, s čím se ten program linkuje.

PS: pokud by ses přesto chtěl vrtat v /lib, tak si předem nainstaluj staticky linkovaný busybox ;-)
8.5.2005 00:27 jorge sanchez | skóre: 4
Rozbalit Rozbalit vše Re: dve verce gcc a glibc
Mít víc verzí gcc je docela běžné, glibc jedině tak nainstalovat do zvláštního adresáře a použít -I/.../include při překladu, -L/.../lib při linkování a LD_LIBRARY_PATH=/.../lib při spouštění programu... což je pořád šílenost

no pokud da LDFLAGS="-all-static" tak uz se mu to linkovat nebude.... (po prekladu to muzes vzdycky zkontrolvat ldd neco)

pokud se pletu tak se omlouvam...
8.5.2005 11:11 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: dve verce gcc a glibc
libnss* věci se normálně nahrávají za běhu dynamicky, takže hrátkám s LD_LIBRARY_PATH se nejspíš nevyhne, kromě toho by si se statickým linkováním jen přidělával práci... Ale zkusit to může :-)

PS: -all-static je option libtoolu, ne samotného linkeru.
8.5.2005 00:37 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
Rozbalit Rozbalit vše Re: dve verce gcc a glibc
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nejsem si jisty, jak svuj dotaz myslíte, totiž jde-li vám skutečně o jiné verze GCC i glibc nebo jste to jenom spojil v jedno nedopatřením?

Nicméně, nakolik rozumím vašemu dotazu:

Je to možné celkem neproblematicky. Osobně kvůli některých starších projektů, které si s GCC3 (4 jsem na ně ani nezkoušel) nerozumí používám na systému i gcc 2.95.3.

Různí lidé mají různé zvyky, já ho umístil do samostatného stromu v /opt/gcc-2.95.3 a do /etc/ld.so.conf jsem nakonec přidal řádek
   /opt/gcc-2.95.3/lib
Resp. jsem si vyrobil balíček, který se o to postará (případně mohu asi nějak poskytnout).

A obecně:

Pokud chcete pouze některé aplikace dynamicky linkovat proti jiné verzi knihovny, kterou umístíte v samostatném stromě a kterou nechcete přidávat do prohledávaných cest dynamického linkování pro celý systém (/etc/ld.so.conf), můžete aplikaci při kompilaci poradit, kde má hledat, a při běhu ji pak cesty k příslušným verzím přídat v "obalovacím" skriptu pomocí proměnné LD_LIBRARY_PATH.

Snad alespoň něco z toho pomůže. :)
http://prirucka.ujc.cas.cz/?ref=785&id=790.
8.5.2005 00:41 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
Rozbalit Rozbalit vše Re: dve verce gcc a glibc
Tak se omlouvám: Koukám, že než to člověk sesmolí, tak je zodpovězeno. :)
8.5.2005 02:42 psYcOder | skóre: 5
Rozbalit Rozbalit vše Re: dve verce gcc a glibc
dekuji,nic mene projekt pouziva pouze 3 knihovny,kde hlavni je Inti,a kvuli ni potrebuji downgrade glibc a downgrade gcc kvuli kompliaci vlastniho projektu, takze risknu cestu instalaci gcc 2.95,kterou potrebuji a prekompilaci onych tri knhoven,za snad ne-naivniho predpokladu,ze nebudu muset prekompilavat nejake systemove knihovny. Jevi se to jako nejefektivnejsi cesta. Vas balicek by mi nejspis byl dost uzitecny,takze Vas o nej zadam,viz zaslany email. Ale naskyta se mi otazka instalace starsi verze,zda mi jeste muzete poradit. Uz ted je jasne ze starsi versi gcc nebud moci instalovat z bin.balicku ale kompilaci ze zdroje. ./configure --prefix- /op/staragcc ...atd ale jestli nebude vadit,kdyzbudu kompilovat gcc 2.95 novejsi/aktualni/ verzi gcc 3.x.? V pondeli se do toho pustim a kdyztak dam jeste echo... Dekuji za navrhy reseni.
17.12.2005 15:56 maxtractor
Rozbalit Rozbalit vše Re: dve verce gcc a glibc
Ahoj,

mohl bych o tento balicek poprosit? Pouzivam
Fedora Core 4
a kvuli programu Network Simulator 2 potrebuji gcc-2.95.3 nainstalovat. Stahl jsem si z ftp://ftp.gnu.org/pub/gnu/gcc/ zdroje gcc-everything-2.95.3.tar.gz, ale nevim presne, jak a co instalovat tak, aby se mi to naistalovalo paralelne se soucasnyma gcc a neznicil jsem si cely linux. Dekuji predem za pripadny balicek ci jakykoliv navod, jak postupovat.

Petr

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.