Linux compile error using latest from github
#1
ubuntu 12.04

steps to git:
git clone git://github.com/xbmc/xbmc.git
cd xbmc
git pull
./bootstrap
./configure --prefix=/usr --enable-libbluray
make -j2

XBMC version 11.9.7 (libprojectM compile error2)
$ ./configure --prefix=/usr --enable-libbluray

## --------- ##
## Platform. ##
## --------- ##

hostname = XBMC
uname -m = i686
uname -r = 3.2.0-30-generic-pae
uname -s = Linux
uname -v = #48-Ubuntu SMP Fri Aug 24 17:14:09 UTC 2012

#define PACKAGE_VERSION "11.9.7"
| #define PACKAGE_STRING "xbmc 11.9.7"
| #define PACKAGE_BUGREPORT "http://trac.xbmc.org"

It seems that when making the visualizations projectM is where my problem is. The other visualizations compile fine.

make[4]: Leaving directory `/home/XBMC/Programs/xbmc/xbmc/visualizations/XBMCProjectM/libprojectM'
make[3]: *** [CMakeFiles/projectM.dir/all] Error 2
make[3]: Leaving directory `/home/XBMC/Programs/xbmc/xbmc/visualizations/XBMCProjectM/libprojectM'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/XBMC/Programs/xbmc/xbmc/visualizations/XBMCProjectM/libprojectM'
make[1]: *** [libprojectM/libprojectM.so] Error 2
make[1]: Leaving directory `/home/XBMC/Programs/xbmc/xbmc/visualizations/XBMCProjectM'
make: *** [xbmc/visualizations/XBMCProjectM] Error 2

It finishes up but does not build an xbmc.bin

I have looked in the makefile but can not find anything related to projectM/XMBCprojectM (libprojectM) to try and comment that portion out. Any suggestions?
Trying to build the latest XBMC and then I will compile the new libcmyth addon for testing.
Reply
#2
run "make" without -j2 and pastebin the last 50 lines of the output.

Also make sure that your git is clean by running:
git clean -Xfd
Reply
#3
Here is the output, this time with a different error. I had installed taglib 1.8 earlier since it wasn't included in the dependencies, maybe I am missing a specific lib. now.


Code:
AR      xbmc/commons/commons.a
LD      xbmc.bin
xbmc/music/tags/musictags.a(TagLoaderTagLib.o): In function `CTagLoaderTagLib::ParseID3v2Tag(TagLib::ID3v2::Tag*, MUSIC_INFO::EmbeddedArt*, MUSIC_INFO::CMusicInfoTag&)':
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:368: undefined reference to `TagLib::String::operator!=(TagLib::String const&) const'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:369: undefined reference to `TagLib::String::operator!=(TagLib::String const&) const'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:370: undefined reference to `TagLib::String::operator!=(TagLib::String const&) const'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:371: undefined reference to `TagLib::String::operator!=(TagLib::String const&) const'
xbmc/music/tags/musictags.a(TagLoaderTagLib.o): In function `CTagLoaderTagLib::ParseGenericTag(TagLib::Tag*, MUSIC_INFO::EmbeddedArt*, MUSIC_INFO::CMusicInfoTag&)':
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:529: undefined reference to `TagLib::Tag::properties() const'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:541: undefined reference to `TagLib::PropertyMap::~PropertyMap()'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:541: undefined reference to `TagLib::PropertyMap::~PropertyMap()'
xbmc/music/tags/musictags.a(TagLoaderTagLib.o): In function `CTagLoaderTagLib::Load(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, MUSIC_INFO::CMusicInfoTag&, MUSIC_INFO::EmbeddedArt*)':
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:104: undefined reference to `TagLib::APE::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:106: undefined reference to `TagLib::ASF::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:108: undefined reference to `TagLib::FLAC::File::File(TagLib::IOStream*, TagLib::ID3v2::FrameFactory*, bool, TagLib::AudioProperties::ReadStyle)'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:110: undefined reference to `TagLib::IT::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:112: undefined reference to `TagLib::Mod::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:116: undefined reference to `TagLib::MP4::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:118: undefined reference to `TagLib::MPC::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:120: undefined reference to `TagLib::MPEG::File::File(TagLib::IOStream*, TagLib::ID3v2::FrameFactory*, bool, TagLib::AudioProperties::ReadStyle)'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:122: undefined reference to `TagLib::S3M::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:124: undefined reference to `TagLib::TrueAudio::File::File(TagLib::IOStream*, TagLib::ID3v2::FrameFactory*, bool, TagLib::AudioProperties::ReadStyle)'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:126: undefined reference to `TagLib::WavPack::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:128: undefined reference to `TagLib::XM::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:130: undefined reference to `TagLib::Vorbis::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:133: undefined reference to `TagLib::Ogg::FLAC::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:137: undefined reference to `TagLib::Vorbis::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
xbmc/music/tags/musictags.a(TagLibVFSStream.o): In function `~TagLibVFSStream':
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLibVFSStream.cpp:60: undefined reference to `TagLib::IOStream::~IOStream()'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLibVFSStream.cpp:60: undefined reference to `TagLib::IOStream::~IOStream()'
xbmc/music/tags/musictags.a(TagLibVFSStream.o): In function `TagLibVFSStream':
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLibVFSStream.cpp:41: undefined reference to `TagLib::IOStream::IOStream()'
/home/XBMC/Programs/xbmc/xbmc/music/tags/TagLibVFSStream.cpp:41: undefined reference to `TagLib::IOStream::~IOStream()'
xbmc/music/tags/musictags.a(TagLibVFSStream.o):(.data.rel.ro._ZTIN10MUSIC_INFO15TagLibVFSStreamE[typeinfo for MUSIC_INFO::TagLibVFSStream]+0x8): undefined reference to `typeinfo for TagLib::IOStream'
collect2: ld returned 1 exit status
make: *** [xbmc.bin] Error 1
Reply
#4
Wrong taglib version. Remove all taglib versions from your system and build the one delivered with xbmc

make -C lib/taglib && sudo make -C lib/taglib install
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
#5
(2012-10-22, 10:13)Memphiz Wrote: Wrong taglib version. Remove all taglib versions from your system and build the one delivered with xbmc

make -C lib/taglib && sudo make -C lib/taglib install

Probably not a good idea to remove all taglib versions, this will break a lot of ubuntu desktop stuff.
Its sufficient to remove libtag-dev.
Reply
#6
no need to remove the -dev either. the whole point of installing it to /usr/local and only building static is to allow it to coexist.
Reply
#7
(2012-10-22, 12:34)spiff Wrote: no need to remove the -dev either. the whole point of installing it to /usr/local and only building static is to allow it to coexist.

I've tried that several times, it does not work if libtag1-dev (<=1.7) is installed. Imho the reason is wrong include paths in xbmc.

I've opened a PR to fix it, but never received a response if its correct or not:
https://github.com/xbmc/xbmc/pull/1508
Reply
#8
(2012-10-22, 10:13)Memphiz Wrote: Wrong taglib version. Remove all taglib versions from your system and build the one delivered with xbmc

make -C lib/taglib && sudo make -C lib/taglib install

Thank you for pointing me in the right direction. I installed the taglib 1.8 from tarball and then did the make that would put the lib in the path for Ubuntu repo updates. I did not read that far into the README file, just went as far as the sudo apt-get install LIBS cmd line. I guess I need to read from the very beginning from now on within the readme file. Smile

Up and running and the libcmyth addon group has really come a far way with getting the PVR functionality working with the Mythtv-backend. Thank you again for responding so quickly.
Reply
#9
I get the same error. (ubuntu 12.04 ) and source is: git clone git://github.com/xbmc/xbmc.git xbmc
I followed the steps in README.ubuntu and README.linux
I made sure I did the make taglib and install
then I did the bootstrap and configure.
the make step fails with the Tag errors that is reported here.
I tried with a clean install again all the way from git. still the same problem.
my /usr/local/lib/ has libtag.a and libtag_c.a
and the /usr/local/include has the *.h that is in the taglib-1.8 sub directory area which came with the git.

==========errors only is pasted below=============================
LD xbmc.bin
xbmc/music/tags/musictags.a(TagLoaderTagLib.o): In function `CTagLoaderTagLib:TonguearseID3v2Tag(TagLib::ID3v2::Tag*, MUSIC_INFO::EmbeddedArt*, MUSIC_INFO::CMusicInfoTag&)':
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:425: undefined reference to `TagLib::String::operator!=(TagLib::String const&) const'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:426: undefined reference to `TagLib::String::operator!=(TagLib::String const&) const'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:427: undefined reference to `TagLib::String::operator!=(TagLib::String const&) const'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:428: undefined reference to `TagLib::String::operator!=(TagLib::String const&) const'
xbmc/music/tags/musictags.a(TagLoaderTagLib.o): In function `CTagLoaderTagLib:TonguearseGenericTag(TagLib::Tag*, MUSIC_INFO::EmbeddedArt*, MUSIC_INFO::CMusicInfoTag&)':
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:641: undefined reference to `TagLib::Tag::properties() const'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:653: undefined reference to `TagLib:TongueropertyMap::~PropertyMap()'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:653: undefined reference to `TagLib:TongueropertyMap::~PropertyMap()'
xbmc/music/tags/musictags.a(TagLoaderTagLib.o): In function `CTagLoaderTagLib::Load(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, MUSIC_INFO::CMusicInfoTag&, MUSIC_INFO::EmbeddedArt*)':
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:106: undefined reference to `TagLib::ID3v2::Tag:ConfusedetLatin1StringHandler(TagLib::ID3v2::Latin1StringHandler const*)'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:124: undefined reference to `TagLib::APE::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:126: undefined reference to `TagLib::ASF::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:128: undefined reference to `TagLib::FLAC::File::File(TagLib::IOStream*, TagLib::ID3v2::FrameFactory*, bool, TagLib::AudioProperties::ReadStyle)'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:130: undefined reference to `TagLib::IT::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:132: undefined reference to `TagLib::Mod::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:136: undefined reference to `TagLib::MP4::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:138: undefined reference to `TagLib::MPC::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:140: undefined reference to `TagLib::MPEG::File::File(TagLib::IOStream*, TagLib::ID3v2::FrameFactory*, bool, TagLib::AudioProperties::ReadStyle)'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:142: undefined reference to `TagLib::S3M::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:144: undefined reference to `TagLib::TrueAudio::File::File(TagLib::IOStream*, TagLib::ID3v2::FrameFactory*, bool, TagLib::AudioProperties::ReadStyle)'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:146: undefined reference to `TagLib::WavPack::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:148: undefined reference to `TagLib::XM::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:150: undefined reference to `TagLib::Vorbis::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:153: undefined reference to `TagLib::Ogg::FLAC::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:158: undefined reference to `TagLib::Vorbis::File::File(TagLib::IOStream*, bool, TagLib::AudioProperties::ReadStyle)'
xbmc/music/tags/musictags.a(TagLoaderTagLib.o): In function `~TagStringHandler':
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:60: undefined reference to `TagLib::ID3v2::Latin1StringHandler::~Latin1StringHandler()'
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:60: undefined reference to `TagLib::ID3v2::Latin1StringHandler::~Latin1StringHandler()'
xbmc/music/tags/musictags.a(TagLoaderTagLib.o): In function `TagStringHandler':
/home/jv/try3/xbmc/xbmc/music/tags/TagLoaderTagLib.cpp:59: undefined reference to `TagLib::ID3v2::Latin1StringHandler::Latin1StringHandler()'
xbmc/music/tags/musictags.a(TagLoaderTagLib.o)Sad.data.rel.ro._ZTI16TagStringHandler[typeinfo for TagStringHandler]+0x10): undefined reference to `typeinfo for TagLib::ID3v2::Latin1StringHandler'
xbmc/music/tags/musictags.a(TagLibVFSStream.o): In function `~TagLibVFSStream':
/home/jv/try3/xbmc/xbmc/music/tags/TagLibVFSStream.cpp:60: undefined reference to `TagLib::IOStream::~IOStream()'
/home/jv/try3/xbmc/xbmc/music/tags/TagLibVFSStream.cpp:60: undefined reference to `TagLib::IOStream::~IOStream()'
xbmc/music/tags/musictags.a(TagLibVFSStream.o): In function `TagLibVFSStream':
/home/jv/try3/xbmc/xbmc/music/tags/TagLibVFSStream.cpp:41: undefined reference to `TagLib::IOStream::IOStream()'
/home/jv/try3/xbmc/xbmc/music/tags/TagLibVFSStream.cpp:41: undefined reference to `TagLib::IOStream::~IOStream()'
xbmc/music/tags/musictags.a(TagLibVFSStream.o)Sad.data.rel.ro._ZTIN10MUSIC_INFO15TagLibVFSStreamE[typeinfo for MUSIC_INFO::TagLibVFSStream]+0x10): undefined reference to `typeinfo for TagLib::IOStream'
collect2: ld returned 1 exit status
make: *** [xbmc.bin] Error 1
jv@jv-HP-G70-Notebook-PC:~/try3/xbmc$
====================================================================
wsnipex:
I also tried your suggestion of the libtag1-dev (I had libtag1-dev in my system in dir called "/usr/share/lintian/overrides"
So I moved it to a different name. Same result on make.
thanks for your help in advance,
JV [/code]Iyer.
Reply
#10
LD xbmc.bin
-----------------------
XBMC built successfully
-----------------------
Ok. on the taglib issue:
since as per the Makefile,LIBS= .....-L/usr/lib/x86_64-linux-gnu is searched before -L/use/local/lib, and there was a "libtag.so" in the former, that was getting picked. I moved the libtag.so out of the way and it compiled. I am thinking that may effect other programs. but nonetheless...
Reply
#11
you can move it back now that xbmc is compiled.
Reply
#12
(2013-03-08, 07:09)jviyer Wrote: MUSIC_INFO::TagLibVFSStream]+0x10): undefined reference to `typeinfo for TagLib::IOStream'
collect2: ld returned 1 exit status
make: *** [xbmc.bin] Error 1
[/code]Iyer.
I had the same problem. I didn't have to copy/rename this lib. I had to only type "make clean" before "make" and it worked.
Reply

Logout Mark Read Team Forum Stats Members Help
compile error using latest from github0