Zebra Configuration FAQ

Is it possible to return only the record ID when presenting results after a search?

Yes. you can always display only the internal record number by using the special elementset 'zebra::mets::sysno' using SUTRS or XML record format. See


What do the error codes mean?

The error codes that Zebra uses are based on bib1 diagnostics, you can find a list of error codes at the following URL:


zebraidx(5810) [warn] No such record type: grs.marcxml.record

1. Zebra not properly compiled (see extended explanation below)

2. Module path incorrect in zebra-biblios.cfg (applies to Fedora/Red Hat/possibly others) (see extended explanation below)

1. this error means your zebra is not properly compiled. In order to be able to modify zebra data, one must have access to grs.xml definition.

This is provided by expat Library. (May come along with libxml2-devel) on Mandriva :

    $ urpmi expat
    $ urpmi libexpat0-devel
    $ ./configure --enable-mod-grs-xml

on Debian :

    $ apt-get install libexpat1-dev

You can recompile zebra. While running ./configure, one should read :

       checking for XML_ParserCreate in -lexpat... yes
       checking expat.h usability... yes
       checking expat.h presence... yes
       checking for expat.h... yes
       checking for module grs-xml... shared
    $ make
    $ make install
  • This should be OK for zebra.

Then you'll have to recompile ZOOM :

    perl -MCPAN -e 'install ZOOM'

will tell you that ZOOM is already installed. No problem :

    cd /root/.cpan/build/ZOOM-your-version
    perl Makefile.PL
    make install

will recompile ZOOM.


Symptoms include: ERR109 when Zebrsrv receives request/NO filter modules loaded by rebuild_zebra.pl, no such record type: grs.marcxml.record in rebuild_zebra.pl


edit zebra-biblios.cfg find: modulePath: /usr/lib/idzebra-2.0/modules REPLACE with: modulePath: /usr/local/lib/idzebra-2.0/modules (…or whatever the correct path to …/idzebra-2.0/modules is)

Save .cfg file, run rebuild_zebra.pl and restart zebrasrv

OPAC and searches will now work as filter modules load and indexes are created.

Zebra 2.0 Expat

If you get a grs-xml error while you're sure you had expat & compiled zebra properly, note that grs-xml is a module loaded by zebra (it's not statically compiled unless you specify it), so, you have to add the followind line to your zebra-biblios.cfg file :


(check for you path, it depends on your distro)

error while loading shared libraries: libyaz.so.2

when you try to index your database, if you get : <quote> zebraidx: error while loading shared libraries: libyaz.so.2: cannot open shared object file: No such file or directory </quote> There are 2 possibilities :

  • YAZ not properly installed. try yaz-client
  • Or you simply did not run ldconfig. Or yaz is installed in /usr/local/lib and that directory is not listed in /etc/ld.so.conf.

In this case :

  • search where yaz in installed (which yaz). If you get, for example /usr/local/bin/yaz-client, then you'll have to add /usr/local/lib to ld.so.conf
  • su
  • vi /etc/ld.so.conf, add the previous directory
  • ldconfig

That should be enough

MacOS X : Unable to call script: yaz-config

I'm using a PowerMac G4 running OS 10.4.8, as my prototype box Its telling me I need to install the ZOOM perl mod, to install the system. However, CPAN will not install this module on my Mac! I am getting an error that reads:

Unable to call script: yaz-config

I know that the Z3950 module doesn't work on OS X, and it looks like this is dependent on that module, but I was under the understanding that I could choose not to use this module, if I so pleased. Any thoughts? Thanks all!

Solution: be aware that Mac users do not have /usr/local/bin in path. You should then add it to your path.

faqzebra.txt · Last modified: 2009/04/21 07:22 by gmcharlt2
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki