Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Oct 2002 20:55:05 +0000 (GMT)
From:      Daniel Flickinger <attila@hun.org>
To:        Hiten Pandya <hiten@angelica.unixdaemons.com>
Cc:        Marcel Moolenaar <marcel@xcllnt.net>, FreeBSD-CURRENT <current@FreeBSD.ORG>
Subject:   Re: libc in CURRENT fails as of 1200 GMT today
Message-ID:  <20021030205505.FwhS20265@hun.org>
In-Reply-To: <20021030170217.GB2083@dhcp01.pn.xcllnt.net>
References:  <20021030164823.NvQM9234@hun.org> <20021030120635.A21427@angelica.unixdaemons.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Sent: Wed, 30 Oct 2002 09:02:17 -0800 by Marcel Moolenaar

On Wed, Oct 30, 2002 at 04:48:23PM +0000, Daniel Flickinger wrote:
+ >   /usr/src/lib/libc/uuid/uuid_compare.c:31:18: uuid.h: No such file or directory
+ >   [snip]
+ >
+ > 	and a couple pages of resulting syntax errors
+ >
+
+ I assume you didn't do a makeworld, but just a make in libc?

  No, I go for broke...

	make -j 4 -k -s ${TFLG} buildworld

  at least initially; I should have been more clear.

  There is either a missing or incorrect -I statement
  somewhere. There are now two uuid.h files.

  When there is an include file problem, I use a script:

	mv /usr/include /usr/include.${CDATE}
	mkdir /usr/include && chmod 0755 /usr/include
 	make buildincludes
	make installincludes

  which effects a more global approach --but potentially can
  create other sync problems... if you choose this approach,
  you mask potential -I errors and you risk havoc with
  successive 'make worlds'

  I 'buildworld' at least once a day based on 1200 GMT
  --other times, if necessary. The system is CURRENT as of
  1800 GMT 27 Oct 2002, both kernel and world. The last two
  days have had too many errors to go for installworld.

  'make buildworld' is "supposed to" provide the necessary
  -I statements to pickup include files from the /usr/src
  and /usr/obj trees. /usr/inlcude/sys/uuid.h is where it
  should be --but /usr/include/uuid.h does not exist, so
  there was no fallback from the incorrect or missing -I
  statement in the tree.

    find /usr -name 'uuid\.h' -print

	/usr/obj/usr/src/i386/usr/include/uuid.h
	/usr/include/sys/uuid.h
	/usr/src/lib/libc/uuid/uuid.h
	/usr/src/sys/sys/uuid.h

  Note that the libc commands prior to the error have not
  loaded the sys/uuid.h file to /usr/obj/usr/src/sys/uuid.h

  However, after running the script above we now have a
  uuid.h in both /usr/include and /usr/include/sys:

    find /usr -name 'uuid\.h' -print

	/usr/obj/usr/src/i386/usr/include/uuid.h
	/usr/include/sys/uuid.h
	/usr/include/uuid.h
	/usr/src/lib/libc/uuid/uuid.h
	/usr/src/sys/sys/uuid.h

  The include/uuid.h reads in the sys/uuid.h file. This now
  provides a fallback, masking the real problem.

  Both files are present in the src tree --which is where
  'make buildworld' SHOULD find them and place them in the
  /usr/obj tree during buildworld. There is a missing -I
  declaration ... or cp or install statement.

  It SHOULD NOT be necessary to run 'make
  build/installincludes' prior to 'make buildworld'

  After 23 years of BSD, it's just another day...



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?20021030205505.FwhS20265>