configure: error: *** These critical programs are missing or too old: gcc make while installing glibc2.12 on Opensuse 42.3

configure: error: *** These critical programs are missing or too old: gcc make while installing glibc2.12 on Opensuse 42.3

我正在尝试安装 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。

I am trying to install glibc-2.12.2 because Haskell-stack specifically needs 2.12 version.

极度不太可能是真的:GLIBC 是向后兼容的(较旧的程序继续在较新的 GLIBC 版本上运行)。

I already have glibc 2.26 installed. How can I downgrade the version to 2.12 on opensuse.

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

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

P.S。你的gcc肯定不会太老。而是你的 GLIBC-2.12 configure 太旧了,无法理解这样一个新的 gcc 已经足够新了。

我遇到了同样的问题并按照 Mark Plotnick's suggestion in this post:

解决了它

This may work: edit the configure file, look for 3.79* | 3.[89]*, change it to 3.79* | 3.[89]* | 4.*

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