[redland-dev] Windows/Cygwin build problems

Lauri Aalto laalto at gmail.com
Sun Jul 6 09:59:37 BST 2008


Hi,

building Redland on Cygwin works for me.

> 1. testing variables
> if variable
> ---
> endif
> Cygwin complains about something near "if".
>
> Changing "if" to "ifdef" removes complaint.
>
> 2. setting variables
> @variable = ...
> Cygwin complains about something near "@"
>
> Changing "@" to "#", or deleting "@", removes complaint.

These look like end-of-line encoding issues. Some Windows tool of
yours probably converted them to CRLFs while the Cygwin tools still
expect them to be LFs only and complain about the extra CR.

> 3. C compilation errors in flex/bison source, for example
> raptor_mkr_writer.c: At top level:
> raptor_mkr_writer.c:802: error: parse error before '*' token
> raptor_mkr_writer.c: In function `raptor_mkr_writer_get_feature':
> raptor_mkr_writer.c:807: error: `feature' undeclared (first use in this
> function)
> raptor_mkr_writer.c:809: error: `mkr_writer' undeclared (first use in this
> function)
>
> I don't yet have a fix for problem 3.  Problem seems to be associated with
> procedure calls where bison has matched a pattern.  It makes me wonder if
> gcc
> is complaining about procedure argument "declarations" embedded in procedure
> call.

Hard to say about this without the source. The error message looks
like you have a "foo *bar" declaration but have not included the
typedef for foo yet.

Generally, flex and bison generated source builds fine on cygwin.
fix-flex and fix-bison scripts are hacks. They work with the specific
flex/bison versions and input files (raptor/rasqal lexers and parsers)
but do not necessarily work with other flex/bison versions or other
input files.

Lauri


More information about the redland-dev mailing list