From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carlo Wood To: hjl@gnu.org Subject: binutils bug: config.guess Date: Tue, 09 Mar 1999 08:50:00 -0000 Message-id: <199903091509.QAA03972@jolan.ppro> X-SW-Source: 1999/msg00033.html Hiya, when trying to compile binutils-2.9.1.0.22b, I ran into a problem with config.guess. I have "." in my PATH, and it seems that makes config.guess fail to execute `ld'. It tries to execute the directory ld/ in binutils. Adding a PATH=/bin:/usr/bin helped for me, which is prove that this is indeed the problem. I know I shouldn't have a "." in my path before /usr/bin, but I am sure I am not the only one that has it any way :). Here's an strace output: /usr/src/binutils/binutils-2.9.1.0.22b>strace -ff config.guess 2>&1 | grep exec execve("./config.guess", ["config.guess"], [/* 39 vars */]) = 0 [pid 3935] execve("/bin/uname", ["uname", "-m"], [/* 39 vars */]) = 0 [pid 3937] execve("/bin/uname", ["uname", "-r"], [/* 39 vars */]) = 0 [pid 3939] execve("/bin/uname", ["uname", "-s"], [/* 39 vars */]) = 0 [pid 3941] execve("/bin/uname", ["uname", "-v"], [/* 39 vars */]) = 0 [pid 3943] execve("/usr/bin/ld", ["ld", "--help"], [/* 39 vars */]) = 0 [pid 3946] execve("/bin/sed", ["sed", "-ne", "/supported emulations:/!d\n\t\t\t"...], [/* 39 vars */]) = 0 [pid 3948] execve("/bin/grep", ["grep", "supported emulations:"], [/* 39 vars */]) = 0 [pid 3949] execve("/bin/cat", ["cat"], [/* 39 vars */]) = 0 [pid 3950] execve("/usr/bin/cc", ["cc", "dummy.c", "-o", "dummy"], [/* 39 vars */]) = 0 [pid 3951] execve("/usr/local/egcs/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.60/cpp", ["/usr/local/egcs/lib/gcc-lib/i686"..., "-lang-c", "-undef", "-D__GNUC__=2", "-D__GNUC_MINOR__=91", "-D__ELF__", "-Dunix", "-Di386", "-D__i386__", "-Dlinux", "-D__ELF__", "-D__unix__", "-D__i386__", "-D__i386__", "-D__linux__", "-D__unix", ...], [/* 41 vars */]) = 0 [pid 3952] execve("/usr/local/egcs/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.60/cc1", ["/usr/local/egcs/lib/gcc-lib/i686"..., "/tmp/cc1xxCly.i", "-quiet", "-dumpbase", "dummy.c", "-o", "/tmp/ccsq9UDZ.s"], [/* 41 vars */]) = 0 [pid 3953] execve("./as", ["as", "-Qy", "-o", "/tmp/ccBPeacv.o", "/tmp/ccsq9UDZ.s"], [/* 41 vars */]) = -1 ENOENT (No such file or directory) [pid 3953] execve("/home/carlo/bin/as", ["as", "-Qy", "-o", "/tmp/ccBPeacv.o", "/tmp/ccsq9UDZ.s"], [/* 41 vars */]) = -1 ENOENT (No such file or directory) [pid 3953] execve("/usr/local/bin/as", ["as", "-Qy", "-o", "/tmp/ccBPeacv.o", "/tmp/ccsq9UDZ.s"], [/* 41 vars */]) = -1 ENOENT (No such file or directory) [pid 3953] execve("/bin/as", ["as", "-Qy", "-o", "/tmp/ccBPeacv.o", "/tmp/ccsq9UDZ.s"], [/* 41 vars */]) = -1 ENOENT (No such file or directory) [pid 3953] execve("/usr/bin/as", ["as", "-Qy", "-o", "/tmp/ccBPeacv.o", "/tmp/ccsq9UDZ.s"], [/* 41 vars */]) = 0 [pid 3954] execve(ptrace: umoven: Input/output error [pid 3955] execve("./ld", ["./ld", "-m", "elf_i386", "-dynamic-linker", "/lib/ld-linux.so.2", "-o", "dummy", "/usr/lib/crt1.o", "/usr/lib/crti.o", "/usr/local/egcs/lib/gcc-lib/i686"..., "-L/usr/local/egcs/lib/gcc-lib/i6"..., "-L/usr/local/egcs/i686-pc-linux-"..., "-L/usr/local/egcs/lib", "/tmp/ccBPeacv.o", "-lgcc", "-lc", ...], [/* 43 vars */]) = -1 EACCES (Permission denied) [pid 3955] write(2, "collect2: executing ld: Permissi"..., 42) = 42 [pid 3956] execve("/bin/rm", ["rm", "-f", "dummy.c", "dummy"], [/* 39 vars */]) = 0 [pid 3961] execve("/bin/sed", ["sed", "-n", "s/.*NeXT Mach \\([0-9]*\\).*/\\1"...], [/* 39 vars */]) = 0 [pid 3957] execve("/bin/cat", ["cat"], [/* 39 vars */]) = 0 [pid 3962] execve("/usr/bin/cc", ["cc", "dummy.c", "-o", "dummy"], [/* 39 vars */]) = 0 [pid 3963] execve("/usr/local/egcs/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.60/cpp", ["/usr/local/egcs/lib/gcc-lib/i686"..., "-lang-c", "-undef", "-D__GNUC__=2", "-D__GNUC_MINOR__=91", "-D__ELF__", "-Dunix", "-Di386", "-D__i386__", "-Dlinux", "-D__ELF__", "-D__unix__", "-D__i386__", "-D__i386__", "-D__linux__", "-D__unix", ...], [/* 41 vars */]) = 0 [pid 3964] execve("/usr/local/egcs/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.60/cc1", ["/usr/local/egcs/lib/gcc-lib/i686"..., "/tmp/cc5ljYJi.i", "-quiet", "-dumpbase", "dummy.c", "-o", "/tmp/ccnnWTYj.s"], [/* 41 vars */]) = 0 [pid 3965] execve("./as", ["as", "-Qy", "-o", "/tmp/cc1tE1lp.o", "/tmp/ccnnWTYj.s"], [/* 41 vars */]) = -1 ENOENT (No such file or directory) [pid 3965] execve("/home/carlo/bin/as", ["as", "-Qy", "-o", "/tmp/cc1tE1lp.o", "/tmp/ccnnWTYj.s"], [/* 41 vars */]) = -1 ENOENT (No such file or directory) [pid 3965] execve("/usr/local/bin/as", ["as", "-Qy", "-o", "/tmp/cc1tE1lp.o", "/tmp/ccnnWTYj.s"], [/* 41 vars */]) = -1 ENOENT (No such file or directory) [pid 3965] execve("/bin/as", ["as", "-Qy", "-o", "/tmp/cc1tE1lp.o", "/tmp/ccnnWTYj.s"], [/* 41 vars */]) = -1 ENOENT (No such file or directory) [pid 3965] execve("/usr/bin/as", ["as", "-Qy", "-o", "/tmp/cc1tE1lp.o", "/tmp/ccnnWTYj.s"], [/* 41 vars */]) = 0 [pid 3966] execve(ptrace: umoven: Input/output error [pid 3967] execve("./ld", ["./ld", "-m", "elf_i386", "-dynamic-linker", "/lib/ld-linux.so.2", "-o", "dummy", "/usr/lib/crt1.o", "/usr/lib/crti.o", "/usr/local/egcs/lib/gcc-lib/i686"..., "-L/usr/local/egcs/lib/gcc-lib/i6"..., "-L/usr/local/egcs/i686-pc-linux-"..., "-L/usr/local/egcs/lib", "/tmp/cc1tE1lp.o", "-lgcc", "-lc", ...], [/* 43 vars */]) = -1 EACCES (Permission denied) [pid 3967] write(2, "collect2: executing ld: Permissi"..., 42) = 42 [pid 3968] execve("/bin/rm", ["rm", "-f", "dummy.c", "dummy"], [/* 39 vars */]) = 0 While you're at it, I found another problem with config.guess a while ago: I can imagine that someone doesn't have a 'cc', but only a 'gcc'. If you don't set CC in that case, config.guess also fails, a bit weird (and confusing) for a GNU package. -- Carlo Wood PS Even if you fix config.guess, then configure still fails: /usr/src/binutils/binutils-2.9.1.0.22b>./configure Configuring for a i686-pc-linux-gnu host. Created "Makefile" in /usr/src/binutils/binutils-2.9.1.0.22b using "mt-frag" collect2: ld returned 33 exit status *** The command 'gcc -o conftest -g -O2 conftest.c' failed. *** You must set the environment variable CC to a working compiler. -- H.J. Lu (hjl@gnu.org)