Re: FreeBSD/i386 "make release" breakage
On Tue, Feb 26, 2002 at 05:30:50AM -0800, [EMAIL PROTECTED] wrote: >2. Use the existing boot_crunch.conf, but move sbin/dhclient/* back > to a single top-level Makefile. This does not work at the > moment, because the objects in each subdirectory are built with > different command line options to conditionally compile > different parts of the header files. Also there is at least one filename that is the same in two of the directories. We can work around this at import time thru a FREEBSD-updating set of instructions. (or even better, get ISC to rename them). I can work around the CFLAGS issue if desired. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: FreeBSD/i386 "make release" breakage
On Tue, Feb 26, 2002 at 06:39:22PM +0900, Makoto Matsushita wrote: > Note that new dhclient requires some libraries which are *not* > installed to /usr/lib (libdhcp, libres, libomapi, and libdst). They are built and linked statically. This is not possible with crunch_gen? To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: FreeBSD/i386 "make release" breakage
On Wed, Feb 27, 2002 at 12:19:01AM +0900, Makoto Matsushita wrote: > murray> I'm currently looking into #2 and #3, as well as working with Ted > murray> Lemon from the ISC to fix some symbol pollution that this whole mess > murray> has exposed. Any other ideas? > > Currently nothing, it seems that #3 (or its variant) is better IMHO. Ok. Fixed in r1.15 of sbin/dhclient/Makefile. I'm not sure if make release will succeed now (just started a build), but release.4 will at least build a crunched dhclient again. - Murray To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: FreeBSD/i386 "make release" breakage
murray> I'm currently looking into #2 and #3, as well as working with Ted murray> Lemon from the ISC to fix some symbol pollution that this whole mess murray> has exposed. Any other ideas? Currently nothing, it seems that #3 (or its variant) is better IMHO. -- - Makoto `MAR' Matsushita To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: FreeBSD/i386 "make release" breakage
On Tue, Feb 26, 2002 at 06:39:22PM +0900, Makoto Matsushita wrote: > Note that new dhclient requires some libraries which are *not* > installed to /usr/lib (libdhcp, libres, libomapi, and libdst). Installing them to /usr/lib wouldn't help for the crunched case anyway. > I have tried a quick hack to solve this; here is a patch to boot_crunch.conf. I tried a different approach and I was able to build a properly brunched dhclient. However, src/release/Makefile tries to rebuild all of the object files so my near-fix still falls over when building a release. There are several possible ways to solve this problem : 1. Use the existing boot_crunch.conf, but fix crunchgen(1) to recurse into subdirectories to find object files. This would require significant changes to the way that crunchgen currently works. 2. Use the existing boot_crunch.conf, but move sbin/dhclient/* back to a single top-level Makefile. This does not work at the moment, because the objects in each subdirectory are built with different command line options to conditionally compile different parts of the header files. 3. Add an explicit OBJ list in the top level dhclient Makefile wrapped in a .ifdef (RELEASE_CRUNCH). This works well to build a crunched dhclient binary, however, src/release/Makefile tries to rebuild all of the objects individually, and gets confused when asked to rebuild 'client/clparse.o' from the top level, for example. src/release/Makefile could be changed to fix this. I'm currently looking into #2 and #3, as well as working with Ted Lemon from the ISC to fix some symbol pollution that this whole mess has exposed. Any other ideas? - Murray To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: FreeBSD/i386 "make release" breakage
matusita> Current 5-current fails 'make release' when processing release.4 matusita> target (making a crunch binary). Here's sample session: matusita> ===> doc matusita> rm -f cpio.info cpio.info.gz matusita> rm -f .depend /usr/obj/usr/src/gnu/usr.bin/cpio/GPATH matusita> /usr/obj/usr/src/gnu/usr.bin/cpio/GRTAGS matusita> /usr/obj/usr/src/gnu/usr.bin/cpio/GSYMS matusita> /usr/obj/usr/src/gnu/usr.bin/cpio/GTAGS matusita> ===> doc matusita> make: don't know how to make dhclient_clean. Stop This is because - src/sbin/dhclient/Makefile was changed (with ISC DHCP 3.x commit) - but src/release/${arch}/boot_crunch.conf is not changed - crunchgen(1) doesn't understands new src/sbin/dhclient/Makefile Note that new dhclient requires some libraries which are *not* installed to /usr/lib (libdhcp, libres, libomapi, and libdst). I have tried a quick hack to solve this; here is a patch to boot_crunch.conf. --- /usr/src/release/i386/boot_crunch.conf Fri Jan 18 05:28:10 2002 +++ boot_crunch.confTue Feb 26 09:10:51 2002 @@ -10,8 +10,12 @@ srcdirs /usr/src/gnu/usr.bin progs cpio +srcdirs /usr/src/sbin/dhclient +progs client +ln client dhclient + srcdirs /usr/src/sbin -progs dhclient fsck_ffs ifconfig +progs fsck_ffs ifconfig progs mount_nfs newfs route rtsol progs slattach tunefs camcontrol @@ -27,3 +31,7 @@ libs -ll -ledit -lutil -lkvm -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf +libs /usr/obj/usr/src/sbin/dhclient/common/libdhcp.a +libs /usr/obj/usr/src/sbin/dhclient/minires/libres.a +libs /usr/obj/usr/src/sbin/dhclient/omapip/libomapi.a +libs /usr/obj/usr/src/sbin/dhclient/dst/libdst.a Absolutely dirty (filepath are inlined), but this does *not* work. Here is a sample session: % cd /usr/src/release % make release.4 (... stuffs there ...) cc -static -o boot_crunch boot_crunch.o hostname.lo pwd.lo rm.lo sh.lo test.lo cpio.lo client.lo fsck_ffs.lo ifconfig.lo mount_nfs.lo newfs.lo route.lo rtsol.lo slattach.lo tunefs.lo camcontrol.lo find.lo minigzip.lo sed.lo arp.lo pccardc.lo pccardd.lo ppp.lo sysinstall.lo usbd.lo usbdevs.lo -ll -ledit -lutil -lkvm -lmd -lcrypt -lftpio -lz -lnetgraph -ldialog -lncurses -ldisk -lcam -lsbuf /usr/obj/usr/src/sbin/dhclient/common/libdhcp.a /usr/obj/usr/src/sbin/dhclient/minires/libres.a /usr/obj/usr/src/sbin/dhclient/omapip/libomapi.a /usr/obj/usr/src/sbin/dhclient/dst/libdst.a /usr/obj/usr/src/sbin/dhclient/common/libdhcp.a(tree.o): In function `evaluate_boolean_expression': tree.o(.text+0x1372): undefined reference to `check_collection' /usr/obj/usr/src/sbin/dhclient/common/libdhcp.a(parse.o): In function `parse_executable_statement': parse.o(.text+0x26b5): undefined reference to `find_class' parse.o(.text+0x2859): undefined reference to `parse_allow_deny' /usr/obj/usr/src/sbin/dhclient/common/libdhcp.a(options.o): In function `do_packet': options.o(.text+0x30e1): undefined reference to `dhcp' options.o(.text+0x30ef): undefined reference to `bootp' /usr/obj/usr/src/sbin/dhclient/common/libdhcp.a(execute.o): In function `execute_statements': execute.o(.text+0x306): undefined reference to `classify' /usr/obj/usr/src/sbin/dhclient/common/libdhcp.a(comapi.o): In function `dhcp_control_set_value': comapi.o(.text+0xb16): undefined reference to `dhcp_set_control_state' *** Error code 1 Stop in /usr/obj/usr/src/release/boot_crunch. *** Error code 1 Stop in /usr/src/release. % These 'undefined reference' symbols are actually defined by dhclient's source code, but it is not there (maybe renamed by crunchgen(1)). Are there any good way to fix this? -- - Makoto `MAR' Matsushita To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: FreeBSD/i386 "make release" breakage
null> After the cvs checkout completes: Ah, big sorry... I just fixed in src/release/Makefile rev 1.658. -- - Makoto `MAR' Matsushita To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: FreeBSD/i386 "make release" breakage
At 01:27 PM 2/25/2002 +0900, Makoto Matsushita wrote: >Current 5-current fails 'make release' when processing release.4 >target (making a crunch binary). Here's sample session: > >===> doc >rm -f cpio.info cpio.info.gz >rm -f .depend /usr/obj/usr/src/gnu/usr.bin/cpio/GPATH >/usr/obj/usr/src/gnu/usr.bin/cpio/GRTAGS >/usr/obj/usr/src/gnu/usr.bin/cpio/GSYMS >/usr/obj/usr/src/gnu/usr.bin/cpio/GTAGS >===> doc >make: don't know how to make dhclient_clean. Stop > >src/sbin/dhclient/Makefile doesn't know 'dhclient_clean' target. > >% cd /usr/src/sbin/dhclient >% make -n dhclient_clean >make: don't know how to make dhclient_clean. Stop > >It seems that crunchgen misunderstands src/sbin/dhclient/Makefile, >and fails to generate a Makefile for crunch binary. > >-- - >Makoto `MAR' Matsushita > >To Unsubscribe: send mail to [EMAIL PROTECTED] >with "unsubscribe freebsd-current" in the body of the message Makoto I can't even get that far. On current as of today: make release BUILDNAME=5.0-20020224-CURRENT \ CHROOTDIR=/usr/tmp/release/5.0-20020224-CURRENT \ CVSROOT=/usr/home/ncvs NOPORTS=YES | tee /usr/src/release/release.log After the cvs checkout completes: cvs checkout: Updating doc/zh_TW.Big5/share cvs checkout: Updating doc/zh_TW.Big5/share/sgml U doc/zh_TW.Big5/share/sgml/catalog U doc/zh_TW.Big5/share/sgml/freebsd.dsl if [ -d /usr/src/release/../../ports/distfiles/ ]; then cp -rp /usr/src/release/../../ports/distfiles /usr/tmp/release/5.0-20020224-CURRENT/usr/ports/distfiles; else mkdir -p /usr/tmp/release/5.0-20020224-CURRENT/usr/ports/distfiles fi Syntax error: end of file unexpected (expecting "fi") *** Error code 2 Stop in /usr/src/release. Manfred == || [EMAIL PROTECTED] || || Ph. (415) 681-6235 || == To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: FreeBSD/i386 "make release" breakage
Ouch. matusita> src/sbin/dhclient/Makefile doesn't know 'dhclient_clean' target. Of course that's normal, dhclient_clean target should be created by crunchgen. -- - Makoto `MAR' Matsushita To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message