View previous topic :: View next topic |
Author |
Message |
DawgG l33t
Joined: 17 Sep 2003 Posts: 866
|
Posted: Wed Dec 16, 2015 2:38 pm Post subject: KODI does not compile with gcc-5.3.0 [SOLVED] |
|
|
== UPDATE ==
kodi compiles now, only libcec does not (see below)
== == ==
on my kodi ~amd64-system i recently emerged gcc-5.3.0 and started using it right away.
i managed to solve some troubles when re-emerging kodi (in addition to having to re-emerge all cxx-related pkgs)
these are my USEFLAGS:
Code: | media-tv/kodi-15.2::gentoo USE="X alsa bluray cec css dbus fishbmc goom opengl projectm rsxs rtmp spectrum texturepacker udisks upnp upower usb vaapi vdpau waveform webserver -airplay -avahi -bluetooth -caps -debug -gles -java -joystick -midi -mysql -nfs -profile -pulseaudio -samba -sftp {-test}" PYTHON_TARGETS="python2_7" |
here is a list of all pkgs i had to re-emerge while trying to make kodi compile:
llvm
mesa
boost
cmake
tinyxml
libxml2
taglib
(and also qpdf and cups-filters, but these only because the netflixbmc-plugin required google-chrome which in turn requires these)
just to make sure i also re-emerged python-2.7.
but i do not know how to solve this last error:
Code: | make[1]: Leaving directory '/var/tmp/portage/media-tv/kodi-15.2/work/xbmc-15.2-Isengard/xbmc/guilib'
x86_64-pc-linux-gnu-g++ -DNDEBUG=1 -march=native -O2 -pipe -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -std=gnu++11 -DNDEBUG=1 -march=native -O2 -pipe -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -std=gnu++11 -Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--as-needed -o kodi.bin xbmc/main/main.a -Wl,--start-group xbmc/main/main.a xbmc/linux/linux.a xbmc/network/network.a xbmc/video/windows/videowindows.a xbmc/utils/utils.a xbmc/cores/DllLoader/exports/util/exports_utils.a xbmc/cores/DllLoader/exports/exports.a xbmc/settings/settings.a xbmc/video/video.a xbmc/pvr/addons/pvraddons.a xbmc/pvr/windows/pvrwindows.a xbmc/guilib/guilib.a xbmc/cores/dvdplayer/DVDPlayer.a xbmc/cores/dvdplayer/DVDCodecs/DVDCodecs.a xbmc/cores/dvdplayer/DVDCodecs/Audio/Audio.a xbmc/cores/dvdplayer/DVDCodecs/Overlay/Overlay.a xbmc/cores/dvdplayer/DVDCodecs/Video/Video.a xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxers.a xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreams.a xbmc/cores/dvdplayer/DVDSubtitles/DVDSubtitles.a lib/SlingboxLib/SlingboxLib.a xbmc/addons/addons.a xbmc/cdrip/cdrip.a xbmc/contrib/kissfft/kissfft.a xbmc/cores/AudioEngine/audioengine.a xbmc/cores/DllLoader/dllloader.a xbmc/cores/ExternalPlayer/ExternalPlayer.a xbmc/cores/VideoRenderers/VideoRenderer.a xbmc/cores/VideoRenderers/VideoShaders/VideoShaders.a xbmc/cores/cores.a xbmc/cores/paplayer/paplayer.a xbmc/cores/playercorefactory/playercorefactory.a xbmc/dbwrappers/dbwrappers.a xbmc/dialogs/dialogs.a xbmc/epg/epg.a xbmc/filesystem/MusicDatabaseDirectory/musicdatabasedirectory.a xbmc/filesystem/VideoDatabaseDirectory/videodatabasedirectory.a xbmc/filesystem/filesystem.a xbmc/input/input.a xbmc/interfaces/generic/interfaces-generic.a xbmc/interfaces/info/info.a xbmc/interfaces/interfaces.a xbmc/interfaces/json-rpc/json-rpc.a xbmc/interfaces/legacy/legacy.a xbmc/interfaces/python/python_binding.a xbmc/listproviders/listproviders.a xbmc/media/media.a xbmc/music/dialogs/musicdialogs.a xbmc/music/infoscanner/musicscanner.a xbmc/music/karaoke/karaoke.a xbmc/music/music.a xbmc/music/tags/musictags.a xbmc/music/windows/musicwindows.a xbmc/network/websocket/websocket.a xbmc/peripherals/bus/peripheral-bus.a xbmc/peripherals/devices/peripheral-devices.a xbmc/peripherals/dialogs/peripheral-dialogs.a xbmc/peripherals/peripherals.a xbmc/pictures/pictures.a xbmc/playlists/playlists.a xbmc/powermanagement/powermanagement.a xbmc/profiles/profiles.a xbmc/profiles/dialogs/profiles_dialogs.a xbmc/profiles/windows/profiles_windows.a xbmc/programs/programs.a xbmc/pvr/channels/pvrchannels.a xbmc/pvr/dialogs/pvrdialogs.a xbmc/pvr/pvr.a xbmc/pvr/recordings/pvrrecordings.a xbmc/pvr/timers/pvrtimers.a xbmc/rendering/rendering.a xbmc/settings/dialogs/settings_dialogs.a xbmc/settings/lib/settings_lib.a xbmc/settings/windows/settings_windows.a xbmc/storage/storage.a xbmc/video/dialogs/videodialogs.a xbmc/video/jobs/video-jobs.a xbmc/video/videosync/videosync.a xbmc/view/view.a xbmc/windowing/windowing.a xbmc/windows/windows.a xbmc/xbmc.a xbmc/interfaces/legacy/wsgi/legacy-wsgi.a xbmc/network/httprequesthandler/httprequesthandlers.a xbmc/network/httprequesthandler/python/httprequesthandlers-python.a xbmc/rendering/gl/rendering_gl.a lib/libUPnP/libupnp.a xbmc/network/upnp/upnp.a xbmc/input/linux/input_linux.a xbmc/network/linux/network_linux.a xbmc/powermanagement/linux/powermanagement_linux.a xbmc/storage/linux/storage_linux.a xbmc/windowing/X11/windowing_X11.a lib/UnrarXLib/UnrarXLib.a -Wl,--end-group xbmc/threads/threads.a xbmc/commons/commons.a -lmicrohttpd -ljasper -lresolv -ltinyxml -lssl -lcrypto -lz -llzo2 -lpthread -ltiff -ljpeg -lbz2 -lgcrypt -lgpg-error -lGLU -lGLEW -lGL -L/usr/lib64 -lpython2.7 -lyajl -lxml2 -lxslt -lxml2 -lz -lm -ldl -lm -lxml2 -lfribidi -lglib-2.0 -lsqlite3 -lpng16 -lpcrecpp -lpcre -lfreetype -ltag -lcdio -lm -lasound -ldbus-1 -lasound -lX11 -lXext -lXrandr -ldrm -lXt -lX11 -lXmu -lXt -lX11 -ludev -lavcodec -lavfilter -lavformat -lavutil -lpostproc -lswscale -lswresample -lva-x11 -lva -L/var/tmp/portage/media-tv/kodi-15.2/work/xbmc-15.2-Isengard/tools/depends/native/libsquish-native/squish-install/lib -lsquish -rdynamic
xbmc/filesystem/filesystem.a(FTPParse.o): In function `CFTPParse::setTime(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
FTPParse.cpp:(.text+0x5b1): undefined reference to `pcrecpp::RE::Init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, pcrecpp::RE_Options const*)'
FTPParse.cpp:(.text+0x648): undefined reference to `pcrecpp::RE::Init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, pcrecpp::RE_Options const*)'
FTPParse.cpp:(.text+0x6df): undefined reference to `pcrecpp::RE::Init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, pcrecpp::RE_Options const*)'
FTPParse.cpp:(.text+0x861): undefined reference to `pcrecpp::RE::Init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, pcrecpp::RE_Options const*)'
FTPParse.cpp:(.text+0x9cd): undefined reference to `pcrecpp::RE::Init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, pcrecpp::RE_Options const*)'
xbmc/filesystem/filesystem.a(FTPParse.o):FTPParse.cpp:(.text+0xc72): more undefined references to `pcrecpp::RE::Init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, pcrecpp::RE_Options const*)' follow
collect2: error: ld returned 1 exit status |
how can i make kodi compile?
THX for your help! _________________ DUMM KLICKT GUT.
Last edited by DawgG on Thu Dec 17, 2015 3:41 pm; edited 1 time in total |
|
Back to top |
|
|
Mistwolf Apprentice
Joined: 07 Mar 2007 Posts: 189 Location: Edmonton, AB
|
Posted: Wed Dec 16, 2015 6:53 pm Post subject: |
|
|
did you ran revdep-rebuild on libstdc++ as the ebuild and news items mentioned? |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54308 Location: 56N 3W
|
Posted: Wed Dec 16, 2015 7:58 pm Post subject: |
|
|
DawgG,
The C++11 ABI changed between gcc-4.x and gcc-5.x
You need to rebuild all your packages using C++11 to move to the new ABI.
Its overkill to rebuild everything. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
DawgG l33t
Joined: 17 Sep 2003 Posts: 866
|
Posted: Wed Dec 16, 2015 10:20 pm Post subject: |
|
|
THX for your replies.
yes, i ran revdep-rebuild but it turned up nothing.
i rebuilt every pkg that seemed (to me) related to c++ (either having a useflag cxx or a name/category with cpp in it, but the error i posted is still there.
now the box is running which i know is overkill and i will kill it soon because the Code: | revdep-rebuild -pvv --library 'libstdc\+\+\.so\.6' -- --exclude gcc | from the news-item turned up quite a lot of other pkgs that need to be re-emerged.
should have read that news-item earlier but i was operating the box remotely.
if kodi still does not compile i will post again, if it does i'll mark it solved.
THX! _________________ DUMM KLICKT GUT. |
|
Back to top |
|
|
DawgG l33t
Joined: 17 Sep 2003 Posts: 866
|
Posted: Thu Dec 17, 2015 10:07 am Post subject: kodi runs but libcec fails |
|
|
i killed at 260 of 332 pkgs.
Code: | revdep-rebuild -pvv --library 'libstdc\+\+\.so\.6' -- --exclude gcc |
told me to emerge the following pkgs:
Code: | emerge --exclude=gcc --ask --quiet app-arch/unrar:0 app-text/openjade:0 app-text/opensp:0 app-text/poppler:0/57 app-text
/qpdf:0/13 dev-lang/spidermonkey:17 dev-lang/spidermonkey:0/mozjs185 dev-lang/swig:0 dev-libs/boost:0/1.57.0 dev-libs/DirectFB:0 dev-libs
/elfutils:0 dev-libs/gmp:0/10.4 dev-libs/jsoncpp:0/1 dev-libs/libcdio:0/15 dev-libs/libcec:0 dev-libs/libebml:0/4 dev-libs/libpcre:3 dev-
libs/tinyxml:0 dev-util/cmake:0 dev-util/gperf:0 dev-util/ninja:0 dev-util/re2c:0 media-libs/audiofile:0/1 media-libs/chromaprint:0 media
-libs/flac:0 media-libs/ftgl:0 media-libs/game-music-emu:0 media-libs/glu:0 media-libs/libcaca:0 media-libs/libmatroska:0/6 media-libs/li
bmodplug:0 media-libs/libmp4v2:0 media-libs/libprojectm:0 media-libs/libvpx:0/3 media-libs/mesa:0 media-libs/portaudio:0 media-libs/tagli
b:0 media-libs/tiff:0 media-libs/x265:0/68 media-plugins/live:0/7 media-tv/kodi:0 media-video/dirac:0 net-ftp/lftp:0 net-libs/gnutls:0 ne
t-libs/libproxy:0 net-print/cups-filters:0 sys-apps/groff:0 sys-apps/smartmontools:0 sys-block/thin-provisioning-tools:0 sys-devel/gcc:4.
9 sys-devel/gcc:5 sys-devel/gettext:0 sys-devel/llvm:0/3.7.0 sys-libs/ncurses:0/6 x11-misc/vdpauinfo:0 x11-wm/fluxbox:0 |
but emerge changed the order of the list which failed at 44 of 54: dev-libs/libcec-3.0.1.
after that kodi did compile and runs now, though.
compilation of dev-libs/libcec-3.0.1 fails with the following error:
Code: | [100%] Linking CXX executable cec-client
cd /var/tmp/portage/dev-libs/libcec-3.0.1/work/libcec-3.0.1_build/src/cec-client && /usr/bin/cmake -E cmake_link_script CMakeFiles/cec-client.dir/link.txt --verbose=1
/usr/bin/x86_64-pc-linux-gnu-g++ -march=native -O2 -pipe -std=c++11 -Wl,-O1 -Wl,--as-needed CMakeFiles/cec-client.dir/cec-client.cpp.o CMakeFiles/cec-client.dir/curses/CursesControl.cpp.o -o cec-client-3.0.1 -rdynamic -L/usr/lib64 -lplatform -lpthread -lpthread -ldl -lcurses -lrt
CMakeFiles/cec-client.dir/cec-client.cpp.o: In function `PrintToStdOut(char const*, ...)':
cec-client.cpp:(.text+0x217): undefined reference to `StringUtils::FormatV[abi:cxx11](char const*, __va_list_tag*)'
CMakeFiles/cec-client.dir/cec-client.cpp.o: In function `CecLogMessage(void*, CEC::cec_log_message)':
cec-client.cpp:(.text+0x4c0): undefined reference to `StringUtils::Format[abi:cxx11](char const*, ...)'
CMakeFiles/cec-client.dir/cec-client.cpp.o: In function `ListDevices(CEC::ICECAdapter*)':
cec-client.cpp:(.text+0x13fe): undefined reference to `StringUtils::Format[abi:cxx11](char const*, ...)'
cec-client.cpp:(.text+0x1582): undefined reference to `StringUtils::Format[abi:cxx11](char const*, ...)'
cec-client.cpp:(.text+0x15c1): undefined reference to `StringUtils::Left(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long)'
CMakeFiles/cec-client.dir/cec-client.cpp.o: In function `ProcessCommandSELF(CEC::ICECAdapter*, 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> >&)':
cec-client.cpp:(.text+0x3b55): undefined reference to `StringUtils::Format[abi:cxx11](char const*, ...)'
CMakeFiles/cec-client.dir/cec-client.cpp.o: In function `ProcessCommandLANG(CEC::ICECAdapter*, 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> >&)':
cec-client.cpp:(.text+0x526c): undefined reference to `StringUtils::Format[abi:cxx11](char const*, ...)'
CMakeFiles/cec-client.dir/cec-client.cpp.o: In function `ProcessCommandSCAN(CEC::ICECAdapter*, 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> >&)':
cec-client.cpp:(.text+0x5dd4): undefined reference to `StringUtils::Format[abi:cxx11](char const*, ...)'
cec-client.cpp:(.text+0x5e3c): undefined reference to `StringUtils::Format[abi:cxx11](char const*, ...)'
cec-client.cpp:(.text+0x5e8c): undefined reference to `StringUtils::Format[abi:cxx11](char const*, ...)'
CMakeFiles/cec-client.dir/cec-client.cpp.o:cec-client.cpp:(.text+0x5ee5): more undefined references to `StringUtils::Format[abi:cxx11](char const*, ...)' follow
collect2: Fehler: ld gab 1 als Ende-Status zur<FC>ck
src/cec-client/CMakeFiles/cec-client.dir/build.make:120: die Regel f<FC>r Ziel <BB>src/cec-client/cec-client-3.0.1<AB> scheiterte
make[2]: *** [src/cec-client/cec-client-3.0.1] Fehler 1
make[2]: Verzeichnis <BB>/var/tmp/portage/dev-libs/libcec-3.0.1/work/libcec-3.0.1_build<AB> wird verlassen
CMakeFiles/Makefile2:85: die Regel f<FC>r Ziel <BB>src/cec-client/CMakeFiles/cec-client.dir/all<AB> scheiterte
make[1]: *** [src/cec-client/CMakeFiles/cec-client.dir/all] Fehler 2
make[1]: Verzeichnis <BB>/var/tmp/portage/dev-libs/libcec-3.0.1/work/libcec-3.0.1_build<AB> wird verlassen
Makefile:127: die Regel f<FC>r Ziel <BB>all<AB> scheiterte
make: *** [all] Fehler 2
|
and when the cec-adapter is connected kodi just crashes (or refuses to start when it is connected before.)
i'll compile the rest of the list and maybe gcc-4 and gcc-5 after that (which was in the rebuild-list in spite of --exclude gcc) _________________ DUMM KLICKT GUT. |
|
Back to top |
|
|
DawgG l33t
Joined: 17 Sep 2003 Posts: 866
|
Posted: Thu Dec 17, 2015 3:40 pm Post subject: KODI compiles, libcec still doesn't |
|
|
i recompiled gcc-5 (but not gcc-4) and cmake (just to make sure) but libcec still fails with the same error (the rest is OK).
so i manually compiled libcec from git and the issue's solved now. _________________ DUMM KLICKT GUT. |
|
Back to top |
|
|
DawgG l33t
Joined: 17 Sep 2003 Posts: 866
|
Posted: Mon Jan 11, 2016 1:27 pm Post subject: |
|
|
just a follow-up:
even though libcec comiled the way monetioned above, it did not work.
i first had to emerge libplatform (ususally a dep of libcec) and then libcec - now it works! _________________ DUMM KLICKT GUT. |
|
Back to top |
|
|
gerdesj l33t
Joined: 29 Sep 2005 Posts: 621 Location: Yeovil, Somerset, UK
|
Posted: Fri Jan 15, 2016 8:32 pm Post subject: |
|
|
DawgG wrote: | just a follow-up:
even though libcec comiled the way monetioned above, it did not work.
i first had to emerge libplatform (ususally a dep of libcec) and then libcec - now it works! |
Thank you. This had been driving me mad. I had already run several rebuilds of all C++ stuff via revdep-rebuild but it kept failing on libcec. I already had libplatform installed, rebuilt it and now libcec finally linked.
Again, thanks for the tip |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|