[darcs-devel] Curl build issues
Dmitry Kurochkin
dmitry.kurochkin at gmail.com
Wed Apr 16 21:26:48 UTC 2008
On Thu, Apr 17, 2008 at 1:14 AM, Gwern Branwen <gwern0 at gmail.com> wrote:
> On 2008.04.16 11:29:53 +0400, Dmitry Kurochkin <dmitry.kurochkin at gmail.com> scribbled 2.9K characters:
>
> > Hi.
> >
> > On Wed, Apr 16, 2008 at 9:47 AM, Gwern Branwen <gwern0 at gmail.com> wrote:
> > > So, my recent efforts to Cabalize Darcs have been going fairly well. I now have a setup which allows me compile from an sdist tarball through Cabal and not the GNUmakefile. But there are some puzzling problems and changes.
> > >
> > > For example, while I was working on how to smuggle CPP options from the configure script to Cabal and cpp-options:, I ran into an issue with linking in Curl. The .cabal file reads, at the end:
> > >
> > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> > > > c-sources: src/atomic_create.c >
> > > > src/c_compat.c >
> > > > src/fpstring.c >
> > > > src/maybe_relink.c >
> > > > src/umask.c >
> > > > src/Crypt/sha2.c >
> > > > src/hscurl.c >
> > > > include-dirs: src >
> > > > includes: hscurl.h >
> > > > extra-libraries: z, curl >
> > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> > >
> > > Reasonable enough. We need to link them in, after all.
> > >
> > > But curiously enough, this leads to the error:
> > >
> > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> > > > src/hscurl.c:43:0: >
> > > > error: expected ',' or ';' before 'PACKAGE_VERSION' > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> > >
> > > (If one attempts to omit some of the cabal entries, that will just cause link errors at the end.)
> > >
> > > I noticed in hslibwww.c that the analogous line had only one variable in it, so I tried making the following change:
> >
> > And hslibwww.c compiles fine without changes? That is strange because
> > it is used there:
> >
> > static const char darcs_version[] = PACKAGE_VERSION;
> ...
>
> Well, I don't find that odd at all. As far as I can tell, there is something syntactically wrong with the C file, not semantically. If I try to compile it with GCC all by itself, I would expect it to error out on various import and definition problems, as the function and variable names wouldn't *mean* anything without a larger context. But I instead get:
>
> gwern at localhost:1108~/darcs>gcc src/hscurl.c [ 5:09PM]
> src/hscurl.c:43: error: expected ',' or ';' before 'PACKAGE_VERSION'
>
> I mean, it's not even getting through the parsing stage there; how could it be worrying about whether PACKAGE_VERSION means anything? And as you say, it works fine in the other case.
I believe this is expected behaviour. PACKAGE_VERSION is not defined,
so compiler thinks it is a beginning of new statement (or expression
or whatever) and there is ';' missing before it.
Regards,
Dmitry
>
> --
> gwern
> napalm Lander Wackenhutt USCODE ISDS NIOG BUDS Tzvrif 3210 NAVWAN
>
More information about the darcs-devel
mailing list