Date: 16 Jul 2008 16:09:58 -0000 From: Kazunori_Fujiwara <fujiwara@wide.ad.jp> To: FreeBSD-gnats-submit@FreeBSD.org Cc: fujiwara@wide.ad.jp Subject: ports/125683: ports/japanese/edict does not work on 7.0/i386, 7.0/amd64 Message-ID: <20080716160958.26927.qmail@f.pyon.org> Resent-Message-ID: <200807161640.m6GGe2kK062859@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 125683 >Category: ports >Synopsis: ports/japanese/edict does not work on 7.0/i386, 7.0/amd64 >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 Jul 16 16:40:01 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Kazunori_Fujiwara >Release: FreeBSD 7.0-STABLE amd64 >Organization: WIDE Project >Environment: System: FreeBSD f.pyon.org 7.0-STABLE FreeBSD 7.0-STABLE #1: Sun Jun 29 01:18:10 JST 2008 fujiwara@f.pyon.org:/usr/obj/usr/src/sys/SC7 amd64 ports-current on FreeBSD 7.0 i386 ports-current on FreeBSD 7.0 amd64 >Description: pors/japanese/edict has two problems. 1. It does not work on FreeBSD 7.0 i386. xjdic cannot handle input characters from tty on FreeBSD 7.0. Adding "new.c_cc[VMIN] = 1;" for tcsetattr() solves this problem. 2. Marked as BROKEN for amd64 Patch to xjdxgen.c solves this problem. - indlen = (diclen * 3)/4; + indlen = (diclen * 3*(sizeof(void *)/4))/4; >How-To-Repeat: >Fix: Index: Makefile =================================================================== RCS file: /ncvs/ports/japanese/edict/Makefile,v retrieving revision 1.23 diff -u -b -r1.23 Makefile --- Makefile 14 Mar 2008 19:07:39 -0000 1.23 +++ Makefile 16 Jul 2008 14:21:55 -0000 @@ -60,10 +60,6 @@ .include <bsd.port.pre.mk> -.if ${ARCH} != "i386" -BROKEN= Does not build -.endif - do-extract: @${RM} -rf ${WRKDIR} @${MKDIR} ${WRKDIR} Index: files/patch-xjdfrontend.c =================================================================== RCS file: /ncvs/ports/japanese/edict/files/patch-xjdfrontend.c,v retrieving revision 1.1 diff -u -b -r1.1 patch-xjdfrontend.c --- files/patch-xjdfrontend.c 15 Feb 2008 22:05:09 -0000 1.1 +++ files/patch-xjdfrontend.c 19 Jun 2008 09:29:34 -0000 @@ -16,7 +16,7 @@ +#elif defined(__POSIX__) + tcgetattr(0, &orig); tcgetattr(0, &new); + new.c_lflag &= ~ICANON; new.c_lflag &= ~ISIG; new.c_lflag &= ~ECHO; -+ new.c_lflag &= ~IXON; ++ new.c_lflag &= ~IXON; new.c_cc[VMIN] = 1; + new.c_cc[4] = 1; new.c_cc[5] = 0; tcsetattr(0, TCSANOW, &new); #else ioctl(0, TCGETA, &orig); ioctl(0, TCGETA, &new); files/patch-64bit: --- xjdxgen.c 2008-06-19 17:51:17.000000000 +0900 +++ xjdxgen.c- 2008-06-19 17:50:47.000000000 +0900 @@ -154,7 +154,7 @@ db[diclen] = 10; db[0] = 10; printf("Dictionary size: %ld bytes.\n",dbyte); - indlen = (diclen * 3)/4; + indlen = (diclen * 3*(sizeof(void *)/4))/4; jindex = (unsigned long *)malloc(indlen); if(jindex == NULL) { >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080716160958.26927.qmail>