opdenkamp/xbmc — Issue #387: xbmc-head exec fails with "libmicrohttpd.so.10 => not found"
Author: brd6968
Created: 2011-12-31 06:00:54+00:00
State: open

i'm building eden-pvr head from source,

cd /usr/local/src/xbmc
git log | head -n 10
commit 5559867e1a3edd1aad55bb9b89c427ce2b0d5775
Author: Lars Op den Kamp
Date: Sat Dec 31 03:19:12 2011 +0100

pvr: added a demo PVR add-on, that can e.g. be used by skinners to work on the PVR parts of their skin without access to a tuner

commit 9981f09462aa52c261b4de520e561bbaec917a20
Author: Lars Op den Kamp
Date: Tue Dec 27 23:33:59 2011 +0100

i've built the libmicrohttpd prereq,

ls -al /usr/local/lib64/libmicrohttpd*
-rw-r--r-- 1 root root 131K Dec 30 21:22 /usr/local/lib64/libmicrohttpd.a
-rwxr-xr-x 1 root root 1.1K Dec 30 21:22 /usr/local/lib64/libmicrohttpd.la*
lrwxrwxrwx 1 root root 24 Dec 30 21:22 /usr/local/lib64/libmicrohttpd.so -> libmicrohttpd.so.10.14.0*
lrwxrwxrwx 1 root root 24 Dec 30 21:22 /usr/local/lib64/libmicrohttpd.so.10 -> libmicrohttpd.so.10.14.0*
-rwxr-xr-x 1 root root 105K Dec 30 21:22 /usr/local/lib64/libmicrohttpd.so.10.14.0*

ldd /usr/local/lib64/libmicrohttpd.so.10.14.0
linux-vdso.so.1 => (0x00007fffa7bff000)
libgnutls.so.28 => /usr/lib64/libgnutls.so.28 (0x00007fb56e630000)
libgcrypt.so.11 => /lib64/libgcrypt.so.11 (0x00007fb56e3b1000)
libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007fb56e1ac000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb56df8f000)
libc.so.6 => /lib64/libc.so.6 (0x00007fb56dc00000)
libtasn1.so.3 => /usr/lib64/libtasn1.so.3 (0x00007fb56d9ee000)
libnettle.so.4 => /usr/lib64/libnettle.so.4 (0x00007fb56d7c7000)
libhogweed.so.2 => /usr/lib64/libhogweed.so.2 (0x00007fb56d5b4000)
libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007fb56d336000)
librt.so.1 => /lib64/librt.so.1 (0x00007fb56d12e000)
libz.so.1 => /lib64/libz.so.1 (0x00007fb56cf16000)
libp11-kit.so.0 => /usr/lib64/libp11-kit.so.0 (0x00007fb56cd03000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb56eb68000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fb56caff000)

build of xbmc,

export LDFLAGS="-L/usr/local/lib64"
export CFLAGS="-I/usr/lib64/dbus-1.0/include -I/usr/lib64/glib-2.0/include"

./bootstrap
./configure --prefix=/usr/local/xbmc \
--disable-debug \
--enable-libbluray \
--enable-mid \
--enable-pulse \
--enable-ffmpeg-libvorbis \
--enable-webserver \
--with-lirc-device=/dev/lirc0 \
--disable-external-ffmpeg \
--disable-hal \
--disable-avahi \
--disable-samba

make -j5
make install

results in an exec that fails for a !found libmicrohttpd,

/usr/local/xbmc/bin/xbmc
/usr/local/xbmc/lib64/xbmc/xbmc.bin: error while loading shared libraries: libmicrohttpd.so.10: cannot open shared object file: No such file or directory

ldd /usr/local/xbmc/lib64/xbmc/xbmc.bin | grep microhttpd
libmicrohttpd.so.10 => not found

checking, it should be found,

egrep "LIBS=|LDFLAGS=" /usr/local/src/xmbc/Makefile
LIBS=-lva -lva-glx -lplist -lXrandr -lpulse -lmicrohttpd -lSDL_image -lSDL_mixer -lrt -ljasper -lresolv -ldl -lyajl -lbluetooth -lssh -lmysqlclient -lssl -lcrypto -lz -llzo2 -lpthread -ltiff -ljpeg -lbz2 -lgcrypt -lGLU -lGLEW -lGL -L/usr/lib64 -lmysqlclient -lpthread -lz -lm -lrt -lssl -lcrypto -ldl -lfontconfig -lfribidi -lsqlite3 -lpng14 -lpcre -lpcre -lpcrecpp -lcdio -lm -lsamplerate -lfreetype -lasound -ldbus-1 -lSDL -lpthread -lX11 -lXext -lXt -lX11 -lXmu -lXt -lX11 -ludev -lrt
LDFLAGS=-L/usr/local/lib64