Kodi Community Forum
Compiling XBMC on Fedora 11 beta (rawhide) - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111)
+---- Forum: Linux (https://forum.kodi.tv/forumdisplay.php?fid=52)
+---- Thread: Compiling XBMC on Fedora 11 beta (rawhide) (/showthread.php?tid=49066)

Pages: 1 2


Compiling XBMC on Fedora 11 beta (rawhide) - fireriver - 2009-04-17

Hi guys,

I am trying to install xbmc on my fedora rawhide (X86-64) and I am getting the following compilation error:

make[1]: Entering directory `/root/XBMC/xbmc/cores/DllLoader/exports'
/usr/bin/ccache g++ -MD -c -O2 -g -D_DEBUG -Wall -D_LINUX -D_FILE_DEFINED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DINSTALL_PATH="\"/usr/local/share/xbmc\"" -DHAS_SDL_JOYSTICK -DHAS_XRANDR -DHAS_PCRE -D'SVN_REV="19487"' -DDLL_PATH_LIBCURL="\"/usr/lib64/libcurl.so\"" -I. -I../../../ -I../../../linux -I../../../../guilib -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/hal -DHAS_PULSEAUDIO -I/usr/include/lzo exports_msvcrt.cpp -o exports_msvcrt.o
exports_msvcrt.cpp:436: error: overloaded function with no contextual type information
exports_msvcrt.cpp:437: error: overloaded function with no contextual type information
exports_msvcrt.cpp:441: error: overloaded function with no contextual type information
exports_msvcrt.cpp:525: error: too many initializers for ‘Export’
exports_msvcrt.cpp:525: error: too many initializers for ‘Export’
exports_msvcrt.cpp:525: error: too many initializers for ‘Export’
exports_msvcrt.cpp:589: error: overloaded function with no contextual type information
exports_msvcrt.cpp:594: error: overloaded function with no contextual type information
exports_msvcrt.cpp:650: error: overloaded function with no contextual type information
exports_msvcrt.cpp:651: error: overloaded function with no contextual type information
exports_msvcrt.cpp:655: error: overloaded function with no contextual type information
exports_msvcrt.cpp:815: error: too many initializers for ‘Export’
exports_msvcrt.cpp:815: error: too many initializers for ‘Export’
exports_msvcrt.cpp:815: error: too many initializers for ‘Export’
exports_msvcrt.cpp:815: error: too many initializers for ‘Export’
exports_msvcrt.cpp:815: error: too many initializers for ‘Export’
make[1]: *** [exports_msvcrt.o] Error 1
make[1]: Leaving directory `/root/XBMC/xbmc/cores/DllLoader/exports'
make: *** [exports] Error 2


My c++ skills are not good enough to understand what is it. Any expert around?

Thanks,

--fr


- althekiller - 2009-04-17

Uhm...gcc, libtool, auto*, binutils versions? Other stuff that would acutally be useful?


- fireriver - 2009-04-18

thanks to get back to me althekiller. Here the info you requested:

gcc-c++-4.4.0-0.34.x86_64
libgcc-4.4.0-0.34.i586
libgcc-4.4.0-0.34.x86_64
gcc-4.4.0-0.34.x86_64
libtool-ltdl-2.2.6-11.fc11.x86_64
libtool-2.2.6-11.fc11.x86_64
automake17-1.7.9-12.noarch
automake14-1.4p6-18.fc11.noarch
automake-1.10.2-3.noarch
automake15-1.5-26.noarch
autoconf-2.63-2.fc11.noarch
avahi-autoipd-0.6.24-2.fc11.x86_64
automake16-1.6.3-15.noarch
binutils-2.19.51.0.2-16.fc11.x86_64

the errors seems to point to some functions defined in a kind of array, for example:

{ "strpbrk", -1, (void*):Confusedtrpbrk, NULL },

strangely enough only some of the functions defined in that array are generating error.

Hope this helps


- fireriver - 2009-04-21

Does any developer have a clue about this error? Is there anything else that I can provide you?

Thanks


- Haggy - 2009-04-21

i'm no developer, but seems like gcc 4.4 is the troublemaker. afaik fedora is the only distro that uses this version. why do people always insist on using beta releases?


- fireriver - 2009-04-22

Haggy Wrote:i'm no developer, but seems like gcc 4.4 is the troublemaker. afaik fedora is the only distro that uses this version. why do people always insist on using beta releases?

because otherwise stable releases would have the quality of a beta Wink

Jokes apart I understand your point, I did it almost by mistake, but anyway here I am if anyone wants to take the challenge.


- Haggy - 2009-04-22

I expect you being pretty alone with that issue, but nevertheless: good luck, maybe you come up with some patches for xbmc all other distros will need when it's time for gcc 4.4


- anish - 2009-05-23

same error here, on archlinux with gcc 4.4. haven't found a fix yet


- motd2k - 2009-05-23

Looks like we need to typecast those functions


- Haggy - 2009-05-23

anish Wrote:same error here, on archlinux with gcc 4.4. haven't found a fix yet

Have you tried xbmc-svn from the AUR? It compiles fine with GCC 4.4 and even 64bit. Have a look at my sig.


- motd2k - 2009-05-23

im not sure if it will make any difference, but you could also try removing ccache.


- althekiller - 2009-05-23

It's a bug in gcc 4.4. The functions need double-cast to work around it, but I'll be damned if I could figure it out debugging via proxy on IRC. I won't be installing 4.4 just to get this straight for the nerd circle jerk distro.


- Haggy - 2009-05-23

althekiller Wrote:I won't be installing 4.4 just to get this straight for the nerd circle jerk distro.
Call it what you like, in 5 months Ubuntu 9.10 will also ship 4.4 Smile


- althekiller - 2009-05-23

In which case it won't be for "just the nerd circle jerk distro" Smile


- Haggy - 2009-05-26

Al/motd2k: I'd like to roll this up again. If you could point me to what "double casting a function" exactly means i'm willing to do the dirty work of hacking that file until it compiles with gcc 4.4.

I'm no newbie to programming but my C/C++ skills are simply not that good. From what i understand is, that some of those functions who get exported need an additional tweak. They're all casted to (void*), so what would the second cast be? I read the bugreport about that 4.4 regression and some guys came up with a second cast into the class where the function is defined. What's that in xbmc-source-speak?

Thanks for all you help, i'm really willing to understand more of this...