ports/124755: [patch] emulators/win4bsd IGNORE if scheduler is not 4BSD

Pietro Cerutti gahr at FreeBSD.org
Thu Jun 19 11:00:12 UTC 2008


>Number:         124755
>Category:       ports
>Synopsis:       [patch] emulators/win4bsd IGNORE if scheduler is not 4BSD
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jun 19 11:00:12 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Pietro Cerutti
>Release:        FreeBSD 8.0-CURRENT i386
>Organization:
The FreeBSD Project 
>Environment:


System: FreeBSD 8.0-CURRENT #0: Wed Jun 18 01:38:09 CEST 2008
    root at gahrtop.localhost:/usr/obj/usr/src/sys/MSI1034



>Description:


The kqemu module needed by win4bsd needs the 4BSD scheduler:

> cat /tmp/build-kqemu.log 

Source path       /usr/tmp/.build_kqemu-54331/kqemu
C compiler        gcc
Host C compiler   gcc
make              gmake
host CPU          i386
Warning: Object directory not changed from original /usr/tmp/.build_kqemu-54331/kqemu
@ -> /usr/src/sys
machine -> /usr/src/sys/i386/include
cc -O2 -pipe -march=prescott -fno-strict-aliasing -D_KERNEL -DKLD_MODULE -std=c99 -nostdinc   -I. -I@ -I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common  -mno-align-long-strings -mpreferred-stack-boundary=2  -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions -c kqemu-freebsd.c
kqemu-freebsd.c: In function 'kqemu_schedule':
kqemu-freebsd.c:211: error: 'sched_lock' undeclared (first use in this function)
kqemu-freebsd.c:211: error: (Each undeclared identifier is reported only once
kqemu-freebsd.c:211: error: for each function it appears in.)
*** Error code 1

Stop in /usr/tmp/.build_kqemu-54331/kqemu.



>How-To-Repeat:





>Fix:


--- win4bsd.diff begins here ---
Index: Makefile
===================================================================
RCS file: /home/pcvs/ports/emulators/win4bsd/Makefile,v
retrieving revision 1.5
diff -u -u -r1.5 Makefile
--- Makefile	6 Jun 2008 13:27:06 -0000	1.5
+++ Makefile	19 Jun 2008 10:52:44 -0000
@@ -34,13 +34,18 @@
 .include <bsd.port.pre.mk>
 
 .if ${OSVERSION} > 600000
-LIB_DEPENDS+=  c.5:${PORTSDIR}/misc/compat5x
+LIB_DEPENDS+=	c.5:${PORTSDIR}/misc/compat5x
 .endif
 
 .if !exists(/usr/src/sys/kern)
 IGNORE=		requires system source for installing kqemu, the accelerator that provides native CPU speed in Win4BSD.  Please install the system sources in /usr/src (e.g. using sysinstall), and run make again
 .endif
 
+SCHED_NAME!=	${SYSCTL} -n kern.sched.name
+.if ${SCHED_NAME} != "4BSD"
+IGNORE=		requires the traditional 4BSD scheduler. Please rebuild your kernel with options SCHED_4BSD, and run make again
+.endif
+
 post-patch:
 	@${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|' ${WRKSRC}/+POST-* \
 		${WRKSRC}/usr/local/lib/win4bsd/bin/postinstall.sh \
--- win4bsd.diff ends here ---



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list