Kompilace pro libc5 (long)

Vaclav Ovsik ovsik na skoda.cz
Středa Říjen 14 08:56:41 CEST 1998


On Tue, 13 Oct 1998, Pavel Kankovsky wrote:

> On Tue, 13 Oct 1998, Michal Hucik wrote:
> 
> > 	muzete mi prosim nekdo poradit jak mam postupovat, kdyz na libc6
> > systemu (RH-5.1) potrebuji skompilovat program tak, aby byl spustitelny na
> > libc5?
> 
> k tomu u gcc slouzi opsna -b, ktera ma za parametr cilovou platformu,
> coz je vlastne jmeno podadresare v /usr/lib/gcc-lib; pokud tam nic, co
> ma v nazvu libc5 resp. g*libc1 neni, pak je potreba neco doinstalovat
To nevim jestli by stacilo pro rozumnou praci.
Ono je treba aby gcc bralo include pro libc5 a nesahalo na standardni
mista /usr/include, /usr/local/include apod., protoze tam jsou vsedu veci
pro libc6.
S timhle problemem jsem se trapil dost dlouho a vynalozil nemale usili. 
Vytvoril jsem vlastni target i486-zito-linux-gnulibc1 a vyrobil
takto nekolik baliku. Duvodem bylo, ze jsem chtel pouzivat Sybase Open
Client API (prelozene s libc5) a Sybperl. Sybperl je balik pro pristup do
Sybase z Perlu. Uz mi schazel akorat ten Perl, ktery vypadal dost
hruzostrasne. Znamena to totiz upravit vsechny scripty tak, aby to
netahalo include ze standardnich mist.
No a ted prisel Sybase ASE a vsechno je to nanic, protoze vyrobeni
nosrmalnich baliku nic nestoji v ceste.
Nicmene zbylo mi par baliku, ktere jsou pouzitelne pro vyrabeni libc5
programu - zrejme pokud mate nejake knihovny slinkovane s libc5 pouze v
binarnim tvaru. Je to ovsem pekna opicarna.
Nemohu je vystavit na ftp (jsem za firewallem), ale nekam bych je mohl
uploadnout.
Mam baliky:

i486-zito-linux-gnulibc1-binutils-wrapper-1-1.src.rpm
i486-zito-linux-gnulibc1-binutils-wrapper-1-1.i386.rpm
i486-zito-linux-gnulibc1-gcc-2.8.1-2.i386.rpm
i486-zito-linux-gnulibc1-gcc-c++-2.8.1-2.i386.rpm
i486-zito-linux-gnulibc1-gcc-objc-2.8.1-2.i386.rpm
i486-zito-linux-gnulibc1-gcc-2.8.1-2.src.rpm
i486-zito-linux-gnulibc1-libc-5.4.46-2.i386.rpm
i486-zito-linux-gnulibc1-libc-debug-5.4.46-2.i386.rpm
i486-zito-linux-gnulibc1-libc-devel-5.4.46-2.i386.rpm
i486-zito-linux-gnulibc1-libc-profile-5.4.46-2.i386.rpm
i486-zito-linux-gnulibc1-libc-static-5.4.46-2.i386.rpm
i486-zito-linux-gnulibc1-libc-5.4.46-2.src.rpm
i486-zito-linux-gnulibc1-libsfio-97-2.i386.rpm
i486-zito-linux-gnulibc1-libsfio-97-2.src.rpm
i486-zito-linux-gnulibc1-libstdc++-2.8.1.1-3.i386.rpm
i486-zito-linux-gnulibc1-libstdc++-devel-2.8.1.1-3.i386.rpm
i486-zito-linux-gnulibc1-libstdc++-2.8.1.1-3.src.rpm
i486-zito-linux-gnulibc1-libtermcap-2.0.8-1.i386.rpm
i486-zito-linux-gnulibc1-libtermcap-devel-2.0.8-1.i386.rpm
i486-zito-linux-gnulibc1-libtermcap-2.0.8-1.src.rpm
i486-zito-linux-gnulibc1-ncurses-1.9.9e-1.i386.rpm
i486-zito-linux-gnulibc1-ncurses-devel-1.9.9e-1.i386.rpm
i486-zito-linux-gnulibc1-ncurses-1.9.9e-1.src.rpm
i486-zito-linux-gnulibc1-sqsh-1.6-2.i386.rpm
i486-zito-linux-gnulibc1-sqsh-1.6-2.src.rpm
i486-zito-linux-gnulibc1-readline-2.1-1.i386.rpm
i486-zito-linux-gnulibc1-readline-devel-2.1-1.i386.rpm
i486-zito-linux-gnulibc1-readline-2.1-1.src.rpm
i486-zito-linux-gnulibc1-sybase-ctlib-elf-10.0.3-4.i386.rpm
i486-zito-linux-gnulibc1-sybase-ctlib-elf-10.0.3-4.src.rpm

Vsechny src baliky maji 10MB, vsechny i386 maji 8MB.

Je to cele v podstate autonomni system. Chce to akorat normalni binutils.

Pozn.: Nedoporucoval bych pokouset se prelozit to gcc ze src baliku
normalnim gcc. Prodelal jsem urcite harakiri, a ted je to ve stavu kdy se
to gcc musi prelozit samo sebou. Takze minimalne potrebujete 
i486-zito-linux-gnulibc1-binutils-wrapper-1-1.i386.rpm
i486-zito-linux-gnulibc1-gcc-2.8.1-2.i386.rpm
i486-zito-linux-gnulibc1-libc-5.4.46-2.i386.rpm
zbytek uz by mel jit prelozit pomoci tohoto gcc.

I kdyz ted nevim jestli to resi puvodni dotaz, protoze pro beh programu
prekladanych v tomto 'systemu' je zapotrebi uvedenych knihoven.
No, ale mozna se to nekomu bude na neco hodit.

--
	Vaclav OVSIK			email: ovsik na skoda.cz
	Sprava paterni site Skoda	phone: +420 19 7738560




Další informace o konferenci Linux