Linux Problem compiling : ButtonTranslator.cpp
#1
I pulled the new files from git and i ranned:

./bootstrap ; ./configure --enable-vdpau --enable-vaapi --enable-crystalhd --enable-libbluray --enable-nfs --enable-airplay ; make ; make install

first it did not make the xbmc-xrandr, so i ranned make xbmc-xrandr, then it complained that xbmc.bin cannot be stat:ed and that correct, xbmc.bin has not been built so i run make xbmc.bin and gets:
CPP xbmc/input/ButtonTranslator.o
ButtonTranslator.cpp: In static member function âstatic uint32_t CButtonTranslat
ButtonTranslator.cpp:1465: error: âclass TiXmlElementâ has no member named âQuer
ButtonTranslator.cpp:1485: error: âclass TiXmlElementâ has no member named âQuer
/root/xbmc/xbmc/guilib/GraphicContext.h: At global scope:
/root/xbmc/xbmc/guilib/GraphicContext.h:241: warning: âg_graphicsContextâ define
make[1]: *** [ButtonTranslator.o] Error 1
make: *** [xbmc/input/input.a] Error 2

running on debian.

How can i solve this issue?
Reply
#2
which branch are you using? did you already try git clean -Xfd?
Reply
#3
(2013-03-19, 16:49)wsnipex Wrote: which branch are you using? did you already try git clean -Xfd?

Im using code from git://github.com/xbmc/xbmc.git on Linux Debian x64 platform. And no, i havent tried that one. Though i always remove the git cloned folder before downloading the git code if that counts as "clean" aswell? =)

Edit: no, clean -Xfd did not make any difference.
Reply
#4
(2013-03-19, 16:21)isMnemonic Wrote: I pulled the new files from git and i ranned:

./bootstrap ; ./configure --enable-vdpau --enable-vaapi --enable-crystalhd --enable-libbluray --enable-nfs --enable-airplay ; make ; make install

first it did not make the xbmc-xrandr, so i ranned make xbmc-xrandr, then it complained that xbmc.bin cannot be stat:ed and that correct, xbmc.bin has not been built so i run make xbmc.bin and gets:
CPP xbmc/input/ButtonTranslator.o
ButtonTranslator.cpp: In static member function âstatic uint32_t CButtonTranslat
ButtonTranslator.cpp:1465: error: âclass TiXmlElementâ has no member named âQuer
ButtonTranslator.cpp:1485: error: âclass TiXmlElementâ has no member named âQuer
/root/xbmc/xbmc/guilib/GraphicContext.h: At global scope:
/root/xbmc/xbmc/guilib/GraphicContext.h:241: warning: âg_graphicsContextâ define
make[1]: *** [ButtonTranslator.o] Error 1
make: *** [xbmc/input/input.a] Error 2

running on debian.

How can i solve this issue?


Hi,
I had same problem on Debian squeeze. You have to install newer version of libtinyxml. I add repo from Wheeze and install new version of this lib. Now it's ok.
Reply
#5
(2013-03-20, 13:12)Lachim Wrote: Hi,
I had same problem on Debian squeeze. You have to install newer version of libtinyxml. I add repo from Wheeze and install new version of this lib. Now it's ok.

Oh great that works! I am also on Debian Squeeze.
Reply
#6
PHP Code:
ButtonTranslator.cppIn member function âvoid CButtonTranslator::MapJoystickActions(intTiXmlNode*)â:
ButtonTranslator.cpp:828errorâclass TiXmlElementâ has no member named âQueryBoolAttributeâ
make
[1]: *** [ButtonTranslator.oError 1
make
: *** [xbmc/input/input.aError 2 

Same error on Centos 6.6, I already have installed tinyxml-2.6.1, I think it's the latest one.
What else could I be missing ?
Reply
#7
well, aren't you lucky Wink

QueryBoolAttribute was added in tinyxml 2.6.2. somebody should add that requirement to the pkgconfig usage in configure so you get readable error messages.
Reply
#8
Thank you ironic_monkey, seems that 2.6.2 is not yet available for Centos 6, I'll try to build it manually.
Reply
#9
(2015-01-28, 16:18)ironic_monkey Wrote: well, aren't you lucky Wink

QueryBoolAttribute was added in tinyxml 2.6.2. somebody should add that requirement to the pkgconfig usage in configure so you get readable error messages.

assuming pkg-config was even used for tinyxml detection, which it isn't Wink
Reply
#10
Manually rebuilt 2.6.2 for centos 6 and now I managed to successfully build Kodi 14.
Reply
#11
Same issue here on Centos 6.6. Well I've had a lot of other issues too up to this point, but was able to resolve those. I'm still stuck on this one.

Hey zanga, can you explain how to build the custom tinyxml v2.6.2 and get that into the config? I located the source from:

http://sourceforge.net/projects/tinyxml/...xml/2.6.2/

then did a make to create object and an ar to create a static lib (.a), but got stuck there. Did you go from that to a pkg-config (.pc ) and or retrofit the old tinyxml rpm or just modify the config somehow?

Huh

Thanks
Reply
#12
install it to /usr/local/lib and it will be picked up by configure.
Reply
#13
Thanks wsnipex. I put the static lib (libtinyxml.a) into /usr/local/lib and it was picked up just as you stated. Then I found out I built the lib wrong - left out an object - so I rebuilt & installed it. The 2.6.2 tinyxml Makefile didn't have an install section, so I installed the files manually. To summarize the whole thing, this is what I did:

[get the 2.6.2 tinyxml source from http://sourceforge.net/projects/tinyxml/...xml/2.6.2/]
make
ar rc libtinyxml.a tinyxml.o tinyxmlparser.o tinyxmlerror.o tinystr.o
cp libtinyxml.a /usr/local/bin

Now... I wasn't sure where the header should go, but I knew it was needed, so I initially put it in /usr/local/includes/tinyxml. Not sure that was right, as I got a xbmc make error:

CPP xbmc/cores/dvdplayer/Edl.o
In file included from Edl.cpp:28:
/root/xmbcTestBuild/xbmc/xbmc/utils/XBMCTinyXML.h:41:21: error: tinyxml.h: No such file or directory
In file included from Edl.cpp:28

Wasn't sure the right way to fix that, so I changed XBMCTinyXML.h to use "tinyxml.h" instead of <tinyxml.h> and then copied tinyxml.h to ../xbmc/utils

Also I added #define TIXML_USE_STL to the top of tinyxml.h.

Then I was able to find out I needed GnuTLS. Got that installed then had some linker errors, and so I decided to git clean, etc & start again making just these changes plus the patch for taglib. Seems like it's almost there as I got an xbmc.a now. Now I am getting an error for JSONVariantParser.cpp make which I think is due to yajl version on CentOS being old. Still looking at this one...
Reply
#14
the header should be in /usr/include/tinyxml.h or /usr/local/include/tinyxml.h
Reply
#15
Yeah thanks, I was also able to figure the proper location through trial and error & looking at the configure file. So that, plus doing an updated yajl build and install has propelled me into the kodi.bin linkage area now. Alas, something is still goofy with tinyxml. I think it must be related to the TIXML_USE_STL #define somehow. Not sure, still doinkin with it, but this is where the linker is chokin:

Code:
...
AR      xbmc/xbmc.a
LD      kodi.bin
xbmc/settings/settings.a(AdvancedSettings.o):(.data.rel.ro._ZTV12CXBMCTinyXML[vtable for CXBMCTinyXML]+0x50): undefined reference to `TiXmlDocument::StreamIn(std::basic_istream<char, std::char_traits<char> >*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
xbmc/video/video.a(VideoInfoTag.o): In function `CVideoInfoTag::ParseNative(TiXmlElement const*, bool)':
/root/xmbcTestBuild/xbmc/xbmc/video/VideoInfoTag.cpp:629: undefined reference to `operator<<(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, TiXmlNode const&)'
/root/xmbcTestBuild/xbmc/xbmc/video/VideoInfoTag.cpp:769: undefined reference to `operator<<(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, TiXmlNode const&)'
/root/xmbcTestBuild/xbmc/xbmc/video/VideoInfoTag.cpp:756: undefined reference to `operator<<(std::basic_ostream<char, std::char_traits<char> >&, TiXmlNode const&)'
/root/xmbcTestBuild/xbmc/xbmc/video/VideoInfoTag.cpp:773: undefined reference to `operator<<(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, TiXmlNode const&)'
xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreams.a(DVDStateSerializer.o): In function `CDVDStateSerializer::DVDToXMLState(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, dvd_state_t const*)':
/root/xmbcTestBuild/xbmc/xbmc/cores/dvdplayer/DVDInputStreams/DVDStateSerializer.cpp:206: undefined reference to `operator<<(std::basic_ostream<char, std::char_traits<char> >&, TiXmlNode const&)'
xbmc/addons/addons.a(AddonManager.o): In function `ADDON::CAddonMgr::LoadAddonDescriptionFromMemory(TiXmlElement const*, boost::shared_ptr<ADDON::IAddon>&)':
/root/xmbcTestBuild/xbmc/xbmc/addons/AddonManager.cpp:868: undefined reference to `operator<<(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, TiXmlNode const&)'
/root/xmbcTestBuild/xbmc/xbmc/addons/AddonManager.cpp:869: undefined reference to `operator<<(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, TiXmlNode const&)'
xbmc/addons/addons.a(AddonManager.o): In function `ADDON::CAddonMgr::AddonsFromRepoXML(TiXmlElement const*, std::vector<boost::shared_ptr<ADDON::IAddon>, std::allocator<boost::shared_ptr<ADDON::IAddon> > >&)':
/root/xmbcTestBuild/xbmc/xbmc/addons/AddonManager.cpp:841: undefined reference to `operator<<(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, TiXmlNode const&)'
/root/xmbcTestBuild/xbmc/xbmc/addons/AddonManager.cpp:842: undefined reference to `operator<<(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, TiXmlNode const&)'
...
Reply

Logout Mark Read Team Forum Stats Members Help
Problem compiling : ButtonTranslator.cpp0