[Net-z3950] Error compiling SimpleServer 1.07
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.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
More information about the Net-z3950