Posts: 996
Joined: Oct 2009
Reputation:
16
sraue
Team-XBMC Developer
Posts: 996
also paste the whole config.log from xbmc after you get the error
greetings, Stephan
Posts: 17,855
Joined: Jan 2011
Reputation:
1,055
Milhouse
Retired Team-Kodi Member
Posts: 17,855
Yes, that patch is required (and called "keep/build/enable_mmal.patch" in my hacked together build system, the patch applied in oepull.sh).
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Posts: 996
Joined: Oct 2009
Reputation:
16
sraue
Team-XBMC Developer
Posts: 996
milhouse, can you PR this patch for our master?
greetings, Stephan
Posts: 9
Joined: Jul 2013
Reputation:
0
Hi, is there a way to "duplicate" this patch for a non-openelec build? I have the exact same error on a cc machine since beta1 (till alpha4 builds were ok). Thanks in advance
Posts: 17,855
Joined: Jan 2011
Reputation:
1,055
Milhouse
Retired Team-Kodi Member
Posts: 17,855
Shouldn't really be that hard, just track down where the firmware libraries are referenced and add the mmal libraries, although chances are your problem is due to re-branding as this mmal change pre-dates the alpha builds.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Posts: 9
Joined: Jul 2013
Reputation:
0
yup, you're right, just needed to copy the libs...(still don´t know why it broke)
anyways, ill leave here what i needed to copy:
/opt/vc/lib/libmmal.so /usr/lib/arm-linux-gnueabihf/libmmal.so
/opt/vc/lib/libmmal_core.so /usr/lib/arm-linux-gnueabihf/libmmal_core.so
/opt/vc/lib/libmmal_util.so /usr/lib/arm-linux-gnueabihf/libmmal_util.so
/opt/vc/lib/libmmal_vc_client.so /usr/lib/arm-linux-gnueabihf/libmmal_vc_client.so
add to LDFLAGS
export LDFLAGS="-march=$TARGET_SUBARCH -mtune=$TARGET_CPU $TARGET_LOPT -L /usr/lib/arm-linux-gnueabihf"
Posts: 156
Joined: Sep 2016
Reputation:
3
abga
Senior Member
Posts: 156
2016-10-13, 23:24
(This post was last modified: 2016-10-14, 00:02 by abga.)
Hello and sorry to disturb you from your rather profound meditation, but I might need some help over here and ran out of ideas.
First, I'd like to thank you for the resolution provided in this thread, as it was my first problem that I've solved by adding LDFLAGS="-L /opt/vc/lib/" before configuring Kodi and managed to get rid of the reported confusing lgpg-error that actually hasn't had anything to do with the real dependencies issue:
/usr/bin/ld: cannot find -lmmal
/usr/bin/ld: cannot find -lmmal_core
/usr/bin/ld: cannot find -lmmal_util
Now, to be more specific, I'm trying to compile a minimal and PVR (tvheadend) specific Kodi popcornmix (newclock 5) - with omxplayer and support for OpenMAX (not really sure why I need this one, tried to disable it with --disable-openmax without any success) on a Slackware (14.2)-CURRENT arm HF driven Pi2B and failing due to some openmax dependencies, detailed in the following make error lines:
- I deliberately renamed the release (folder) in xbmc-16.1-Jarvis because I'm using a Slackbuild script to build and generate a Slackware package and I've found it simpler to just rename the archive&folder instead of modifying parts of the script
__________________________________________________________________________________________
In file included from /kit/tmp/SBo/xbmc-16.1-Jarvis/xbmc/linux/OMXCore.h:33:0,
from /kit/tmp/SBo/xbmc-16.1-Jarvis/xbmc/linux/OMXClock.h:26,
from /kit/tmp/SBo/xbmc-16.1-Jarvis/xbmc/cores/omxplayer/OMXAudio.h:31,
from Sinks/AESinkPi.h:29,
from AESinkFactory.cpp:29:
/kit/tmp/SBo/xbmc-16.1-Jarvis/xbmc/linux/DllOMX.h:35:25: fatal error: IL/OMX_Core.h: No such file or directory
compilation terminated.
ar crs addons.a Addon.o AddonBuilder.o BinaryAddonCache.o AddonDatabase.o AddonInstaller.o AddonManager.o AddonStatusHandler.o AddonSystemSettings.o AddonVersion.o AudioEncoder.
/kit/tmp/SBo/xbmc-16.1-Jarvis/Makefile.include:97: recipe for target 'AESinkFactory.o' failed
make[1]: *** [AESinkFactory.o] Error 1
make[1]: Leaving directory '/kit/tmp/SBo/xbmc-16.1-Jarvis/xbmc/cores/AudioEngine'
Makefile:428: recipe for target 'xbmc/cores/AudioEngine/audioengine.a' failed
make: *** [xbmc/cores/AudioEngine/audioengine.a] Error 2
make: *** Waiting for unfinished jobs....
/usr/bin/ccache g++ -MF OverlayRenderer.d -MD -c -O2 -DNDEBUG=1 -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -std=gnu++11 -DTARGET_POSIX -DTARGET_LINUX
&& cp OverlayRenderer.d OverlayRenderer.P && sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$//' -e '/^$/ d' -e 's/$/ :/' < OverlayRenderer.d >> OverlayRenderer.P && rm -f Overla
make[1]: Leaving directory '/kit/tmp/SBo/xbmc-16.1-Jarvis/xbmc/addons'
/usr/bin/ccache g++ -MF OverlayRendererUtil.d -MD -c -O2 -DNDEBUG=1 -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -std=gnu++11 -DTARGET_POSIX -DTARGET_L
&& cp OverlayRendererUtil.d OverlayRendererUtil.P && sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$//' -e '/^$/ d' -e 's/$/ :/' < OverlayRendererUtil.d >> OverlayRendererUtil.P
/usr/bin/ccache g++ -MF OverlayRendererGUI.d -MD -c -O2 -DNDEBUG=1 -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -std=gnu++11 -DTARGET_POSIX -DTARGET_LI
&& cp OverlayRendererGUI.d OverlayRendererGUI.P && sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$//' -e '/^$/ d' -e 's/$/ :/' < OverlayRendererGUI.d >> OverlayRendererGUI.P &&
/usr/bin/ccache g++ -MF RenderCapture.d -MD -c -O2 -DNDEBUG=1 -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -std=gnu++11 -DTARGET_POSIX -DTARGET_LINUX -
&& cp RenderCapture.d RenderCapture.P && sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$//' -e '/^$/ d' -e 's/$/ :/' < RenderCapture.d >> RenderCapture.P && rm -f RenderCapture.
In file included from /kit/tmp/SBo/xbmc-16.1-Jarvis/xbmc/linux/RBP.h:38:0,
from RenderCapture.h:142,
from RenderCapture.cpp:21:
/kit/tmp/SBo/xbmc-16.1-Jarvis/xbmc/linux/DllBCM.h:33:22: fatal error: bcm_host.h: No such file or directory
compilation terminated.
/kit/tmp/SBo/xbmc-16.1-Jarvis/Makefile.include:97: recipe for target 'RenderCapture.o' failed
make[1]: *** [RenderCapture.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/kit/tmp/SBo/xbmc-16.1-Jarvis/xbmc/cores/VideoPlayer/VideoRenderers'
Makefile:428: recipe for target 'xbmc/cores/VideoPlayer/VideoRenderers/VideoRenderer.a' failed
make: *** [xbmc/cores/VideoPlayer/VideoRenderers/VideoRenderer.a] Error 2
_________________________________________________________________________________
I'm building Kodi natively and I didn't set up a chroot / sysroot, therefore I tried to add the path to the Raspberry Firmware and Libs, like I did with the missing mmal deps, with the help of LDFLAGS="-L /opt/vc/lib/ -L /opt/vc/include" and I'm still failing. Additionally, by considering that all the patches have merged into the latest Kodi releases, I tried both Kodi 16.1 Stable and latest master branch 17.03 Beta, but to no avail. Worth to mention that although I'm running Slackware, I'm using Raspberry's original and actual (some weeks ago) kernel and /opt/vc (firmware) and the needed dependencies are functional and available in /opt/vc:
cat /etc/ld.so.conf
/lib
/usr/lib
/usr/local/lib
/usr/arm-slackware-linux-gnueabi/lib
/opt/vc/lib
ls -al /opt/vc/include/
total 48
drwxr-xr-x 11 root root 4096 Sep 23 05:34 .
drwxr-xr-x 7 root root 4096 Sep 23 05:34 ..
drwxr-xr-x 2 root root 4096 Sep 23 05:34 EGL
drwxr-xr-x 2 root root 4096 Sep 23 05:34 GLES
drwxr-xr-x 2 root root 4096 Sep 23 05:34 GLES2
drwxr-xr-x 2 root root 4096 Sep 23 05:34 IL
drwxr-xr-x 2 root root 4096 Sep 23 05:34 KHR
drwxr-xr-x 2 root root 4096 Sep 23 05:34 VG
drwxr-xr-x 2 root root 4096 Sep 23 05:34 WF
-rw-r--r-- 1 root root 2342 Aug 21 2015 bcm_host.h
drwxr-xr-x 8 root root 4096 Sep 23 05:34 interface
drwxr-xr-x 2 root root 4096 Sep 23 05:34 vcinclude
and
ls -al /opt/vc/include/IL/
total 472
drwxr-xr-x 2 root root 4096 Sep 23 05:34 .
drwxr-xr-x 11 root root 4096 Sep 23 05:34 ..
-rw-r--r-- 1 root root 82279 Feb 9 2016 OMX_Audio.h
-rw-r--r-- 1 root root 98109 Sep 22 11:07 OMX_Broadcom.h
-rw-r--r-- 1 root root 23869 Aug 21 2015 OMX_Component.h
-rw-r--r-- 1 root root 71220 Apr 1 2016 OMX_Core.h
-rw-r--r-- 1 root root 3229 Aug 21 2015 OMX_ILCS.h
-rw-r--r-- 1 root root 37454 Sep 23 2015 OMX_IVCommon.h
-rw-r--r-- 1 root root 14684 Aug 21 2015 OMX_Image.h
-rw-r--r-- 1 root root 41087 Sep 22 11:07 OMX_Index.h
-rw-r--r-- 1 root root 18255 Aug 21 2015 OMX_Other.h
-rw-r--r-- 1 root root 13146 Aug 21 2015 OMX_Types.h
-rw-r--r-- 1 root root 45522 Feb 9 2016 OMX_Video.h
QUESTION - is there any specific place (Makefile) where I can hard code the path to the missing openmax deps or any trick to make the build scripts see them, without setting up a cross-compilation / toolchain /sysroot environment (useless, since I can compile Kodi natively in 25 minutes and my SD Card is a very good and resisting Samsung EVO). I can build all Kodi releases starting from 15.2 up to the actual Beta if I don't use --with-platform=raspberry-pi2 --enable-player=omxplayer.
Thanks!
____________________________________________________
Following are my actual configure parameters (maybe you can help me with one that disables the unneeded airplay too):
./configure \
--prefix=/usr \
--with-platform=raspberry-pi2 \
--enable-player=omxplayer \
--disable-debug \
--with-lirc-device=/var/run/lirc/lircd \
--with-ffmpeg=shared \
--disable-x11 \
--disable-gl \
--enable-gles \
--disable-libcec \
--disable-nfs \
--disable-optical-drive \
--disable-dvdcss \
--disable-libbluray \
--disable-joystick \
--disable-vtbdecoder \
--disable-vaapi \
--disable-vdpau \
--disable-avahi \
--enable-alsa \
--enable-pulse \
--disable-asap-codec \
--disable-mysql \
--disable-webserver \
--disable-upnp \
--disable-mdnsembedded \
--enable-texturepacker
_________
Kodi Configuration:
------------------------
Kodi Version: 17.0-BETA3
git Rev.: Unknown
Debugging: No
Profiling: No
Optimization: Yes
SWIG Available: Yes
JRE Available: Yes
Doxygen Available: Yes
Crosscomp.: No
target ARCH: arm
target CPU: cortex-a7
OpenGLES: Yes
ALSA: Yes
DBUS: Yes
VDPAU: No
VAAPI: No
OpenMax: No
X11: No
Bluray: No
XSLT scrapers: Yes
TexturePacker:Yes
MID Support: No
ccache: Yes
ALSA Support: Yes
PulseAudio: Yes
Google Test Framework Configured: Yes
Avahi: No
mDNSEmbedded: No
Non-free: Yes
MySQL: No
Webserver: No
libssh support: Yes
libsmbclient support: Yes
libnfs client support:No
AirPlay support: Yes
AirTunes support: No
UPnP support: No
Optical drive: No
libudev support: Yes
libusb support: No
libcec support: No
lcms2 support: Yes
libbluetooth support: Yes
libcap support: Yes
additional players: Yes, omxplayer
additional codecs: No
prefix: /usr
_______________