Subject: toolchain/24386: Toolchain cannot create executables
To: None <gnats-bugs@gnats.NetBSD.org>
From: Matthias Scheler <tron@colwyn.zhadum.de>
List: netbsd-bugs
Date: 02/11/2004 14:44:49
>Number: 24386
>Category: toolchain
>Synopsis: Toolchain cannot create executables
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: toolchain-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Feb 11 13:45:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:
>Release: NetBSD 1.6ZJ
>Organization:
Matthias Scheler http://scheler.de/~matthias/
>Environment:
System: NetBSD lyssa.zhadum.de 1.6ZJ NetBSD 1.6ZJ (LYSSA) #0: Wed Feb 11 09:50:06 CET 2004 tron@lyssa.zhadum.de:/src/sys/compile/LYSSA i386
Architecture: i386
Machine: i386
>Description:
When I tried to update a package under today's NetBSD-current the "configure"
scripted bailed out because the C compiler couldn't create an executable.
I tried it manually with a small program and got the same results:
#include <stdio.h>
int
main(int argc, char **argv)
{
(void) puts("Buuh");
return (0);
}
tron@lyssa:~>cat tt.c
#include <stdio.h>
int
main(int argc, char **argv)
{
(void) puts("Buuh");
return (0);
}
"ktruss" reveals what goes wrong:
24521 cc access("/usr/bin/../libexec/crt0.o", 0x4) Err#2 ENOENT
24521 cc access("/usr/bin/../libexec/crt0.o", 0x4) Err#2 ENOENT
24521 cc access("/usr/libexec/crt0.o", 0x4) Err#2 ENOENT
24521 cc access("/usr/bin/../libexec/crti.o", 0x4) Err#2 ENOENT
24521 cc access("/usr/bin/../libexec/crti.o", 0x4) Err#2 ENOENT
24521 cc access("/usr/libexec/crti.o", 0x4) Err#2 ENOENT
24521 cc access("/usr/bin/../libexec/crtbegin.o", 0x4) Err#2 ENOENT
24521 cc access("/usr/bin/../libexec/crtbegin.o", 0x4) Err#2 ENOENT
24521 cc access("/usr/libexec/crtbegin.o", 0x4) Err#2 ENOENT
24521 cc access("/usr/bin/../libexec/crtend.o", 0x4) Err#2 ENOENT
24521 cc access("/usr/bin/../libexec/crtend.o", 0x4) : cannot open crt0.o: No such file or directory
24521 cc access("/usr/libexec/crtend.o", 0x4) Err#2 ENOENT
24521 cc access("/usr/bin/../libexec/crtn.o", 0x4) Err#2 ENOENT
24521 cc access("/usr/bin/../libexec/crtn.o", 0x4) Err#2 ENOENT
24521 cc access("/usr/libexec/crtn.o", 0x4) Err#2 ENOENT
For some reason unknown to me the object files with the startup code etc.
are not search in "/usr/libexec" although they still get installed to
"/usr/lib" as usual.
>How-To-Repeat:
Try to compile a C program.
>Fix:
A work arround is to create links in "/usr/libexec".
>Release-Note:
>Audit-Trail:
>Unformatted: