From cf0427009decbcad33a269898a428341e9c0ceff Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Wed, 22 Jan 2020 15:14:03 +0000 Subject: Better explanation for missing static C library Until now, the explanation for a missing static C library didn't actually guide the users to look above and see the error message! So with this commit, I edited it a little to be more clear (and mention to look above). Also, I noticed that on Amazon AWS systems, the static C library is installed as a separate package, so to help the users, I added the necessary command and some better explanation. --- reproduce/software/bash/configure.sh | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/reproduce/software/bash/configure.sh b/reproduce/software/bash/configure.sh index c681298..60f69b9 100755 --- a/reproduce/software/bash/configure.sh +++ b/reproduce/software/bash/configure.sh @@ -912,18 +912,28 @@ if [ x"$host_cc" = x0 ]; then !!!!!!!!!!!!!!!!!!!!!! Warning !!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -A usable static C library ('libc.a', in any directory) cannot be linked, -and 'sys/cdefs.h' cannot be included with the current settings of this -system. Because of this we can't build a static PatchELF, hence we can't -build GCC. - -If you have 'libc.a', but in a non-standard location (for example in -'/PATH/TO/STATIC/LIBC/libc.a' and '/PATH/TO/SYS/CDEFS_H/sys/cdefs.h'), -please run the commands below, then re-configure the project to fix this -problem. - -export LDFLAGS="-L/PATH/TO/STATIC/LIBC \$LDFLAGS" -export CPPFLAGS="-I/PATH/TO/SYS/CDEFS_H \$LDFLAGS" +The 'sys/cdefs.h' headaer cannot be included, or a usable static C library +('libc.a', in any directory) cannot be used with the current settings of +this system. SEE THE ERROR MESSAGE ABOVE. + +Because of this, we can't build GCC. You either 1) don't have them, or 2) +the default system environment aren't enough to find them. + +1) If you don't have them, your operating system provides them as separate +packages that you must manually install. Please look into your operating +system documentation or contact someone familiar with it. For example on +some Redhat-based GNU/Linux distributions, the static C library package can +be installed with this command: + + $ sudo yum install glibc-static + +2) If you have 'libc.a' and `sys/cdefs.h', but in a non-standard location (for +example in '/PATH/TO/STATIC/LIBC/libc.a' and +'/PATH/TO/SYS/CDEFS_H/sys/cdefs.h'), please run the commands below, then +re-configure the project to fix this problem. + + $ export LDFLAGS="-L/PATH/TO/STATIC/LIBC \$LDFLAGS" + $ export CPPFLAGS="-I/PATH/TO/SYS/CDEFS_H \$LDFLAGS" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -- cgit v1.2.1