Re: # $FreeBSD: head/lang/gcl/Makefile 347809 2014-03-10 20:55:20Z gerald $ Compilation of lang/gcl has failed these days. As the following message said, 'CPPFunction' at gcl_readline.d:472:39 is not declared. And the lhs value of the above line is not used anywhere. It looks very strange. I simply guess this line should be removed. root@:/usr/ports/lang/gcl # make ===> License GPLv2 LGPL21 accepted by the user ===> Found saved configuration for gcl-2.6.10_1 ===> gcl-2.6.10_1 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by gcl-2.6.10_1 for building ===> Extracting for gcl-2.6.10_1 => SHA256 Checksum OK for gcl-2.6.10.tar.gz. ===> Patching for gcl-2.6.10_1 ===> Applying FreeBSD patches for gcl-2.6.10_1 (snip-snip-snip) ./bin/dpp gcl_readline dpp: gcl_readline.d -> gcl_readline.c gcc47 -c -O2 -pipe -I/usr/local/include -Wl,-rpath=/usr/local/lib/gcc47 -fno-strict-aliasing -fomit-frame-pointer -fsigned-char -DVOL=volatile -I/mnt2/usr/ports/lang/gcl/work/gcl/o -Wall -UDBEGIN -DDBEGIN=0 -I../h -I../gcl-tk gcl_readline.c gcl_readline.d: In function 'gcl_init_readline_function': gcl_readline.d:472:39: error: 'CPPFunction' undeclared (first use in this function) gcl_readline.d:472:39: note: each undeclared identifier is reported only once for each function it appears in gcl_readline.d:472:52: error: expected expression before ')' token gcl_readline.d: At top level: gcl_readline.d:224:15: warning: 'rl_completion' defined but not used [-Wunused-function] gmake[3]: *** [gcl_readline.o] Error 1 gmake[3]: Leaving directory `/mnt2/usr/ports/lang/gcl/work/gcl/o' gmake[2]: *** [unixport/saved_pre_gcl] Error 2 gmake[2]: Leaving directory `/mnt2/usr/ports/lang/gcl/work/gcl' *** Error code 1 Stop. make[1]: stopped in /mnt2/usr/ports/lang/gcl *** Error code 1 Stop. make: stopped in /mnt2/usr/ports/lang/gcl root@:/usr/ports/lang/gcl # NOTE: /usr/ports is a symlink to /mnt2/usr/ports in my environmnet. Fix: I made this patch to remove useless lines, based on the above guess. It looks working for me for now. % cat patch-o_gcl_readline.d --- o/gcl_readline.d.orig 2013-11-11 23:55:48.000000000 +0900 +++ o/gcl_readline.d 2014-03-19 17:58:06.000000000 +0900 @@ -468,9 +468,11 @@ static int n; char *pn="GCL",*cp=getenv("TERM"); rl_readline_name=pn; +/* #ifdef RL_COMPLETION rl_attempted_completion_function = (CPPFunction *)rl_completion; #endif +*/ if (isatty(0) && (!cp || strcmp(cp,"dumb"))) readline_on=1; if (!n) { Patch attached with submission follows: How-To-Repeat: Simply try compiling it cd /usr/ports/lang/gcl make (No option is changed)
I found a PR, ports/187174, which described a problem caused by newer readline library in lang/python* ports. That seemed relevant to our issue, and I made a new patch. The attached patch works for me anyway, and seems preferable than previous one. Cheers -- Mamoru IWAKI --- o/gcl_readline.d.orig 2013-11-11 23:55:48.000000000 +0900 +++ o/gcl_readline.d 2014-03-19 17:58:06.000000000 +0900 @@ -468,9 +468,9 @@ static int n; char *pn="GCL",*cp=getenv("TERM"); rl_readline_name=pn; #ifdef RL_COMPLETION - rl_attempted_completion_function = (CPPFunction *)rl_completion; + rl_attempted_completion_function = rl_completion; #endif if (isatty(0) && (!cp || strcmp(cp,"dumb"))) readline_on=1; if (!n) {
This is another patch which is better than the previous one, I think. -- ----- Mamoru Iwaki Japan
Sorry for the noise. CR+LF is not suitable for patch file. Here is a corrected one. -- ----- Mamoru Iwaki Japan
The same issue was solved with similar way in upstream. Please check it out. http://git.savannah.gnu.org/cgit/gcl.git/commit/?id=fe57756a5565ca1de89b976a8f2abd6315b1eb65 -- ----- Mamoru Iwaki Japan
Responsible Changed From-To: freebsd-ports-bugs->tijl Take.
Author: tijl Date: Tue Mar 25 18:26:09 2014 New Revision: 349167 URL: http://svnweb.freebsd.org/changeset/ports/349167 QAT: https://qat.redports.org/buildarchive/r349167/ Log: Import upstream git commit fe57756a5565ca1de89b976a8f2abd6315b1eb65 to fix compilation with devel/readline 6.3. PR: ports/187730 Submitted by: Mamoru Iwaki <1wkmmr@gmail.com> Added: head/lang/gcl/files/patch-o-gcl_readline.d (contents, props changed) Modified: head/lang/gcl/Makefile Modified: head/lang/gcl/Makefile ============================================================================== --- head/lang/gcl/Makefile Tue Mar 25 18:19:44 2014 (r349166) +++ head/lang/gcl/Makefile Tue Mar 25 18:26:09 2014 (r349167) @@ -3,7 +3,7 @@ PORTNAME= gcl PORTVERSION= 2.6.10 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= lang tcl tk MASTER_SITES= GNU Added: head/lang/gcl/files/patch-o-gcl_readline.d ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/gcl/files/patch-o-gcl_readline.d Tue Mar 25 18:26:09 2014 (r349167) @@ -0,0 +1,20 @@ +--- o/gcl_readline.d.orig ++++ o/gcl_readline.d +@@ -221,7 +221,7 @@ + in case we want to do some simple parsing. Return the array of matches, + or NULL if there aren't any. */ + /* extern char **rl_completion_matches(char *,char *(*)(char *,int)); */ +-static char **rl_completion(char *text, int start, int end) { ++static char **rl_completion(const char *text, int start, int end) { + return rl_completion_matches(text, (rl_compentry_func_t *)rl_completion_words_new); + } + #endif +@@ -469,7 +469,7 @@ + char *pn="GCL",*cp=getenv("TERM"); + rl_readline_name=pn; + #ifdef RL_COMPLETION +- rl_attempted_completion_function = (CPPFunction *)rl_completion; ++ rl_attempted_completion_function = rl_completion; + #endif + if (isatty(0) && (!cp || strcmp(cp,"dumb"))) + readline_on=1; _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Committed in r349167.