Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Aug 2014 16:18:45 -0700 (PDT)
From:      Don Lewis <truckman@FreeBSD.org>
To:        gjb@FreeBSD.org
Cc:        stable@FreeBSD.org, ian@FreeBSD.org
Subject:   Re: building an 8.4-STABLE i386 poudriere jail on an 10.0-STABLE amd64 host
Message-ID:  <201408292318.s7TNIjMI073287@gw.catspoiler.org>
In-Reply-To: <201408291816.s7TIGQNn072878@gw.catspoiler.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 29 Aug, To: gjb@freebsd.org wrote:
> On 29 Aug, Glen Barber wrote:
>> On Fri, Aug 29, 2014 at 10:06:58AM -0700, Don Lewis wrote:
>>> Now how do I fix this for poudriere since it wants to do a clean
>>> checkout of src from svn every time I run it to create the jail?
>>> 
>> 
>> 'poudriere jail' accepts a '-P <patch>' flag, which will patch the src/
>> tree before the build.  If you are able to generate a diff with your
>> fix, you can drop that patch in the poudriere.d directory, and use
>> 'poudriere jail -P ./my.diff [...]'.
> 
> That option isn't documented in the man page, but it is mentioned in
> poudriere's usage message.  When I tried it, ./my.diff seemed to be
> interpreted relative to my current directory.
> 
> I got further ...
> 
> cc -O2 -pipe  -I/var/poudriere/jails/84STABLEi386/usr/src/sbin/hastctl/../hastd -DINET -DINET6 -DYY_NO_UNPUT -DHAVE_CRYPTO -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wno-pointer-sign -Wno-format -c token.c
> cc1: warnings being treated as errors
> <stdout>:753: warning: redundant redeclaration of 'yylex'
> /var/poudriere/jails/84STABLEi386/usr/src/sbin/hastctl/../hastd/hast.h:270: warning: previous declaration of 'yylex' was here
> 
> ... adding to my patch.

With the patch below, I get further, but now lint is core getting
SIGBUS.

===> usr.bin/xlint/llib (all)
lint -cghapbx -Cposix /var/poudriere/jails/84STABLEi386/usr/src/usr.bin/xlint/llib/llib-lposix
llib-lposix:
lint: /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/libexec/lint1 got signal 10
*** Error code 1
1 error
*** Error code 2
1 error
*** Error code 2
1 error
*** Error code 2
1 error
*** Error code 2
1 error
*** [buildworld] Error code 2
1 error
====>> Error: Failed to 'make buildworld'

This is the stack trace:

# gdb /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/libexec/lint1 lint1.core
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...(no debugging symbols found)...
Core was generated by `lint1'.
Program terminated with signal 10, Bus error.
#0  0x000000000040b061 in getcnode ()
(gdb) bt
#0  0x000000000040b061 in getcnode ()
#1  0x0000000000401717 in yyparse ()
#2  0x0000000000406676 in main ()



Index: gnu/usr.bin/diff/Makefile
===================================================================
--- gnu/usr.bin/diff/Makefile	(revision 269955)
+++ gnu/usr.bin/diff/Makefile	(working copy)
@@ -29,7 +29,7 @@
 
 .for f in diff.c context.c
 ${f}: ${DIFFSRC}/${f} ${.CURDIR}/${f}.diff
-	patch -s -b .orig -o ${.TARGET} < ${.CURDIR}/${f}.diff ${DIFFSRC}/${f}
+	patch -s -o ${.TARGET} < ${.CURDIR}/${f}.diff ${DIFFSRC}/${f}
 CLEANFILES+= ${f}
 .endfor
 
Index: gnu/usr.bin/diff3/Makefile
===================================================================
--- gnu/usr.bin/diff3/Makefile	(revision 269955)
+++ gnu/usr.bin/diff3/Makefile	(working copy)
@@ -20,7 +20,7 @@
 
 .for f in diff3.c
 ${f}: ${DIFFSRC}/${f} ${.CURDIR}/${f}.diff
-	patch -s -b .orig -o ${.TARGET} < ${.CURDIR}/${f}.diff ${DIFFSRC}/${f}
+	patch -s -o ${.TARGET} < ${.CURDIR}/${f}.diff ${DIFFSRC}/${f}
 CLEANFILES+= ${f}
 .endfor
 
Index: gnu/usr.bin/sdiff/Makefile
===================================================================
--- gnu/usr.bin/sdiff/Makefile	(revision 269955)
+++ gnu/usr.bin/sdiff/Makefile	(working copy)
@@ -21,7 +21,7 @@
 
 .for f in sdiff.c
 ${f}: ${DIFFSRC}/${f} ${.CURDIR}/${f}.diff
-	patch -s -b .orig -o ${.TARGET} < ${.CURDIR}/${f}.diff ${DIFFSRC}/${f}
+	patch -s -o ${.TARGET} < ${.CURDIR}/${f}.diff ${DIFFSRC}/${f}
 CLEANFILES+= ${f}
 .endfor
 
Index: Makefile.inc1
===================================================================
--- Makefile.inc1	(revision 269955)
+++ Makefile.inc1	(working copy)
@@ -948,7 +948,7 @@
 _ar=		usr.bin/ar
 .endif
 
-.if ${BOOTSTRAPPING} < 802000
+.if ${BOOTSTRAPPING} < 802000 || ${BOOTSTRAPPING} > 1000032
 _lex=		usr.bin/lex
 .endif
 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201408292318.s7TNIjMI073287>