LinuxSir.cn,穿越时空的Linuxsir!

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

GCC编译不了,大侠相助

[复制链接]
发表于 2003-4-6 16:59:34 | 显示全部楼层 |阅读模式
我在Redhat8中编译LFS时前面都很顺利,除了在编译BASH时由于ncurses有点问题,去掉了--with-curses选项以外,其他都很好.现在编译gcc,问题来了:不知道是不是bash编译时偷工减料的后果,大侠指教!
错误如下:
c++locale.cc: In function `void std::__convert_to_v(const char*, _Tv&,
   std::_Ios_Iostate&, __locale_struct* const&, int) [with _Tv = long int]'
:
c++locale.cc:51: `__strtol_l' undeclared (first use this function)
c++locale.cc:51: (Each undeclared identifier is reported only once for each

   function it appears in.)
c++locale.cc: In function `void std::__convert_to_v(const char*, _Tv&,
   std::_Ios_Iostate&, __locale_struct* const&, int) [with _Tv = long unsig
ned
   int]':
c++locale.cc:69: `__strtoul_l' undeclared (first use this function)
c++locale.cc: In function `void std::__convert_to_v(const char*, _Tv&,
   std::_Ios_Iostate&, __locale_struct* const&, int) [with _Tv = long long
   int]':
c++locale.cc:87: `__strtoll_l' undeclared (first use this function)
c++locale.cc: In function `void std::__convert_to_v(const char*, _Tv&,
   std::_Ios_Iostate&, __locale_struct* const&, int) [with _Tv = long long
   unsigned int]':
c++locale.cc:106: `__strtoull_l' undeclared (first use this function)
c++locale.cc: In function `void std::__convert_to_v(const char*, _Tv&,
   std::_Ios_Iostate&, __locale_struct* const&, int) [with _Tv = float]':
c++locale.cc:124: `__strtof_l' undeclared (first use this function)
c++locale.cc: In function `void std::__convert_to_v(const char*, _Tv&,
   std::_Ios_Iostate&, __locale_struct* const&, int) [with _Tv = double]':
c++locale.cc:141: `__strtod_l' undeclared (first use this function)
c++locale.cc: In function `void std::__convert_to_v(const char*, _Tv&,
   std::_Ios_Iostate&, __locale_struct* const&, int) [with _Tv = long doubl
e]':
c++locale.cc:158: `__strtold_l' undeclared (first use this function)
c++locale.cc: In static member function `static void
   std::locale::facet::_S_create_c_locale(__locale_struct*&, const char*,
   __locale_struct*)':
c++locale.cc:170: `__newlocale' undeclared (first use this function)
c++locale.cc: In static member function `static void
   std::locale::facet::_S_destroy_c_locale(__locale_struct*&)':
c++locale.cc:180: `__freelocale' undeclared (first use this function)
c++locale.cc: In static member function `static __locale_struct*
   std::locale::facet::_S_clone_c_locale(__locale_struct*&)':
c++locale.cc:184: `__duplocale' undeclared (first use this function)
make[4]: *** [c++locale.lo] Error 1
make[4]: Leaving directory `/LFS/static/src/gcc-build/i686-pc-linux-                                                 stdc++-v3/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/LFS/static/src/gcc-build/i686-pc-linux-                                                 stdc++-v3'
make[2]: *** [all-recursive-am] Error 2
make[2]: Leaving directory `/LFS/static/src/gcc-build/i686-pc-linux-                                                 stdc++-v3'
make[1]: *** [all-target-libstdc++-v3] Error 2
make[1]: Leaving directory `/LFS/static/src/gcc-build'
make: *** [bootstrap] Error 2
发表于 2003-4-6 17:25:41 | 显示全部楼层

难兄难弟啊!!

碰到的情况跟你一样。我时这样解决的:
1.编译BASH 时,把glibc包替换成REDHAT8 自带的glibc-2.2.93-5
这样你能通过-with-curses 编译了。我是强行覆盖的,现在我的REDHAT8有很多问题了。如果老兄你有好的方法一定告诉我哦!!

2.编译gcc-3.2 。你不要把gcc-g++-3.2.tar.bz2 也解压缩。你只需解压缩gcc-core-3.2.tar.bz2 就可以了。一开始我也因为这个问题,过不去。

唉!这里在REDHAT 8下做LFS 高手太少了。
good luck!!
 楼主| 发表于 2003-4-6 17:34:59 | 显示全部楼层
谢谢!谢谢!
你的LFS跑起来了吗?
发表于 2003-4-6 18:00:51 | 显示全部楼层
不会啊,我在redhat8下装过1023的,什么问题都没有。可能还是少了头文件吧。
发表于 2003-4-6 18:03:18 | 显示全部楼层

Re: 难兄难弟啊!!

这里就有点不明白了,你是拿什么来替换glibc?glibc可是大东东啊,搞不好会出问题的。
不解压g++也是很明显的,书里写了:
在第六章前我们不需要C++编译器,所以我们这里只解压 gcc-core 包。
最初由 drsupermouse 发布
碰到的情况跟你一样。我时这样解决的:
1.编译BASH 时,把glibc包替换成REDHAT8 自带的glibc-2.2.93-5
这样你能通过-with-curses 编译了。我是强行覆盖的,现在我的REDHAT8有很多问题了。如果老兄你有好的方法一定告诉我哦!!

2.编译gcc-3.2 。你不要把gcc-g++-3.2.tar.bz2 也解压缩。你只需解压缩gcc-core-3.2.tar.bz2 就可以了。一开始我也因为这个问题,过不去。

唉!这里在REDHAT 8下做LFS 高手太少了。
good luck!!
发表于 2003-4-6 19:42:01 | 显示全部楼层

当然野蛮替换啦-唉我也是没办法的办法

mount psyche-i386-disc1.iso /mnt/cdrom
cd /mnt/cdrom/RedHat/RPMS/
rpm -ivh glibc* --nodeps --force

我估计是我的RH8 自动升级过的原故。我用vmware 重装了RH8
发现编译bash 一点问题都没有。
为了LFS,万事皆可抛呀。哈哈
发表于 2003-4-6 19:44:00 | 显示全部楼层
哦,原来是这样,那倒是有可能的,因为glibc-2.3下编译lfs的方法就不一样了。
 楼主| 发表于 2003-4-6 20:45:22 | 显示全部楼层
奇观了,我下载的包里面怎么只有gcc-3.2.tar.bz2,
没有
gcc-core-3.2.tar.bz2
gcc-core-3.2.tar.bz2
发表于 2003-4-8 09:25:13 | 显示全部楼层
asterioid,
这个gcc-3.2.tar.bz2包含了所有的软件包,当然也包含了gcc-core-3.2.tar.bz2的文件。
但是最好是到gnu.org里面就有各个拆开了的包,还有就是这个总的包。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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