[Net-z3950] Error compiling SimpleServer 1.07

Adam Dickmeiss 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.

/ Adam

> some screwy way on Solaris.  I know it's a long-shot but it's all I've
> got.
> 
> 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
> http://lists.indexdata.dk/cgi-bin/mailman/listinfo/net-z3950
> 
> 




More information about the Net-z3950 mailing list