Search code examples
gccraspberry-picross-compilingcrosstool-ng

Crosstool-ng 1.19.0, make error with eglibc


I'm currently trying to build crosstool-ng for my raspberry pi cross-compilation but I'm running into some issues. I'm getting the following error while trying to build crosstool version 1.19.0:

[CFG  ]    checking for arm-unknown-linux-gnueabi-gcc... (cached) arm-unknown-linux-gnueabi-gcc    
[CFG  ]    checking version of arm-unknown-linux-gnueabi-gcc    ... 4.8.2, ok
[CFG  ]    checking for gnumake... no
[CFG  ]    checking for gmake... no
[CFG  ]    checking for make... make
[CFG  ]    checking version of make... 4.0, bad
[CFG  ]    checking for gnumsgfmt... no
[CFG  ]    checking for gmsgfmt... no
[CFG  ]    checking for msgfmt... msgfmt
[CFG  ]    checking version of msgfmt... 0.19.1, ok
[CFG  ]    checking for makeinfo... makeinfo
[CFG  ]    checking version of makeinfo... 5.2, ok
[CFG  ]    checking for sed... sed
[CFG  ]    checking version of sed... 4.2.2, ok
[CFG  ]    checking for gawk... gawk
[CFG  ]    checking version of gawk... 4.1.1, ok
[CFG  ]    checking for arm-unknown-linux-gnueabi-nm... arm-unknown-linux-gnueabi-nm
[CFG  ]    checking for autoconf... autoconf
[CFG  ]    checking whether autoconf works... no
[ERROR]    configure: error: 
[CFG  ]    *** These critical programs are missing or too old: make
[CFG  ]    *** Check the INSTALL file for required versions.
[ERROR]  
[ERROR]  >>
[ERROR]  >>  Build failed in step 'Installing C library headers & start files'
[ERROR]  >>        called in step '(top-level)'
[ERROR]  >>
[ERROR]  >>  Error happened in: CT_DoExecLog[scripts/functions@257]
[ERROR]  >>        called from: do_libc_backend_once[scripts/build/libc/glibc-eglibc.sh-common@347]
[ERROR]  >>        called from: do_libc_backend[scripts/build/libc/glibc-eglibc.sh-common@143]
[ERROR]  >>        called from: do_libc_start_files[scripts/build/libc/glibc-eglibc.sh-common@60]
[ERROR]  >>        called from: main[scripts/crosstool-NG.sh@632]

According to this website: http://colocsbar.blogspot.fr/2014/01/crosstool-ng-1190-et-make-40.html I have to patch the eglibc configure script. But I can't find which one it is, I tried to patch every glibc script I could find into the crosstool folder but the patching failed every time. Does anyone have a solution to get rid ofthis error? Thank you


Solution

  • Well, this is kind of late, but I ran into the same problem and information is sparse. It appears to be a shortsighted version limit in eglibc. The INSTALL file says 3.79 or newer, but the actual config checks against 3.79 and 3.89 (I think, not sure about pattern matching syntax used) and fails otherwise. There is a .patch file available on that link, but I couldn't find the information about what file it was either.

    So I grep'd the entire directory for ac_prog_version= which gave a bunch of hits but the configure for eglibc was there.

    The file I changed was: .build/src/eglibc-2_13/configure

    It's around line ~5000; depends on your versions. I changed it to 4.1 since that's my make version (the patch does 4.0--although it should really make it 3.79 or newer like the INSTALL file says).