hi leute,
ich hab ein problem. wir haben hier auf arbeit so alte linux kisten (selbstgebasteltes slackware derivat), auf welchen ich eine "neuere" version der glibc (v 2.3.6) installieren muss. ich weiss, ist auch nicht gerade die aktuellste version, jedoch will ich diese version verwenden, da ich so relativ wenig an der build umgebung anpassen muss. um libc-2.3.6 kompilieren zu können, habe ich folgende pakete installiert:
- autoconf-2.60
- m4-1.4.15
- binutils-2.13
- gcc-3.2
ansonsten genügen alle tools den minimalanforderungen in der INSTALL datei des glibc archives. also sollte eigentlich die kompilation der glibc-2.3.6 kein problem sein. ich konfiguriere das paket mit folgendem optionen:
das funktioniert auch soweit. der build wird natürlich in einem separaten directory durchgeführt. leider bekomme ich im verlauf von make folgenden fehler:Code:./configure --enable-add-ons=linuxthreads --prefix=/var/local --exec-prefix=/var/local --disable-profile --enable-kernel=2.4.35.3 --with-headers=/usr/src/linux-2.4.35.3/include
kann mir jemand helfen, diesen fehler zu beseitigen? für eine neuere libc müsste ich den gcc und die binutils erneut updaten. was habe ich also falsch gemacht? müsste ich den assembler updaten oder liegt es vielleicht daran, dass ich etwas beim gcc update übersehen hab? gibt es irgend einen guten leitfaden, ein gcc update händisch durchzuführen? ich habe mich an [1] gehalten. auch habe ich einen beitrag gefunden der das gleiche problem [2] hatte, eine lösung gefunden hat, diese jedoch nicht beschrieben hat.Code:gcc ../sysdeps/i386/i686/memcmp.S -c -I../include -I. -I/root/glibc-2.3.6_build/string -I.. -I../libio -I/root/glibc-2.3.6_build -I../sysdeps/i386/elf -I../linuxthreads/sysdeps/unix/sysv/linux/i386 -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/i386/i686 -I../linuxthreads/sysdeps/i386 -I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2/include -isystem /usr/src/linux-2.4.35.3/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DASSEMBLER -DGAS_SYNTAX -o /root/glibc-2.3.6_build/string/memcmp.o -MD -MP -MF /root/glibc-2.3.6_build/string/memcmp.o.dt -MT /root/glibc-2.3.6_build/string/memcmp.o /tmp/ccVbnrz7.s: Assembler messages: /tmp/ccVbnrz7.s:414: Error: subtraction of two symbols in different sections `.rodata' {.rodata section} - `memcmp' {.text section} at file address 68 make[2]: *** [/root/glibc-2.3.6_build/string/memcmp.o] Error 1 make[2]: Leaving directory `/root/glibc-2.3.6/string' make[1]: *** [string/subdir_lib] Error 2 make[1]: Leaving directory `/root/glibc-2.3.6' make: *** [all] Error 2
[1]http://gcc.gnu.org/install/
[2]http://www.linuxquestions.org/questi...s-68-a-771935/
ich bin für jede hilfe/ jeden tipp dankbar.
mfg madmat


Zitieren