math/ggobi: compile error with clang

Rainer Hurling rhurlin at gwdg.de
Thu Jun 23 17:39:26 UTC 2011


On 23.06.2011 19:05 (UTC+1), Koop Mast wrote:
> On 6/23/2011 18:51 , Rainer Hurling wrote:
>> I just discovered, that math/ggobi does not compile with clang, see:
>>
>> http://pointyhat.freebsd.org/errorlogs/amd64-errorlogs/e.9-exp.20110616185105/ggobi-2.1.9.log
>>
>>
>> It seems, the main error is in 'line control' statement of
>> src/ggobi-data.c, l.45
>>
>> #line 0 "data.gob"
>> static void ggobi_data_class_init (GGobiDataClass * c) G_GNUC_UNUSED;
>>
>> The official cpp online docs on
>> http://gcc.gnu.org/onlinedocs/cpp/Line-Control.html defines
>>
>> #line linenum
>> linenum is a non-negative decimal integer constant. It specifies the
>> line number which should be reported for the following line of input.
>> Subsequent lines are counted from linenum.
>>
>> It seems gcc accepts the 0 (zero) as valid, whilst clang produces an
>> error '#line directive requires a positive integer argument'.
>>
>> What is the meaning of line 0 in this context? At line 1 (the first
>> line in src/data.gob) there is the initiation '%h{' for the whole file
>> contents. Does 0 mean, take the whole file?
>>
>> Would it be correct to change value 0 into 1 (#line 1)? At least, gcc
>> is able to build that and it seems to work fine.
>>
>> My system is compiled with gcc, so it would be nice, if someone would
>> give it a try with clang.
>>
>> Many thanks in advance,
>> Rainer Hurling
>
> I had the same problem with devel/gob2 ages ago. This following is the
> solution I settled on. I don't know if this is correct or not but it
> seems to work fine.
> http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/ports/devel/gob2/files/patch-src_out.c?rev=1.1;content-type=text%2Fplain

Koop, many thanks for the fast reaction. This is exactly what I did 
(=changing 0 in 1), gcc accepted that and until now it seems to work.

Does anybody knows if changing 0 into 1 is ok in this context?

I am not able to test, if this works with clang. If someone is willing 
to try, there is a diff attached.

Rainer

> -Koop
-------------- next part --------------
diff -Naur ggobi.origin/Makefile ggobi/Makefile
--- ggobi.origin/Makefile	2011-05-25 16:54:44.000000000 +0200
+++ ggobi/Makefile	2011-06-23 19:15:49.000000000 +0200
@@ -2,11 +2,12 @@
 # Date created:        31 January 2010
 # Whom:                rhurlin
 #
-# $FreeBSD: ports/math/ggobi/Makefile,v 1.4 2011/05/25 13:18:55 pav Exp $
+# $FreeBSD$
 #
 
 PORTNAME=	ggobi
 PORTVERSION=	2.1.9
+PORTREVISION=	1
 CATEGORIES=	math graphics
 MASTER_SITES=	http://www.ggobi.org/downloads/
 
@@ -26,6 +27,11 @@
 post-patch:
 	@${REINPLACE_CMD} -e 's|ND_coord_i|ND_coord|' \
 		${WRKSRC}/plugins/GraphLayout/graphviz.c
+	@${REINPLACE_CMD} -e 's|#line 0|#line 1|' \
+		${WRKSRC}/src/ggobi-data.c \
+		${WRKSRC}/src/ggobi-renderer.c \
+		${WRKSRC}/src/ggobi-renderer-cairo.c \
+		${WRKSRC}/src/ggobi-renderer-factory.c \
 
 post-install:
 	${MKDIR} ${PREFIX}/etc/xdg/ggobi


More information about the freebsd-ports mailing list