LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 949|回复: 7

glibc-2.4-r2 on AMD64 通不过?

[复制链接]
发表于 2006-5-12 15:18:21 | 显示全部楼层 |阅读模式
出事了,明明是amd64,glibc-2.4-r2 却先做i386,还说没有TLS支持。
老革命遇到了新问题,怎么办呢?



  1. [ebuild     U ] sys-libs/glibc-2.4-r2 [2.4-r1] USE="glibc-omitfp* nls nptl nptlonly -build -hardened -profile" 0 kB

  2. ...

  3. * Building multilib glibc for ABIs: x86 amd64

  4. *             ABI:   x86
  5. *          CBUILD:   x86_64-pc-linux-gnu
  6. *           CHOST:   x86_64-pc-linux-gnu
  7. *         CTARGET:   x86_64-pc-linux-gnu
  8. *      CBUILD_OPT:   i686-pc-linux-gnu
  9. *     CTARGET_OPT:   i686-pc-linux-gnu
  10. *              CC:
  11. *          CFLAGS:   -march=nocona -pipe -O2

  12. * Configuring GLIBC for nptl with:
  13.                 --disable-stackguard-randomization
  14.                 --enable-old-ssp-compat
  15.                 --enable-omitfp
  16.                 --with-tls
  17.                 --with-__thread
  18.                 --enable-add-ons=ports,nptl,c_stubs,libidn
  19.                 --enable-kernel=2.6.9
  20.                 --without-selinux
  21.                 --without-cvs
  22.                 --enable-bind-now
  23.                 --build=i686-pc-linux-gnu
  24.                 --host=i686-pc-linux-gnu
  25.                 --disable-profile
  26.                 --without-gd
  27.                 --with-headers=/usr/include
  28.                 --prefix=/usr
  29.                 --libdir=/usr/lib32
  30.                 --mandir=/usr/share/man
  31.                 --infodir=/usr/share/info
  32.                 --libexecdir=/usr/lib32/misc/glibc

  33. ...

  34. In file included from nptl/sysdeps/i386/i686/tls.h:34,
  35.                  from include/tls.h:6,
  36.                  from sysdeps/unix/sysv/linux/i386/sysdep.h:30,
  37.                  from <stdin>:1:
  38. nptl/sysdeps/i386/i686/../tls.h:65:3: #error "TLS support is required."

  39. ...

  40. gcc ../sysdeps/generic/initfini.c -c -std=gnu99 -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -march=nocona -pipe -Wstrict-prototypes -mpreferred-stack-boundary=4   -g0 -fPIC -fno-inline-functions -fno-unit-at-a-time -march=i386 -mtune=i386  -I../include -I/var/tmp/portage/glibc-2.4-r2/work/build-x86-x86_64-pc-linux-gnu-nptl/csu -I/var/tmp/portage/glibc-2.4-r2/work/build-x86-x86_64-pc-linux-gnu-nptl -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386 -I../ports/sysdeps/unix/sysv/linux -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../ports/sysdeps/unix/sysv/i386 -I../sysdeps/unix/sysv/i386 -I../ports/sysdeps/unix/sysv -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../ports/sysdeps/unix -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../nptl/sysdeps/i386/i686 -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sysdeps/i386 -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 -I../ports -I../nptl  -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/include -isystem /usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h       -DHAVE_INITFINI -S -g0 -fPIC -fno-inline-functions -fno-unit-at-a-time -march=i386 -mtune=i386 -finhibit-size-directive \
  41.                 -fno-exceptions -o /var/tmp/portage/glibc-2.4-r2/work/build-x86-x86_64-pc-linux-gnu-nptl/csu/initfini.s
  42. ../sysdeps/generic/initfini.c:1: error: CPU you selected does not support x86-64 instruction set
  43. ../sysdeps/generic/initfini.c:1: error: CPU you selected does not support x86-64 instruction set
  44. make[2]: *** [/var/tmp/portage/glibc-2.4-r2/work/build-x86-x86_64-pc-linux-gnu-nptl/csu/initfini.s] Error 1

复制代码
发表于 2006-5-12 15:42:32 | 显示全部楼层
嘿嘿--还没有用~amd64的机器。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-12 17:00:10 | 显示全部楼层
fei版主果然飞一般的快。

奇怪的是,我重新emerge =sys-libs/glibc-2.4-r1 居然出同样的错。
TLS被我搞到哪里去了呢 :ask
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-15 22:46:55 | 显示全部楼层
沉得好快啊,看来用64bit的人不多嘛。

原因算是找到了, 出在gcc身上。
  1. ~ # eselect compiler list
  2. Available compilers for CTARGET i686-pc-linux-gnu
  3.   [1]   x86_64-pc-linux-gnu-4.1.0/x86-vanilla
  4. Available compilers for CTARGET x86_64-pc-linux-gnu
  5.   [2]   x86_64-pc-linux-gnu-3.4.6/default
  6.   [3]   x86_64-pc-linux-gnu-3.4.6/hardened
  7.   [4]   x86_64-pc-linux-gnu-3.4.6/hardenednopie
  8.   [5]   x86_64-pc-linux-gnu-3.4.6/hardenednopiessp
  9.   [6]   x86_64-pc-linux-gnu-3.4.6/hardenednossp
  10.   [7]   x86_64-pc-linux-gnu-4.1.0/amd64-vanilla
复制代码
一开始我没有选第一个,所以 gcc 只能编译64位的。以前好像没有这么一回事。

而且因为我试了一下no-multilib,把libc给搞出毛病了,出来一个 forced unwind什么的。
只好先 USE="-nptl -nptlonly",glibc-2.4又说不可以,懒得看为什么不可以,先2.3.6吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-15 23:23:59 | 显示全部楼层
刚想着要怎么在标题上放 [已解决]

结果问题大了,2.3.6 装到一半,正在unmerge 2.4,所有的命令都失效了。
这下子死定了,先睡上一大觉吧:sleep
回复 支持 反对

使用道具 举报

发表于 2006-5-16 12:13:44 | 显示全部楼层
我的没有问题
  1. $ sudo emerge --info
  2. Portage 2.1_rc1-r2 (default-linux/amd64/2006.0, gcc-4.1.0, glibc-2.4-r3, 2.6.16-gentoo-r1 x86_64)
  3. =================================================================
  4. System uname: 2.6.16-gentoo-r1 x86_64 AMD Athlon(tm) 64 Processor 3000+
  5. Gentoo Base System version 1.12.0_pre19
  6. ccache version 2.4 [enabled]
  7. dev-lang/python:     2.3.5-r2, 2.4.3-r1
  8. dev-python/pycrypto: 2.0.1-r5
  9. dev-util/ccache:     2.4-r1
  10. dev-util/confcache:  0.4.2
  11. sys-apps/sandbox:    1.2.17
  12. sys-devel/autoconf:  2.13, 2.59-r7
  13. sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
  14. sys-devel/binutils:  2.15.92.0.2-r10, 2.16.1-r2
  15. sys-devel/libtool:   1.5.22
  16. virtual/os-headers:  2.6.11-r3
  17. ACCEPT_KEYWORDS="amd64 ~amd64"
  18. AUTOCLEAN="yes"
  19. CBUILD="x86_64-pc-linux-gnu"
  20. CFLAGS="-O3 -march=k8 -mtune=k8 -pipe -fomit-frame-pointer -ffast-math"
  21. CHOST="x86_64-pc-linux-gnu"
  22. CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control"
  23. CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/env.d"
  24. CXXFLAGS="-O3 -march=k8 -mtune=k8 -pipe -fomit-frame-pointer -ffast-math -fvisibility-inlines-hidden"
  25. DISTDIR="/usr/portage/distfiles"
  26. FEATURES="autoaddcvs autoconfig ccache confcache cvs distlocks metadata-transfer parallel-fetch sandbox sfperms strict"
  27. GENTOO_MIRRORS="http://gentoo.139pay.com/ http://ftp.gentoo.or.kr/  http://mirror.gentoo.gr.jp http://ftp.isu.edu.tw/pub/Linux/Gentoo http://ftp.twaren.net/Linux/Gentoo/ http://distfiles.gentoo.org "
  28. LDFLAGS="-Wl,-O1"
  29. LINGUAS="zh_CN zh_CN.utf8 zh_TW en"
  30. MAKEOPTS="-j2"
  31. PKGDIR="/usr/portage/packages"
  32. PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
  33. PORTAGE_TMPDIR="/var/tmp"
  34. PORTDIR="/usr/portage"
  35. PORTDIR_OVERLAY="/usr/local/portage /usr/local/chinese-beautify-overlay"
  36. SYNC="rsync://rsync.gentoo.org/gentoo-portage"
  37. USE="7zip X aac aalib acpi alsa amd64 apache2 arts asf authdaemond automount avi berkdb bidi bitmap-fonts browserplugin bzip2 cairo cdr cjk clamav cli crypt cups dbus dga directfb divx4linux dri dts dvd dvdr dvdread eds emboss encode esd exif fam fbcon ffmpeg fglrx firefox font-server foomaticdb fortran gdbm gif gimp glc glut glx gnome gnutls gpm gstreamer gtk gtk2 hal imagemagick imap imlib immqt ipv6 isdnlog java jpeg jpeg2k kde kqemu lame libg++ libwww live lm_sensors lzw lzw-tiff mad maildir mjpeg mozilla mp3 mpeg mplayer multislot mysql nas ncurses nls nptl nptlonly ogg oggvorbis opengl oss pam pcre pdflib perl png pppd python qt quicktime radeon rar readline reflection rplay ruby samba scanner sdl session slang slp spell spl ssl stroke subtitles svg syslog tcltk tcpd threads tiff truetype truetype-fonts type1-fonts unicode usb valias vcd vhosts video_cards_radeon videos vim-with-x wmf x264 xcomposite xgl xine xml xml2 xmms xorg xpm xprint xscreensaver xv xvid zh_CN zh_TW zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_zh_CN linguas_zh_CN.utf8 linguas_zh_TW linguas_en userland_GNU video_cards_ati video_cards_fbdev video_cards_vesa video_cards_fglrx"
  38. Unset:  ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_RSYNC_EXTRA_OPTS
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-18 00:16:09 | 显示全部楼层
教训是深刻的,动用了LiveCD,
终于又重见天日。

有空的再写惊心动魄的过程吧 :sleep
回复 支持 反对

使用道具 举报

发表于 2006-5-18 09:59:10 | 显示全部楼层
Glue午夜惊魂?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表