# PARALLELMFLAGS = -j 4上記行のコメントを外し、有効にする。
make: error while loading shared libraries: /lib/libpthread.so.0: undefined symbol: _dl_cpuclock_offset上記のエラーが出て、インストールが途中でこける...。lsコマンドとかも動かなくなって、かなりビビる。
ビルドの手順はglibc-2.2.5の時と同じで、sscanf.cのコンパイルエラー発生であせったものの、 以下のパッチで切りぬけ、なんと結果としては何の問題も無く バージョンアップ出来てしまった(^_^;。
-- パッチここから -- *** stdio-common/sscanf.c.ORG Tue Oct 5 15:40:52 2004 --- stdio-common/sscanf.c Tue Oct 5 15:41:32 2004 *************** *** 27,35 **** --- 27,39 ---- /* Read formatted input from S, according to the format string FORMAT. */ /* VARARGS2 */ int + #if 0 sscanf (s, format) const char *s; const char *format; + #else + sscanf (const char *s,const char *format,...) + #endif { va_list arg; int done; - パッチここまで --
しかし、これでまたSlackware-10へのバージョンアップの機会を逃して しまいましたとさ...。
# PARALLELMFLAGS = -j 4上記行のコメントを外し、有効にする。
/home/m-ito/tmp/glibc-build/linuxthreads/libpthread_pic.a(pthread.os)(.text+0x208): In function `pthread_initialize': /home/m-ito/tmp/glibc-2.3.5/linuxthreads/pthread.c:549: undefined reference to `_res' /home/m-ito/tmp/glibc-build/linuxthreads/libpthread_pic.a(pthread.os)(.text+0xea2): In function `__pthread_reset_main_thread': /home/m-ito/tmp/glibc-2.3.5/linuxthreads/pthread.c:1145: undefined reference to `_errno' /home/m-ito/tmp/glibc-build/linuxthreads/libpthread_pic.a(pthread.os)(.text+0xeb4):/home/m-ito/tmp/glibc-2.3.5/linuxthreads/pthread.c:1146: undefined reference to `_h_errno' /home/m-ito/tmp/glibc-build/linuxthreads/libpthread_pic.a(pthread.os)(.text+0xec0):/home/m-ito/tmp/glibc-2.3.5/linuxthreads/pthread.c:1147: undefined reference to `_res' /home/m-ito/tmp/glibc-build/linuxthreads/libpthread_pic.a(pthread.os)(.data.rel+0x1b8): In function `pthread_initialize': /home/m-ito/tmp/glibc-2.3.5/linuxthreads/pthread.c:509: undefined reference to `_errno' /home/m-ito/tmp/glibc-build/linuxthreads/libpthread_pic.a(pthread.os)(.data.rel+0x1c0):/home/m-ito/tmp/glibc-2.3.5/linuxthreads/pthread.c:509: undefined reference to `_h_errno' /home/m-ito/tmp/glibc-build/linuxthreads/libpthread_pic.a(pthread.os)(.data.rel+0x1c8):/home/m-ito/tmp/glibc-2.3.5/linuxthreads/pthread.c:514: undefined reference to `_res' collect2: ld はステータス 1 で終了しました make[2]: *** [/home/m-ito/tmp/glibc-build/linuxthreads/libpthread.so] エラー 1 make[2]: 出ます ディレクトリ `/home/m-ito/tmp/glibc-2.3.5/linuxthreads' make[1]: *** [linuxthreads/others] エラー 2 make[1]: 出ます ディレクトリ `/home/m-ito/tmp/glibc-2.3.5' make: *** [all] エラー 2エラー発生。よくわからないが、明示的に`linuxthreads'を指定してみる。
/home/m-ito/tmp/glibc-build/linuxthreads/libpthread_pic.a(pthread.os)(.text+0x208): In function `pthread_initialize': /home/m-ito/tmp/glibc-2.3.5/linuxthreads/pthread.c:549: undefined reference to `_res' /home/m-ito/tmp/glibc-build/linuxthreads/libpthread_pic.a(pthread.os)(.text+0xea2): In function `__pthread_reset_main_thread': /home/m-ito/tmp/glibc-2.3.5/linuxthreads/pthread.c:1145: undefined reference to `_errno' /home/m-ito/tmp/glibc-build/linuxthreads/libpthread_pic.a(pthread.os)(.text+0xeb4):/home/m-ito/tmp/glibc-2.3.5/linuxthreads/pthread.c:1146: undefined reference to `_h_errno' /home/m-ito/tmp/glibc-build/linuxthreads/libpthread_pic.a(pthread.os)(.text+0xec0):/home/m-ito/tmp/glibc-2.3.5/linuxthreads/pthread.c:1147: undefined reference to `_res' /home/m-ito/tmp/glibc-build/linuxthreads/libpthread_pic.a(pthread.os)(.data.rel+0x1b8): In function `pthread_initialize': /home/m-ito/tmp/glibc-2.3.5/linuxthreads/pthread.c:509: undefined reference to `_errno' /home/m-ito/tmp/glibc-build/linuxthreads/libpthread_pic.a(pthread.os)(.data.rel+0x1c0):/home/m-ito/tmp/glibc-2.3.5/linuxthreads/pthread.c:509: undefined reference to `_h_errno' /home/m-ito/tmp/glibc-build/linuxthreads/libpthread_pic.a(pthread.os)(.data.rel+0x1c8):/home/m-ito/tmp/glibc-2.3.5/linuxthreads/pthread.c:514: undefined reference to `_res' collect2: ld はステータス 1 で終了しました make[2]: *** [/home/m-ito/tmp/glibc-build/linuxthreads/libpthread.so] エラー 1 make[2]: 出ます ディレクトリ `/home/m-ito/tmp/glibc-2.3.5/linuxthreads' make[1]: *** [linuxthreads/others] エラー 2 make[1]: 出ます ディレクトリ `/home/m-ito/tmp/glibc-2.3.5' make: *** [all] エラー 2エラー発生2。結果はかわらず...。なんやらthreadあたりの実装に変更が あったのか?。./configure --helpで `--without-__thread do not use TLS features even when supporting them'オプションを見つけ、試してみる。
gcc -nostdlib -nostartfiles -o /home/m-ito/tmp/glibc-build/elf/tst-tls1 -Wl,-dynamic-linker=/lib/ld-linux.so.2 -Wl,-z,combreloc /home/m-ito/tmp/glibc-build/csu/crt1.o /home/m-ito/tmp/glibc-build/csu/crti.o `gcc --print-file-name=crtbegin.o` /home/m-ito/tmp/glibc-build/elf/tst-tls1.o -Wl,-rpath-link=/home/m-ito/tmp/glibc-build:/home/m-ito/tmp/glibc-build/math:/home/m-ito/tmp/glibc-build/elf:/home/m-ito/tmp/glibc-build/dlfcn:/home/m-ito/tmp/glibc-build/nss:/home/m-ito/tmp/glibc-build/nis:/home/m-ito/tmp/glibc-build/rt:/home/m-ito/tmp/glibc-build/resolv:/home/m-ito/tmp/glibc-build/crypt:/home/m-ito/tmp/glibc-build/linuxthreads /home/m-ito/tmp/glibc-build/libc.so.6 /home/m-ito/tmp/glibc-build/libc_nonshared.a -lgcc -lgcc_eh `gcc --print-file-name=crtend.o` /home/m-ito/tmp/glibc-build/csu/crtn.o GCONV_PATH=/home/m-ito/tmp/glibc-build/iconvdata LC_ALL=C /home/m-ito/tmp/glibc-build/elf/ld-linux.so.2 --library-path /home/m-ito/tmp/glibc-build:/home/m-ito/tmp/glibc-build/math:/home/m-ito/tmp/glibc-build/elf:/home/m-ito/tmp/glibc-build/dlfcn:/home/m-ito/tmp/glibc-build/nss:/home/m-ito/tmp/glibc-build/nis:/home/m-ito/tmp/glibc-build/rt:/home/m-ito/tmp/glibc-build/resolv:/home/m-ito/tm p/glibc-build/crypt:/home/m-ito/tmp/glibc-build/linuxthreads /home/m-ito/tmp/glibc-build/elf/tst-tls1 > /home/m-ito/tmp/glibc-build/elf/tst-tls1.out cannot set up thread-local storage: kernel too old for thread-local storage support make[2]: *** [/home/m-ito/tmp/glibc-build/elf/tst-tls1.out] エラー 127 make[2]: 出ます ディレクトリ `/home/m-ito/tmp/glibc-2.3.5/elf' make[1]: *** [elf/tests] エラー 2 make[1]: 出ます ディレクトリ `/home/m-ito/tmp/glibc-2.3.5' make: *** [check] エラー 2エラー発生3。 `cannot set up thread-local storage: kernel too old for thread-local storage support'-> thread-local storage(TLS)を使うにはあんたのカーネルは古すぎまっせ...と言わ れているので `--without-tls enable support for TLS'を指定してみる。
make -C resolv subdir_install make: relocation error: /lib/libpthread.so.0: symbol __libc_stack_end, version GLIBC_2.1 not defined in file ld-linux.so.2 with link time reference make[1]: *** [resolv/subdir_install] Error 127 make[1]: Leaving directory `/home/m-ito/tmp/glibc-2.3.5' make: *** [install] Error 2エラー発生4。glibc-2.3.2の時も1回目のmake installは失敗しているので、 あわてずに、その時と同じ対応をしてみる。