Date: Thu, 27 Jun 2002 16:09:54 +0200 (CEST) From: BOUWSMA Beery <freebsd-misuser@ipv6.netscum.dyndns.dk> To: freebsd-current@freebsd.org Subject: duplicate includes in kdump/ioctl.c ? Message-ID: <200206271409.g5RE9sYk065255@netscum.dyndns.dk>
next in thread | raw e-mail | index | archive | help
[don't mail me, I'm going on holiday Real Soon Now again] Am I the only one getting duplicated #include lines in the generated ioctl.c file, created as part of building usr.bin/kdump? Probably yes, because when I build things in other locations (I'm using a MAKEOBJDIRPREFIX), I don't see the lines in those ioctl.c files... I'm using the relevant make.conf lines to set MAKEOBJDIRPREFIX as RELNAME!= /usr/bin/uname -r MAKEOBJDIRPREFIX?= /usr/local/obj/${RELNAME} This puts everything in paths like this... bash-2.05a$ less -N /usr/local/obj/5.0-CURRENT/usr/src/usr.bin/kdump/ioctl.c-BUGGY [...] 23 #include <cam/cam.h> 24 25 const char *ioctlname(u_long val); 26 27 #include <cam/scsi/scsi_pass.h> 28 #include <cam/scsi/scsi_ses.h> 29 #include <cam/scsi/scsi_targetio.h> 30 #include <cam/scsi/scsi_pass.h> 31 #include <cam/scsi/scsi_ses.h> 32 #include <cam/scsi/scsi_targetio.h> 33 #include <dev/ppbus/lptio.h> 34 #include <dev/ppbus/ppi.h> 35 #include <dev/usb/dsbr100io.h> Note that lines 27-29 match lines 30-32, leading to a build failure like cc -O -pipe -DMAXPARTITIONS=16 -I/usr/src/usr.bin/kdump/../ktrace -I/usr/src/us r.bin/kdump/../.. -c ioctl.c In file included from ioctl.c:31: /usr/local/obj/5.0-CURRENT/usr/src/i386/usr/include/cam/scsi/scsi_ses.h:88: conf licting types for `ses_object' /usr/local/obj/5.0-CURRENT/usr/src/i386/usr/include/cam/scsi/scsi_ses.h:88: prev ious declaration of `ses_object' /usr/local/obj/5.0-CURRENT/usr/src/i386/usr/include/cam/scsi/scsi_ses.h:128: con flicting types for `ses_objstat' /usr/local/obj/5.0-CURRENT/usr/src/i386/usr/include/cam/scsi/scsi_ses.h:128: pre vious declaration of `ses_objstat' [snip] If I `make' with `env MAKEOBJDIRPREFIX=...' in the source directory /usr/src/usr.bin/kdump/ itself, it builds (more or less) fine... 25 const char *ioctlname(u_long val); 26 27 #include <cam/scsi/scsi_pass.h> 28 #include <cam/scsi/scsi_ses.h> 29 #include <cam/scsi/scsi_targetio.h> 30 #include <dev/ppbus/lptio.h> 31 #include <dev/ppbus/ppi.h> [...] However, there seem to be significant differences between the two generated ioctl.c files (including another duplicated disklabel.h line). (Also, I had done a `make includes' for laughs, and I seem to have needed to hack the new /usr/include/sys/proc.h to be like u_char ar_args[0]; /* Arguments. */ as was my old proc.h from March, in order to get the kdump binary to be built by hand after the `make includes') Is this b0rken for me because I'm using a make.conf MAKEOBJDIRPREFIX, and I now have to give it on the command line? Oh, just for laughs, I did a buildworld, specifying `env MAKEOBJDIRPREFIX' on the make line, with the same results as earlier (failed build, as the .depends file is regenerated, so a new ioctl.c file is generated even if I have a successful kdump binary, meaning it gets rebuilt)... Or might the fact that I'm using a unionfs mount over /usr/src have something to do with it (since disklabel.h appears twice with `ls' since I needed to hack it in the upper unionfs layer)... Source is current of last night, while the -current I'm trying to update from was built early march (cough) Just to be *really* sure, I've commented out my make.conf lines, and am doing another -DNOCLEAN buildworld, and I guess if that fails too, when I get back, I'll do it again without the -DNOCLEAN (started with an empty MAKEOBJDIRPREFIX just for safety), to see if I can get things working for me... (Nope, failed too, have to try again later, sigh) (sorry if I'm being typically unclear) thanks barry bouwsma To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200206271409.g5RE9sYk065255>