Quagga 0.97.2 builds two shared libraries, libzebra.0.0.0 and libospf.0.0.0. These libraries are placed in /usr/lib/quagga. The first problem is that this is not a normal, trusted library path like /lib or /usr/lib, so it must be added to /etc/ld.so.conf before the directory will even be scanned. The second problem my be specific to my system, but I'm not positive. Even after I added /usr/lib/quagga to /etc/ld.so.conf, ldconfig would not add libzebra.0 and libospf.0 to the library list. I had to rename libzebra.0.0.0 to libzebra.so.0.0.0 and libospf.0.0.0 to libospf.so.0.0.0, fix the symlinks, and rerun ldconfig before libzebra.0 and libospf.0 were added to the library list. Reproducible: Always Steps to Reproduce: 1.emerge quagga 2./etc/init.d/zebra start 3. Actual Results: /etc/init.d/zebra start Starting zebra... /usr/sbin/zebra: error while loading shared libraries: libzebra.0: cannot open shared object file: no such file or directory Expected Results: started zebra First, I renamed /usr/lib/quagga/libzebra.0.0.0 to /usr/lib/quagga/libzebra.so.0.0.0 and regenerated the symlinks in /usr/lib/quagga libzebra and libzebra.0 to point to the renamed file. I did the same thing for libospf.0.0.0. To fix the problems of /usr/lib/quagga not being added to the library list, I created the file: /etc/env.d/81quagga with the following contents: LDPATH="/usr/lib/quagga" and reran env-update. Emerge info: Portage 2.0.51-r2 (default-linux/x86/2004.3, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.4.26 i686) ================================================================= System uname: 2.4.26 i686 Pentium III (Coppermine) Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.14.90.0.8-r1 Headers: sys-kernel/linux-headers-2.4.19-r1,sys-kernel/linux-headers-2.4.21-r1 Libtools: sys-devel/libtool-1.5.2-r5 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -mcpu=pentium3 -funroll-loops -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -mcpu=pentium3 -funroll-loops -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://gentoo.seren.com/gentoo http://gentoo.mirrors.pair.com/ http://gentoo.ccccom.com http://gentoo.netnitco.net" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acpi apache2 berkdb bitmap-fonts crypt curl f77 gdbm java junit kerberos ldap libg++ libwww memlimit mmx ncurses nls odbc pam pdflib perl png postgres python readline sasl slang snmp spell sse ssl tcpd tiff truetype x86 xml2 zlib"
In addition: - RDEPEND is outdated - --disable-dinamic or --disable-static should be added to configure options. If you choose second variant, you should also add a file in /etc/env.d in which you set LDPATH to /usr/lib/quagga and call env-update in pkg_postinstall - we should not add binary files (bz2) in portage tree. - new version was released (0.97.3)
This is still an issue. I ended up just adding an exported LD_LIBRARY_PATH setting to conf.d/ospfd and conf.d/zebra... but it should be fixed. Also, we're now at version 0.98.2. Need a major bump here.
The ebuild quagga-0.98.2 should fix this problem.