Bug 187730 - lang/gcl compilation fails ()
Summary: lang/gcl compilation fails ()
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Tijl Coosemans
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-19 09:50 UTC by Mamoru IWAKI
Modified: 2014-03-25 18:30 UTC (History)
0 users

See Also:


Attachments
file.diff (407 bytes, patch)
2014-03-19 09:50 UTC, Mamoru IWAKI
no flags Details | Diff
patch-o_gcl_readline.d (452 bytes, text/plain; charset=Shift_JIS)
2014-03-22 17:36 UTC, iwaki
no flags Details
patch-o_gcl_readline.d (537 bytes, text/plain; charset=Shift_JIS)
2014-03-22 18:07 UTC, Mamoru IWAKI
no flags Details
patch-o_gcl_readline.d (521 bytes, text/plain; charset=Shift_JIS)
2014-03-22 18:47 UTC, Mamoru IWAKI
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mamoru IWAKI 2014-03-19 09:50:01 UTC
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)
Comment 1 iwaki 2014-03-22 17:36:49 UTC
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) {
Comment 2 Mamoru IWAKI 2014-03-22 18:07:28 UTC
This is another patch which is better than the previous one, I think.
--
-----
Mamoru Iwaki
Japan
Comment 3 Mamoru IWAKI 2014-03-22 18:47:00 UTC
Sorry for the noise.
CR+LF is not suitable for patch file.
Here is a corrected one.
-- 
-----
Mamoru Iwaki
Japan
Comment 4 Mamoru IWAKI 2014-03-25 07:45:57 UTC
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
Comment 5 Tijl Coosemans freebsd_committer freebsd_triage 2014-03-25 14:42:56 UTC
Responsible Changed
From-To: freebsd-ports-bugs->tijl

Take.
Comment 6 dfilter service freebsd_committer freebsd_triage 2014-03-25 18:26:15 UTC
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"
Comment 7 Tijl Coosemans freebsd_committer freebsd_triage 2014-03-25 18:26:44 UTC
State Changed
From-To: open->closed

Committed in r349167.