-current of ~ Oct 5th, epic4-2.10 (both package and built from ports),
hangs on inputting ^C.  Thanks to the helpful folks of #epic, I was
pointed to this on the epic website (though they should add it to the
INSTALL notes for EPIC4, not just EPIC5
http://cvs.epicsol.org/cgi/viewcvs.cgi/epic5/INSTALL?rev=1.7&content-type=text/vnd.viewcvs-markup:

  o  You must not try to compile epic with "gcc -O2" because -O2 will
     generate bad code that leads to random crashes.  When you use -O2,
     gcc assumes the source is conformant to ISO C99's requirements about
     alias-safety, and EPIC, being a C90 program, does not conform, so the
     result is undefined behavior (which means it crashes randomly.)  This
     is not a bug in EPIC.  You must only compile epic with -O.

Compiling with -O (or -O0) fixes the issue. Diff (for -O) attached, tested on i386.




--- net/epic4/Makefile.orig     Fri Oct 10 19:59:37 2008
+++ net/epic4/Makefile  Sat Oct 11 00:06:08 2008
@@ -5,6 +5,7 @@
 VERSION=       2.10
 HELP_DATE=     20050315
 DISTNAME=      epic4-${VERSION}
+PKGNAME=       ${DISTNAME}p0
 CATEGORIES=    net
 MASTER_SITES=  ftp://ftp.epicsol.org/pub/epic/EPIC4-PRODUCTION/
 DISTFILES=     epic4-${VERSION}.tar.bz2 epic4-help-${HELP_DATE}.tar.gz
@@ -32,6 +33,10 @@
 NO_REGRESS=    Yes
 
 SUBST_VARS=    VERSION
+# epic is a C90 program -O2 causes aliasing problems
+# http://cvs.epicsol.org/cgi/viewcvs.cgi/epic5/INSTALL
+CFLAGS+=        -O
+
 
 post-extract:
        @mv -f ${WRKDIR}/help ${WRKSRC}

Reply via email to