source: main/trunk/greenstone2/runtime-src/packages/yaz/README.gsdl@ 30961

Last change on this file since 30961 was 30961, checked in by ak19, 7 years ago

Dr Bainbridge got the new yaz to compile on the Mac Mountain Lion again.

  • Property svn:keywords set to Author Date Id Revision
File size: 3.5 KB
Line 
1The YAZ toolkit is used by the GSDL receptionist
2when acting as a z39.50 client.
3
45. #ifdef RL_MAJOR_VERSION test added
527 Oct 2016
6
7The above tweak is needed because the yaz-client code is written
8assuming you are linking against a fairly recent GNU readline (version 6
9is what we found on Ubuntu). When compiling on MacOS, we found
10readline was not only the NetBSD version, but it was back at version 4.
11Inspection of the readline/readline.h file showed that the
12NetBSD version does not even define RL_MAJOR_VERSION, let alone
13set it to the value '4'. This led us to conclude the above
14addition of the #ifdef check was sufficient to make it do
15the right thing, when compiling, on the various operating systems.
16
17OLD version of yaz-2.1.56/client/client.c:
18#if HAVE_READLINE_READLINE_H
19 rl_attempted_completion_function = (rl_completion_func_t*)readline_complete\
20r;
21 //rl_attempted_completion_function = (CPPFunction*)readline_completer;
22#endif
23
24
25MODIFIED version of yaz-2.1.56/client/client.c:
26
27#if HAVE_READLINE_READLINE_H
28#ifdef RL_VERSION_MAJOR
29 rl_attempted_completion_function = (rl_completion_func_t*)readline_complete\
30r;
31#else
32 rl_attempted_completion_function = (CPPFunction*)readline_completer;
33#endif
34#endif
35
36
374. We've moved to yaz-2.1.56, ak19
3826 Oct 2016
39
40EXPLANATION: 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.
41
42MODIFIED FILE: yaz-2.1.56/client/client.c
43Still require the same change as in number 3 below.
44
45Ahead 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.
46
47TESTED: 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.
48
493. CHANGES TO YAZ-2.1.4 TO CREATE THE GREENSTONE VERSION OF IT, ak19
5020 Oct 2016
51
52MODIFIED FILE: yaz-2.1.4/client/client.c
53
54EXPLANATION: 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
55
56
57CHANGE:
583501c3501,3503
59< rl_attempted_completion_function = (CPPFunction*)readline_completer;
60---
61> //rl_attempted_completion_function = (CPPFunction*)readline_completer;
62> rl_attempted_completion_function = (rl_completion_func_t*)readline_completer;
63>
64
65
662. June 2005, kjdon:
67Changed to use yaz version 2.1.4. This is also used by the new z3950server.
68The 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.
69Greenstone uses the libyaz.a library. yaz_zclient.o is modified from the sample client.o, and now lives in the colservr directory.
70
71Two files are linked against:
72 client/yaz_client.o, which was modified from Index Data's sample
73 client code, and
74
75 lib/libyaz.a, which contains all the z39.50 and MARC formatting code.
76 There is probably a lot of stuff in this library that does
77 not need to be there for our purposes, but for now it is,
78 merely wasting some disk space and some compile-time CPU.
79
801. John McPherson
813 August 2000
82
83yaz version 1.6
84
85September 2000:
86removed "ill" "server" "ztest" and "retrieval" subdirs.
87
Note: See TracBrowser for help on using the repository browser.