The YAZ toolkit is used by the GSDL receptionist when acting as a z39.50 client. 5. #ifdef RL_MAJOR_VERSION test added 27 Oct 2016 The above tweak is needed because the yaz-client code is written assuming you are linking against a fairly recent GNU readline (version 6 is what we found on Ubuntu). When compiling on MacOS, we found readline was not only the NetBSD version, but it was back at version 4. Inspection of the readline/readline.h file showed that the NetBSD version does not even define RL_MAJOR_VERSION, let alone set it to the value '4'. This led us to conclude the above addition of the #ifdef check was sufficient to make it do the right thing, when compiling, on the various operating systems. OLD version of yaz-2.1.56/client/client.c: #if HAVE_READLINE_READLINE_H rl_attempted_completion_function = (rl_completion_func_t*)readline_complete\ r; //rl_attempted_completion_function = (CPPFunction*)readline_completer; #endif MODIFIED version of yaz-2.1.56/client/client.c: #if HAVE_READLINE_READLINE_H #ifdef RL_VERSION_MAJOR rl_attempted_completion_function = (rl_completion_func_t*)readline_complete\ r; #else rl_attempted_completion_function = (CPPFunction*)readline_completer; #endif #endif 4. We've moved to yaz-2.1.56, ak19 26 Oct 2016 EXPLANATION: We've moved to this slightly newer version, the newest in 2.1.* but without changing major version numbers, in order to get a version of yaz that compiles on Macs after changes to make (gnome-lib) libraries statically linked rather than dymamically linked libraries needed for El Capitan. MODIFIED FILE: yaz-2.1.56/client/client.c Still require the same change as in number 3 below. Ahead of changing to a newer yaz, we've also made changes to the runtime-src/src's z3950 and recpt Makefile.in files, to grab whatever dependencies yaz's configuration step worked out for its Makefile, and then using the same for linking libyaz in z3950 and recept to. TESTED: bin/linux/z3950server (compile after configuring with --enable-z3950) against yaz-client. Then also tested GLI with Library of Congress's z3950 server at lx2.loc.gov at port 210. 3. CHANGES TO YAZ-2.1.4 TO CREATE THE GREENSTONE VERSION OF IT, ak19 20 Oct 2016 MODIFIED FILE: yaz-2.1.4/client/client.c EXPLANATION: The references to readline's CPPFunction have been deprecated. They needed to be replaced with readline's rl_completion_func_t. Refer to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=741767 CHANGE: 3501c3501,3503 < rl_attempted_completion_function = (CPPFunction*)readline_completer; --- > //rl_attempted_completion_function = (CPPFunction*)readline_completer; > rl_attempted_completion_function = (rl_completion_func_t*)readline_completer; > 2. June 2005, kjdon: Changed to use yaz version 2.1.4. This is also used by the new z3950server. The original yaz download has been added to cvs - this is unzipped and untared by the configure script, then only the src and client directories are compiled. Greenstone uses the libyaz.a library. yaz_zclient.o is modified from the sample client.o, and now lives in the colservr directory. Two files are linked against: client/yaz_client.o, which was modified from Index Data's sample client code, and lib/libyaz.a, which contains all the z39.50 and MARC formatting code. There is probably a lot of stuff in this library that does not need to be there for our purposes, but for now it is, merely wasting some disk space and some compile-time CPU. 1. John McPherson 3 August 2000 yaz version 1.6 September 2000: removed "ill" "server" "ztest" and "retrieval" subdirs.