Date: Thu, 23 Jun 2011 19:39:22 +0200 From: Rainer Hurling <rhurlin@gwdg.de> To: Koop Mast <kwm@rainbow-runner.nl> Cc: ports@freebsd.org Subject: Re: math/ggobi: compile error with clang Message-ID: <4E037A4A.4000904@gwdg.de> In-Reply-To: <4E03725E.7070802@rainbow-runner.nl> References: <4E036F01.2020708@gwdg.de> <4E03725E.7070802@rainbow-runner.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------050805000906090706000309 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit 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 --------------050805000906090706000309 Content-Type: text/plain; name="patch_ggobi_clang.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="patch_ggobi_clang.diff" 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 --------------050805000906090706000309--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E037A4A.4000904>