[Net-z3950] Error compiling SimpleServer 1.07
adam at indexdata.dk
Fri Sep 7 23:55:08 CEST 2007
Mike Taylor wrote:
> Phil Cross writes:
> > I'm trying to compile SimpleServer 1.07 against yaz version 3.0.10 on a
> > solaris 2.9 system. Both the yaz and perl installations are in
> > non-standard places, but I edited the $yazconf value in Makefile.PL to
> > reflect this.
> > I had managed to install SimpleServer 1.05 ok against yaz version 2.1.48
> > on the same machine.
> > I get the following error when running 'make':
> > gcc -c -I/home/project/yaz-3.0.10/local/include -DYAZ_HAVE_XML2=1
> > -DYAZ_HAVE_XSLT=1 -I/usr/include/libxml2 -fno-strict-aliasing -pipe
> > -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O
> > -DVERSION=\"1.07\" -DXS_VERSION=\"1.07\" -fPIC
> > "-I/home/project/perl5.8.8/lib/5.8.8/sun4-solaris/CORE" SimpleServer.c
> > SimpleServer.xs: In function `apt2perl':
> > SimpleServer.xs:428: parse error before `*'
> > SimpleServer.xs:431: `c' undeclared (first use in this function)
> > SimpleServer.xs:431: (Each undeclared identifier is reported only once
> > SimpleServer.xs:431: for each function it appears in.)
> > SimpleServer.xs:432: `son' undeclared (first use in this function)
> > *** Error code 1
> > make: Fatal error: Command failed for target `SimpleServer.o'
> Yeesh! The line in question is a simple declaration:
> Z_ComplexAttribute *c = elem->value.complex;
> This in a function that's already been happily slinging around other
> YAZ types such as Z_AttributesPlusTerm and Z_AttributeElement. That
> should be working just fine.
> All I can think of is that the assert() on the previous line -- which
> I think is new in SimpleServer 10.7 -- might be getting expanded in
A statement before a declaration is a no-go on older compilers. I can't
see whether this was introduced in 1.0.6 or 1.0.7 because there is no
CVS tag for either version.
> some screwy way on Solaris. I know it's a long-shot but it's all I've
> If you take a look at the output of
> gcc -E -I/home/project/yaz-3.0.10/local/include -DYAZ_HAVE_XML2=1
> -DYAZ_HAVE_XSLT=1 -I/usr/include/libxml2 -fno-strict-aliasing -pipe
> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O
> -DVERSION=\"1.07\" -DXS_VERSION=\"1.07\" -fPIC
> "-I/home/project/perl5.8.8/lib/5.8.8/sun4-solaris/CORE" SimpleServer.c
> (i.e. the same command-line that was run to compile, but using -E
> instead of -c) then that might give you a clue. If not, email it to
> me and I'll take a look.
> _/|_ ___________________________________________________________________
> /o ) \/ Mike Taylor <mike at indexdata.com> http://www.miketaylor.org.uk
> )_v__/\ "I have challenged the entire quality assurance team to a
> Bat-Leth contest. They will not concern us again." -- Klingon
> Programming Mantra
> Net-z3950 mailing list
> Net-z3950 at lists.indexdata.dk
More information about the Net-z3950