[DragonFlyBSD - Bug #2505] i386 buildkernel cc1: error: too many filenames given /usr/obj/usr/src/world_i386/usr/include: No such file or directory

Romick Romick via Redmine bugtracker-admin at leaf.dragonflybsd.org
Mon Feb 11 14:39:58 PST 2013


Issue #2505 has been updated by yellowrabbit2010.


What happens if GCC try use @some-dir-name as ``response file''?
Filesystem matters.

Simple test:

===== test-resp.c =====
#include <stdio.h>

int
main(int argc, char *argv[])
{
        FILE *f;
        char str[200];

        f = fopen("dir", "r");
        if (!f) {
                printf("Cannot open.\n");
                return(1);
        }

        if (!fgets(str, sizeof(str), f)) {
                printf("NULL read.\n");
                return(1);
        }
        printf("Read is OK.\n");
        printf("'%s'\n", str);
        fclose(f);
        return(0);
}

===== HAMMER =====
# cc -o test-resp test-resp.c
# mkdir dir
# touch dir/file-0
# ./test-resp
NULL read.
#

===== NFS =====
# mount -t nfs 192.168.3.1:/var/xchg /mnt/xchg
# cpdup ./ /mnt/xchg/test-resp
# cd /mnt/xchg/test-resp
# ./test-resp
Read is OK.
'<some garbage>'
#


----------------------------------------
Bug #2505: i386  buildkernel cc1: error: too many filenames given /usr/obj/usr/src/world_i386/usr/include: No such file or directory
http://bugs.dragonflybsd.org/issues/2505

Author: davshao
Status: New
Priority: Normal
Assignee: 
Category: 
Target version: 


On a i386 build updating from

commit e2a099cf1b1188b60aecc18de449444f7dca0f6a
Date:   Fri Feb 1 13:47:37 2013 -0800

    kernel - Fix kernel panic caused by rename race

to

commit 6de060a4493ce25dda4287f3ab00041b698ba2b8
Date:   Sun Feb 3 13:32:01 2013 +0100

    Unbreak world with NO_GCC44

with /etc/make.conf

CFLAGS+=-g
STRIP=


# make buildworld && make buildkernel

ends with an error:
===> bus/cam/cam
@ -> /usr/src/sys/bus/cam/cam/../../..
echo "#define SCSI_DELAY 15000" > opt_scsi.h
rm -f .depend
> .depend
mkdep -f .depend -a     -nostdinc -D_KERNEL -DKLD_MODULE -I. -I@ -I/usr/obj/usr/src/sys/GENERIC -I/usr/obj/usr/src/sys/GENERIC/include -I@/../include -I/usr/obj/usr/src/world_i386/usr/include  -std=c99 -std=gnu99 -std=c99  /usr/src/sys/bus/cam/cam/../cam.c /usr/src/sys/bus/cam/cam/../cam_periph.c /usr/src/sys/bus/cam/cam/../cam_queue.c /usr/src/sys/bus/cam/cam/../cam_sim.c /usr/src/sys/bus/cam/cam/../cam_xpt.c /usr/src/sys/bus/cam/cam/../cam_extend.c /usr/src/sys/bus/cam/cam/../scsi/scsi_all.c /usr/src/sys/bus/cam/cam/../scsi/scsi_cd.c /usr/src/sys/bus/cam/cam/../scsi/scsi_ch.c /usr/src/sys/bus/cam/cam/../scsi/scsi_da.c /usr/src/sys/bus/cam/cam/../scsi/scsi_pass.c /usr/src/sys/bus/cam/cam/../scsi/scsi_pt.c /usr/src/sys/bus/cam/cam/../scsi/scsi_sa.c /usr/src/sys/bus/cam/cam/../scsi/scsi_ses.c /usr/src/sys/bus/cam/cam/../scsi/scsi_targ_bh.c /usr/src/sys/bus/cam/cam/../scsi/scsi_target.c
cc1: error: too many filenames given.  Type cc1 --help for usage
cc1: fatal error: /usr/obj/usr/src/world_i386/usr/include: No such file or directory
compilation terminated.
cc1: error: too many filenames given.  Type cc1 --help for usage
cc1: fatal error: /usr/obj/usr/src/world_i386/usr/include: No such file or directory
compilation terminated.
cc1: error: too many filenames given.  Type cc1 --help for usage
cc1: fatal error: /usr/obj/usr/src/world_i386/usr/include: No such file or directory
compilation terminated.
cc1: error: too many filenames given.  Type cc1 --help for usage
cc1: fatal error: /usr/obj/usr/src/world_i386/usr/include: No such file or directory
compilation terminated.

...

cc1: fatal error: /usr/obj/usr/src/world_i386/usr/include: No such file or directory
compilation terminated.
mkdep: compile failed
*** Error code 1

Stop.
make: stopped in /usr/src/sys/bus/cam/cam
*** Error code 1

Stop.
make: stopped in /usr/src/sys/bus/cam
*** Error code 1

Stop.
make: stopped in /usr/src/sys/bus
*** Error code 1

Stop.
make: stopped in /usr/src/sys
*** Error code 1

Stop.
make: stopped in /usr/obj/usr/src/sys/GENERIC
*** Error code 1

Stop.
make: stopped in /usr/src
.CURDIR='/usr/src'
.OBJDIR='/usr/obj/usr/src'
.MAKE='make'
MAKE_VERSION='20121010'
LD_LIBRARY_PATH=''
MACHINE_ARCH='i386'
MACHINE='i386'
MAKEFILE='/usr/src/Makefile.inc1'
.TARGETS='buildkernel'
.ERROR_TARGET='buildkernel'
.ERROR_META_FILE=''
.MAKE.LEVEL='1'
.MAKE.MODE=''
*** Error code 1




-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account



More information about the Bugs mailing list