Kodi Community Forum

Full Version: Kodi and gcc 5.2
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Kodi compiled with GCC 5.2 doesn't work properly on Archlinux ARM. Tested on Cubox-i and Raspberry Pi2.
With empty library Kodi starts normally, when you add some movies into library Kodi crashing during startup.

When I make package with GCC 5.1, everything works.

Any idea where should be problem?

https://github.com/archlinuxarm/PKGBUILDs/issues/1222
http://forum.solid-run.com/kodi-xbmc-pla...-s450.html
no idea. We neither provide the arch packages, nor do we use gcc-5.2
Just note that gcc-5.2 requires your COMPLETE system to be rebuilt against the new ABI or really esoteric crashes can and will happen.

Reports from gentoo read like support hell, requiring multiple(4-5) emerge world due to cyclic dependencies, until everything is properly built against the new ABI.
gentoo users get a hard one when doing emerge world - so nothing wrong with doing it 4 - 5 times Big Grin
crash happens while loading art in standard library functions, here:

(gdb) where
#0 0x005c12dc in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const ()
#1 0x005d4342 in CGUIListItem::GetArt(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const ()
#2 0x009f2bf4 in CGUIInfoManager::GetItemLabel (this=0xeec2e8 <g_infoManager>, item=0x1, info=36100, fallback=0x0) at GUIInfoManager.cpp:4557
...

still no idea why
Ok, seems that the problem is coming for the old version of ImageLib-arm.so that is stuck in the system even if you recompile and do "make install".
I've deleted everything from /usr/lib/kodi, /usr/share/kodi and then recompiled clean and installed clean - and it works.
Yeah - if you play the bumping game everything compiled before needs to be recompiled - including system libs :-)
Yeah, but seems that was too fast assumption. Doing several tests afterwards I found out that the real cause of crash is the "--enable-optimizations" option. If it is on - then the binary crashdumps on tries to load art. Everything works if you do "--disable-optimizations"
So - yet another gcc fuckup?
My guess is that it depends on the distro.
Last week's build of Jarvis master on ubuntu 15.10 with gcc-5.2 has been stable as always for me.
I even build with additional optimizations (-march=native) and I do not use any ppas, if there is a missing dep ala crossguid/giflib5 I just build from source.
I've experienced a few segfaults on start in an earlier build, but that was because they (ubuntu) were updating some packages before release,
eg after they updated tinyxml package, the solution was simple - rebuild Kodi.