[Yazlist] Problems compiling yaz++ on Solaris 2.8

Marc Cromme marc at indexdata.dk
Thu Nov 25 15:25:11 CET 2004


Ben Soares wrote:

>Hi all,
>
>I'm having problems getting yaz++ to compile on Solaris 2.8.
>I've made sure that I have libxml2 (2.6.16) compiled and recognised by yaz 
>(2.0.28) so SRW support is enabled in yaz, and I also needed to download 
>and compile/locally install a newer version of gcc (2.95.3) to get round 
>some problem with bastring.h.  However, I now keep getting the below error 
>(no matter how many times I type "make" :).  Is there something wrong with 
>gcc-2.95.3?  I can't use gcc-3 because of the binary backward 
>incompatibility problem.
>
>My end objective is to use yaz-proxy to put an SRW server on top of an 
>existing Z target.
>
>Any help or thoughts gratefully received!
>
>Ben
>
>  
>
Hi Ben

This looks like that your installation of g++ is faulty. Version 2.95.x 
is known to be sloppy in the  STL files, and much has improved since then.

In my humble opinion it is not worth bothering to try to compile STL C++ 
code with g++ less than version 3.2 (and even 3.3/3.4 is better than 3.2)

Since YazProxy and Yaz++ link only to each other in C++ code, and to C 
libs else, it should not be hard to make a compile with a recent G++ 
version on your box (there is no incompability issue with C code among 
GCC versions, only C++ code is affected)

I suggest you give it a whirl with G++ 3.3 or 3.4.

Marc Cromme, Index Data

>
>[/home/me/local/src/yaz++-0.8]: make
>Making all in src
>...
>Making all in zoom
>make[1]: Entering directory `/disk/mirror-2/me/local/src/yaz++-0.8/zoom'
>/bin/bash ../libtool --mode=compile g++ -DPACKAGE_NAME=\"\" 
>-DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" 
>-DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"yaz++\" -DVERSION=\"0.8\" 
>-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 
>-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 
>-DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1  -I. -I.    
>-I/home/me/local/gcc-2.95.3/include/g++-3 -I/home/me/local/include 
>-DYAZ_POSIX_THREADS=1 -D_REENTRANT  -g -O2 -c zexcept.cpp
> g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" 
>-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"yaz++\" 
>-DVERSION=\"0.8\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 
>-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 
>-DHAVE_INTTYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -I. -I. 
>-I/home/me/local/gcc-2.95.3/include/g++-3 -I/home/me/local/include 
>-DYAZ_POSIX_THREADS=1 -D_REENTRANT -g -O2 -c zexcept.cpp -o zexcept.o
>/home/me/local/gcc-2.95.3/include/g++-3/std/straits.h: In function `static 
>char * string_char_traits<char>::move(char *, const char *, unsigned int)':
>In file included 
>from /home/me/local/gcc-2.95.3/include/g++-3/std/bastring.h:36,
>                 from /home/me/local/gcc-2.95.3/include/g++-3/string:6,
>                 from zoom.h:10,
>                 from zexcept.cpp:9:
>/home/me/local/gcc-2.95.3/include/g++-3/std/straits.h:129: warning: implicit 
>declaration of function `int memmove(...)'
>/home/me/local/gcc-2.95.3/include/g++-3/std/straits.h: In function `static 
>char * string_char_traits<char>::set(char *, const char &, unsigned int)':
>/home/me/local/gcc-2.95.3/include/g++-3/std/straits.h:131: warning: implicit 
>declaration of function `int memset(...)'
>/home/me/local/gcc-2.95.3/include/g++-3/stl_alloc.h: At top level:
>In file included from /home/me/local/gcc-2.95.3/include/g++-3/alloc.h:21,
>                 from /home/me/local/gcc-2.95.3/include/g++-3/std/bastring.h:39,
>                 from /home/me/local/gcc-2.95.3/include/g++-3/string:6,
>                 from zoom.h:10,
>                 from zexcept.cpp:9:
>/home/me/local/gcc-2.95.3/include/g++-3/stl_alloc.h:742: invalid member 
>template declaration
>/home/me/local/gcc-2.95.3/include/g++-3/stl_alloc.h:780: invalid member 
>template declaration
>/home/me/local/gcc-2.95.3/include/g++-3/stl_alloc.h:817: invalid member 
>template declaration
>/home/me/local/gcc-2.95.3/include/g++-3/stl_alloc.h:858: invalid member 
>template declaration
>/home/me/local/gcc-2.95.3/include/g++-3/stl_alloc.h:961: empty component 
>declaration
>/home/me/local/gcc-2.95.3/include/g++-3/stl_alloc.h:961: parse error before 
>`<'
>zoom.h:23: sorry, not implemented: namespace
>zexcept.cpp: In method `class 
>basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> 
>  
>
>>systemException::errmsg() const':
>>    
>>
>zexcept.cpp:54: warning: implicit declaration of function `int 
>strerror(...)'
>zexcept.cpp:54: conversion from `int' to non-scalar type 
>`basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> 
>  
>
>>' requested
>>    
>>
>make[1]: *** [zexcept.lo] Error 1
>make[1]: Leaving directory `/disk/mirror-2/me/local/src/yaz++-0.8/zoom'
>make: *** [all-recursive] Error 1
>
>  
>






More information about the Yazlist mailing list