ports/126678: sysutils/screen build error on FreeBSD-current

NAKAJI Hiroyuki nakaji at jp.freebsd.org
Wed Aug 20 10:10:02 UTC 2008


>Number:         126678
>Category:       ports
>Synopsis:       sysutils/screen build error on FreeBSD-current
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Aug 20 10:10:02 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     NAKAJI Hiroyuki
>Release:        FreeBSD 8.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD roddy.4407.kankyo-u.ac.jp 8.0-CURRENT FreeBSD 8.0-CURRENT #127: Wed Jun 25 19:24:08 JST 2008 root at roddy.4407.kankyo-u.ac.jp:/usr/obj/usr/src/sys/RODDY i386


>Description:

Because of the difference of the execvpe() which is defined in screen
itself and FreeBSD-current's unistd.h, screen-4.0.3_5 cannot build on
FreeBSD 8.0-CURRENT.

===>  Building for screen-4.0.3_5
cc -c -I. -I.    -O2 -pipe -DCOLORS256 -fno-strict-aliasing screen.c
In file included from screen.c:244:
extern.h:149: error: conflicting types for 'execvpe'
/usr/include/unistd.h:338: error: previous declaration of 'execvpe' was here
*** Error code 1

Stop in /usr/ports/sysutils/screen/work/screen-4.0.3.
*** Error code 1

Stop in /usr/ports/sysutils/screen.
*** Error code 1

Stop in /usr/ports/sysutils/screen.
*** Error code 1

Stop in /usr/ports/sysutils/screen.

>How-To-Repeat:
	
cd /usr/ports/sysutils/screen
make all

>Fix:

I'm not sure "${OSVERSION} >= 800039" is ok.

===> Generating patch
===> Viewing diff with more
diff -ruN --exclude=CVS /usr/ports/sysutils/screen/Makefile /home/nakaji/work/ports/sysutils/screen/Makefile
--- /usr/ports/sysutils/screen/Makefile	2008-07-26 08:24:34.000000000 +0900
+++ /home/nakaji/work/ports/sysutils/screen/Makefile	2008-08-20 19:01:18.000000000 +0900
@@ -76,6 +76,10 @@
 post-patch:
 	@${RM} ${WRKSRC}/doc/screen.info*
 	@${REINPLACE_CMD} -e 's|/dev/ptmx|/nonexistent|' ${WRKSRC}/configure
+.if ${OSVERSION} >= 800039
+	@${PATCH} ${PATCH_ARGS} < ${FILESDIR}/execvpe.diff
+.endif
+
 
 post-install:
 	@${MKDIR} ${EXAMPLESDIR}
diff -ruN --exclude=CVS /usr/ports/sysutils/screen/files/execvpe.diff /home/nakaji/work/ports/sysutils/screen/files/execvpe.diff
--- /usr/ports/sysutils/screen/files/execvpe.diff	1970-01-01 09:00:00.000000000 +0900
+++ /home/nakaji/work/ports/sysutils/screen/files/execvpe.diff	2008-08-20 18:45:30.000000000 +0900
@@ -0,0 +1,28 @@
+--- extern.h.orig	2003-08-22 21:27:57.000000000 +0900
++++ extern.h	2008-08-20 17:50:14.000000000 +0900
+@@ -146,7 +146,6 @@
+ #ifdef ZMODEM
+ extern void  zmodem_abort __P((struct win *, struct display *));
+ #endif
+-extern void  execvpe __P((char *, char **, char **));
+ 
+ /* utmp.c */
+ #ifdef UTMPOK
+--- window.c.orig	2008-08-20 17:52:02.000000000 +0900
++++ window.c	2008-08-20 17:50:46.000000000 +0900
+@@ -1387,6 +1387,7 @@
+   return pid;
+ }
+ 
++#if 0
+ void
+ execvpe(prog, args, env)
+ char *prog, **args, **env;
+@@ -1432,6 +1433,7 @@
+   if (eaccess)
+     errno = EACCES;
+ }
++#endif
+ 
+ #ifdef PSEUDOS
+ 
===> Done
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list