1

I'm trying to compile glibc (CORRECTION: 2.34, not 2.3.4) on a RedHat system. I get this error while trying to run configure:

*** These critical programs are missing or too old: make compiler
*** Check the INSTALL file for required versions.

I installed the latest version of 'make':

> make --version
GNU Make 4.3

However, even with the latest version of 'make', I still get the same error. What is causing the problem?

JB_User
  • 3,117
  • 7
  • 31
  • 51
  • 1
    How can we know? You'll have to look at the output log generated by the configure script to see what it is upset about. However, glibc 2.3.4 was released in 2004 so it's 17 years old. My suspicion is that the version check in that old version of glibc assumed that the GNU make version would begin with a "3" (e.g., `3.81` etc.) and fails because your version begins with a "4" instead. – MadScientist Aug 18 '21 at 14:10
  • I should also mention that it's not just make that is the problem; it's also "compiler" which means that you have bigger problems than make (it's pretty simple to just build an older version of make). – MadScientist Aug 18 '21 at 14:12
  • I mistyped. I'm trying to compile glibc 2.34, not 2.3.4. – JB_User Aug 18 '21 at 16:46
  • The file `config.log` will show you the precise commands it ran which identified these errors. Take a look at it and include the relevant sections in your question. It could be, for instance, that there is another version of `make` installed elsewhere on your system, and it is running that version for some reason. – Nate Eldredge Aug 18 '21 at 16:52
  • Ran into the same issue, see https://stackoverflow.com/a/74195386/7268445 for my answer – Bart Oct 25 '22 at 14:29

4 Answers4

0

glibc's configure prefers gnumake and gmake over make if they are available on the PATH command search path. Chances is that you have gmake binary that is version 3.81.

Florian Weimer
  • 32,022
  • 3
  • 48
  • 92
0

I think you should make with gcc version 6.5.0,

ct-ng may help you to build glibc. ct-ng http://crosstool-ng.github.io/docs/

1. ct-ng menuconfig
2. ct-ng build

You can choose gcc version at step 1.

As an reminder, glibc-2.34 remove some libs and no longer create like *-2.33.so under dir sysroot/lib/ . link:https://lwn.net/Articles/864920/

Mr.Zhang
  • 3
  • 4
0

I ran into this issue as well and noticed that the config.txt was looking for gmake and found it in /usr/bin/gmake which was strange.

Listing shows that there is a symlink to make.

ls -l /usr/bin/gmake
lrwxrwxrwx. 1 root root 4 Jun 11 18:18 /usr/bin/gmake -> make

I installed make 4.3 in a custom path AND ensured that it was on $PATH but I was still getting the same error. Making a symlink to my custom installed version of make resolved the problem.

ln -s <custom path>/bin/make <custom path>/bin/gmake
JaX
  • 111
  • 1
  • 3
0

Solved this by setting the MAKE variable. When looking in the configure script, it checks against "if test -n "$MAKE"; then", i.e. MAKE=//make export MAKE