[Net-z3950] Error compiling SimpleServer 1.07

Mike Taylor mike at indexdata.com
Fri Sep 7 18:27:17 CEST 2007

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
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

More information about the Net-z3950 mailing list