symbol lookup error: /usr/lib/kodi/kodi-rbpi: undefined symbol: MurmurHash2 -RESOLVED
#1
Exclamation 
I build the latest version of Kodi (Leia Alpha3 and Beta 1) for the RPi (ver 2 armhf Neon v7) through crosscompiling on ubuntu 18.02
I have no problem compiling but when I run the binary on my raspberry, I have an error symbol lookup error: /usr/lib/kodi/kodi-rbpi: undefined symbol: MurmurHash2
When I build Kodi 17.6 , no trouble.
I'm looking for three weeks, I even on a distribution under Raspbian Buster (testing), I have the same problem
I feel that this has happened since the addition to the dependencies udev and libinput.

I can not find the missing library.

Raspbian Stretch
Linux rbp2 4.14.58-v7+ #1130 SMP Thu Jul 26 14:30:50 BST 2018 armv7l GNU/Linux

ldd -r /usr/lib/kodi/kodi-rbpi
https://paste.ubuntu.com/p/VmHnkTc6Sb/
Reply
#2
I build Leia Alpha 1 and execute , no problem.
the problem appeared after this version
Reply
#3
MurmurHash2 should be in libsystemd-shared-$SYSTEMDVERSION.so

It is not possible to provide any further help without knowing how exactly you are crosscompiling.
Reply
#4
I mount a chroot on an Stretch version with debootstrap
debootstrap --arch amd64 stretch "home/me/stretch-64bits" https://deb.debian.org/debian/

I install this packages in chroot
automake autopoint autoconf build-essential cmake curl git git-core gperf icedtea-8-plugin make nasm openjdk-8-jre openjdk-8-jdk openjdk-8-source openjdk-8-demo openjdk-8-doc openjdk-8-jre-headless p7zip-full pulseaudio subversion unzip zip
libxext-dev libgl1-mesa-dev libglu1-mesa-dev libgles2-mesa-dev libpthread-stubs0-dev libc6-dev libvdpau-dev libxrandr-dev libbluray-dev libbluetooth-dev libpulse-dev libcurl4-openssl-dev liblirc-dev chrpath bison doxygen ccache

and
git clone https://github.com/xbmc/xbmc.git
git clone https://github.com/raspberrypi/tools.git --depth 1
git clone https://github.com/raspberrypi/firmware.git --depth 1

and I build this depends for Kodi

./bootstrap
./configure --with-platform=raspberry-pi2 --host=arm-linux-gnueabihf --with-toolchain=/home/me/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf --with-firmware=/home/me/firmware --disable-debug --prefix=/home/me/depends --with-tarballs=/home/me/tarballs
make -C native
make -C target

and I build Kodi

cmake -DENABLE_INTERNAL_CROSSGUID=OFF -DENABLE_INTERNAL_FFMPEG=OFF -DCMAKE_BUILD_TYPE=Release -DCPACK_GENERATOR=DEB -DCMAKE_INSTALL_PREFIX=/usr -DDEBIAN_PACKAGE_TYPE=unstable -DDEB_PACKAGE_ARCHITECTURE=armhf -DCMAKE_TOOLCHAIN_FILE=/home/me/depends/target/Toolchain.cmake ..
make kodi

and finally I build the packages

make package

And I install on my Pi 2 et run kodi-rbpi
and error
/usr/lib/kodi/kodi-rbpi: undefined symbol: MurmurHash2

Kodi start just a little bit
https://paste.ubuntu.com/p/Rn5vTpRyRt/


My lib on chroot is libsystemd-shared-232.so et on Pi is the same.

I build my Kodi for my Pi for 3 years without trouble
Reply
#5
Honestly I have no idea what happens in your case.

One thing looks fishy tho:
If you do a depends build in a chroot - how the hell kodi gets linked to libsystemd and libudev for target (arm) architecture which shouldn't be present at all in an amd64 cross depends build ??
Also a pi build should not use X11 and link to x11 libs unless you explicitly want that for testing purposes (hw decoding won'work), when you do a cross depends build lot's of stuff is linked statically (eg. samba) and shouldn't be visible to ldd.

Something is very wrong with the way you do it.

Review this guide https://github.com/xbmc/xbmc/blob/master...berryPi.md which was recently updated, maybe you could spot something.
Reply
#6
OK , I've found.

Since the libudev library was added, the compilation of libcec4 detected this new module udev.
So, libcec4 exposes the symbol MurmurHash2
and as the symbols are integrated into Kodi.

Kodi asks that the symbols be present.

I had to recompile libcec4 with udev for my Pi , and it's OK
Reply

Logout Mark Read Team Forum Stats Members Help
symbol lookup error: /usr/lib/kodi/kodi-rbpi: undefined symbol: MurmurHash2 -RESOLVED0