Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zebra unable to find shared libraries after "make install" when compiled on Ubuntu 18.04 #36

Closed
minusdavid opened this issue May 24, 2022 · 4 comments

Comments

@minusdavid
Copy link

I took these steps:

  1. apt-get install build-essential
  2. apt-get install autoconf automake
  3. apt-get install libyaz5-dev
  4. apt-get install libexpat1-dev tcl-dev libbz2-dev
  5. apt-get install libtool
  6. apt-get install vim
  7. vi /etc/apt/sources.list.d/indexdata.list
    a. deb https://ftp.indexdata.com/ubuntu bionic main
    b. deb-src https://ftp.indexdata.com/ubuntu bionic main
  8. apt-get install wget
  9. wget -q -O- https://ftp.indexdata.com/debian/indexdata.asc | apt-key add -
  10. sh buildconf.sh
  11. ./configure
  12. make
  13. apt-get install xsltproc
  14. make clean
  15. make
  16. apt-get install inkscape
  17. make
  18. make install

The build and install seem to succeed but when I try to use /usr/local/bin/zebrasrv or /usr/local/bin/zebraidx, I get the following errors:

zebrasrv: error while loading shared libraries: libidzebra-2.0.so.0: cannot open shared object file: No such file or directory
zebraidx: error while loading shared libraries: libidzebra-2.0.so.0: cannot open shared object file: No such file or directory

Yet I see that /usr/local/lib/libidzebra-2.0.so.0 is a symlink to /usr/local/lib/libidzebra-2.0.so.0.0.2.

It looks like the binaries that come out of "make" are also linked to something functional:

./index/zebrasrv -V
YAZ version: 5.31.1 c3cea881e3e7e80b069ddd1429994e58841acb14

./index/zebraidx -V
Zebra 2.2.3
(C) 1994-2020, Index Data
Zebra is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
SHA1 ID: 586ed6a
Using ICU

@minusdavid
Copy link
Author

As expected, a static build of Zebra created using "./configure --disable-shared" can be installed using "make install" without a problem.

It looks like it's still loading the filter modules like mod-dom.so dynamically.

@adamdickmeiss
Copy link
Contributor

Use

sudo /sbin/ldconfig

after make install. If that doesn't work, ensure /usr/local/lib is part of the linker library path. Usually /etc/ld.so.conf.d/libc.conf.

@minusdavid
Copy link
Author

I'll give that a try. I did take a little peek at the time and it looked like /usr/local/lib was in the linker library path which was why I was confused. But I'll take another look when I have some time.

@adamdickmeiss have you had a chance to look at #35?

Happy to have a synchronous chat sometime if that's helpful for you.

@dltj
Copy link

dltj commented May 31, 2022

Resolved with #36 (comment)

@dltj dltj closed this as completed May 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants