configure:error:***这些关键程序缺失或太旧:在Opensuse 42.3上安装glibc2.12时gcc make

时间:2017-10-02 23:08:49

标签: glibc opensuse

我正在尝试安装glibc-2.12.2,因为Haskell-stack特别需要2.12版本。

 ldd --version
 ldd (GNU libc) 2.26
 Copyright (C) 2017 Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 Written by Roland McGrath and Ulrich Drepper.

错误是 -

 rajkumar@localhost:~/Downloads/glibc-2.12.2/build-tree> ../configure 
 configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
 checking build system type... x86_64-unknown-linux-gnu
 checking host system type... x86_64-unknown-linux-gnu
 checking for /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld... /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld
 checking version of /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld... 2.29.0.20170830, ok
 checking for pwd... /usr/bin/pwd
 checking for gcc... gcc
 checking version of gcc... 7.2.1, bad
 checking for gnumake... no
 checking for gmake... gmake
 checking version of gmake... 4.2.1, bad
 checking for gnumsgfmt... no
 checking for gmsgfmt... no
 checking for msgfmt... msgfmt
 checking version of msgfmt... 0.19.8.1, ok
 checking for makeinfo... no
 checking for sed... sed
 checking version of sed... v. ?.??, bad
 checking for autoconf... no
 configure: error:
 *** These critical programs are missing or too old: gcc make
 *** Check the INSTALL file for required versions.

但我已经安装了gcc和make。

 rajkumar@localhost:~/Downloads/glibc-2.12.2/build-tree> sudo zypper install make
 Loading repository data...
 Reading installed packages...
 'make' is already installed.
 No update candidate for 'make-4.2.1-2.1.x86_64'. The highest available   version is already installed.
 Resolving package dependencies...

 Nothing to do.
 rajkumar@localhost:~/Downloads/glibc-2.12.2/build-tree> sudo zypper install gcc
 Loading repository data...
 Reading installed packages...
 'gcc' is already installed.
 No update candidate for 'gcc-7-2.4.x86_64'. The highest available version is already installed.
 Resolving package dependencies...

 Nothing to do.

我已经安装了glibc 2.26。如何在opensuse上将版本降级到2.12。

2 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,并按照Mark Plotnickthis post中的建议解决了该问题:

这可能有效:编辑配置文件,查找3.79* | 3.[89]*,将其更改为3.79* | 3.[89]* | 4.*

问题在于,.configure文件在验证make的版本时使用了不完整正则表达式。添加| 4.*可以确保它选择了您的(较新的)安装版本。

答案 1 :(得分:2)

  

我正在尝试安装glibc-2.12.2,因为Haskell-stack特别需要2.12版本。

非常不可能是真的:GLIBC是向后兼容的(较旧的程序继续适用于较新的GLIBC版本)。

  

我已经安装了glibc 2.26。如何在opensuse上将版本降级到2.12。

如果您成功,使您的系统无法启动。你真的不想这样做。

相反,您应该描述实际的问题。

P.S。你的gcc肯定不会太老。相反,您的GLIBC-2.12 configure太老了,无法理解这样的新gcc是否足够新。