PDA

View Full Version : compilation errors on Ubuntu Hardy


drinkypoo
2008-11-07, 08:19
Trying to build latest svn (16114) I get the following errors:


xbmc/GUIViewStatePicturesProgramsScripts.o: In function `CGUIViewStateWindowPictures::GetSources()':
/usr/include/c++/4.1.3/new:94: multiple definition of `CGUIViewStateWindowPictures::GetSources()'
xbmc/GUIViewStatePictures.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePictures.cpp:86: first defined here
xbmc/GUIViewStatePicturesProgramsScripts.o: In function `CGUIViewStateWindowPictures::GetLockType()':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:63: multiple definition of `CGUIViewStateWindowPictures::GetLockType()'
xbmc/GUIViewStatePictures.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePictures.cpp:71: first defined here
xbmc/GUIViewStatePicturesProgramsScripts.o: In function `CGUIViewStateWindowPictures::GetExtensions()':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:73: multiple definition of `CGUIViewStateWindowPictures::GetExtensions()'
xbmc/GUIViewStatePictures.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePictures.cpp:81: first defined here
xbmc/GUIViewStatePicturesProgramsScripts.o: In function `CGUIViewStateWindowPictures::SaveViewState()':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:58: multiple definition of `CGUIViewStateWindowPictures::SaveViewState()'
xbmc/GUIViewStatePictures.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePictures.cpp:60: first defined here
xbmc/GUIViewStatePicturesProgramsScripts.o: In function `CGUIViewStateWindowPictures::UnrollArchives()':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:68: multiple definition of `CGUIViewStateWindowPictures::UnrollArchives()'
xbmc/GUIViewStatePictures.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePictures.cpp:76: first defined here
xbmc/GUIViewStatePicturesProgramsScripts.o: In function `CGUIViewStateWindowPictures':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:32: multiple definition of `CGUIViewStateWindowPictures::CGUIViewStateWindowP ictures(CFileItemList const&)'
xbmc/GUIViewStatePictures.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePictures.cpp:34: first defined here
xbmc/GUIViewStatePicturesProgramsScripts.o: In function `CGUIViewStateWindowPictures':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:32: multiple definition of `CGUIViewStateWindowPictures::CGUIViewStateWindowP ictures(CFileItemList const&)'
xbmc/GUIViewStatePictures.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePictures.cpp:34: first defined here
xbmc/GUIViewStatePrograms.o: In function `CGUIViewStateWindowPrograms::GetExtensions()':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePrograms.cpp:68: multiple definition of `CGUIViewStateWindowPrograms::GetExtensions()'
xbmc/GUIViewStatePicturesProgramsScripts.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:111: first defined here
xbmc/GUIViewStatePrograms.o: In function `CGUIViewStateWindowPrograms::GetLockType()':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePrograms.cpp:63: multiple definition of `CGUIViewStateWindowPrograms::GetLockType()'
xbmc/GUIViewStatePicturesProgramsScripts.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:106: first defined here
xbmc/GUIViewStatePrograms.o: In function `CGUIViewStateWindowPrograms::GetSources()':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePrograms.cpp:73: multiple definition of `CGUIViewStateWindowPrograms::GetSources()'
xbmc/GUIViewStatePicturesProgramsScripts.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:116: first defined here
xbmc/GUIViewStatePrograms.o: In function `CGUIViewStateWindowPrograms::SaveViewState()':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePrograms.cpp:52: multiple definition of `CGUIViewStateWindowPrograms::SaveViewState()'
xbmc/GUIViewStatePicturesProgramsScripts.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:101: first defined here
xbmc/GUIViewStatePrograms.o: In function `CGUIViewStateWindowPrograms':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePrograms.cpp:34: multiple definition of `CGUIViewStateWindowPrograms::CGUIViewStateWindowP rograms(CFileItemList const&)'
xbmc/GUIViewStatePicturesProgramsScripts.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:83: first defined here
xbmc/GUIViewStatePrograms.o: In function `CGUIViewStateWindowPrograms':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePrograms.cpp:34: multiple definition of `CGUIViewStateWindowPrograms::CGUIViewStateWindowP rograms(CFileItemList const&)'
xbmc/GUIViewStatePicturesProgramsScripts.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:83: first defined here
xbmc/GUIViewStateScripts.o: In function `CGUIViewStateWindowScripts::SaveViewState()':
/usr/include/c++/4.2/new:105: multiple definition of `CGUIViewStateWindowScripts::SaveViewState()'
xbmc/GUIViewStatePicturesProgramsScripts.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:135: first defined here
xbmc/GUIViewStateScripts.o: In function `CGUIViewStateWindowScripts::GetExtensions()':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStateScripts.cpp:52: multiple definition of `CGUIViewStateWindowScripts::GetExtensions()'
xbmc/GUIViewStatePicturesProgramsScripts.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:140: first defined here
xbmc/GUIViewStateScripts.o: In function `CGUIViewStateWindowScripts::GetSources()':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStateScripts.cpp:57: multiple definition of `CGUIViewStateWindowScripts::GetSources()'
xbmc/GUIViewStatePicturesProgramsScripts.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:145: first defined here
xbmc/GUIViewStateScripts.o: In function `CGUIViewStateWindowScripts':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStateScripts.cpp:33: multiple definition of `CGUIViewStateWindowScripts::CGUIViewStateWindowSc ripts(CFileItemList const&)'
xbmc/GUIViewStatePicturesProgramsScripts.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:121: first defined here
xbmc/GUIViewStateScripts.o: In function `CGUIViewStateWindowScripts':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStateScripts.cpp:33: multiple definition of `CGUIViewStateWindowScripts::CGUIViewStateWindowSc ripts(CFileItemList const&)'
xbmc/GUIViewStatePicturesProgramsScripts.o:/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIViewStatePicturesProgramsScripts.cpp:121: first defined here
xbmc/GUIViewStatePicturesProgramsScripts.o: In function `CGUIViewStateWindowGameSaves::SaveViewState()':
GUIViewStatePicturesProgramsScripts.cpp:(.text+0x2 10): undefined reference to `CGUIViewState::SaveViewToDb(CStdStr<char> const&, int)'
xbmc/GUIViewStatePicturesProgramsScripts.o: In function `CGUIViewStateWindowScripts::SaveViewState()':
GUIViewStatePicturesProgramsScripts.cpp:(.text+0x2 38): undefined reference to `CGUIViewState::SaveViewToDb(CStdStr<char> const&, int)'
xbmc/GUIViewStatePicturesProgramsScripts.o: In function `CGUIViewStateWindowPrograms::SaveViewState()':
GUIViewStatePicturesProgramsScripts.cpp:(.text+0x2 60): undefined reference to `CGUIViewState::SaveViewToDb(CStdStr<char> const&, int)'
xbmc/GUIViewStatePicturesProgramsScripts.o: In function `CGUIViewStateWindowPictures::SaveViewState()':
GUIViewStatePicturesProgramsScripts.cpp:(.text+0x2 88): undefined reference to `CGUIViewState::SaveViewToDb(CStdStr<char> const&, int)'
xbmc/GUIWindowGameSaves.o: In function `CGUIWindowGameSaves::GetDirectory(CStdStr<char> const&, CFileItemList&)':
/home/drink/Software/src/xbmc-linux/XBMC/xbmc/GUIWindowGameSaves.cpp:257: undefined reference to `CUtil::MakeLegalFileName(CStdStr<char> const&, bool)'
xbmc/GUIWindowGameSaves.o:(.rodata._ZTV19CGUIWindowGame Saves[vtable for CGUIWindowGameSaves]+0x14): undefined reference to `CGUIWindow::Load(TiXmlElement*)'
collect2: ld returned 1 exit status
make: *** [xbmc.bin] Error 1

I've read someplace that these are common errors, but I can't find any applicable answers using the site search (every 20 seconds? wtf?) OR with google search on site:xbmc.org. I DID try 'make distclean' which did not help. I got the same error before and after. Can someone help me out here?

vdrfan
2008-11-07, 09:18
You're using wrong sources as there's no GUIWindowGameSaves.cpp in linuxport :)
Please see README.linux (http://xbmc.org/trac/browser/branches/linuxport/XBMC/README.linux) for the correct checkout path.

drinkypoo
2008-11-07, 18:19
I originally followed the Linux readme when I downloaded the svn source tree. Somehow a simple 'svn up' got me the wrong sources. Is there any way to get from where I am now to the correct source tree? I am on dialup and it will literally take me days to do a full checkout because svn (like every other source control system) seems primarily to be a vehicle for corrupting its own repository. My dialup connection flaps and then svn sits there and never terminates; killing it often corrupts the log file.

IMO repo snapshots should be made available via rsync so that users without commit access have some REASONABLE and incremental way to pull updates to source code. But nobody asked me :)

Anyway, I originally pulled the Linux sources, and 'svn up' has apparently given me the wrong repo (or the instructions for pulling the Linux sources have changed?) because I have successfully built a prior version of XBMC for Linux from THIS source repository in the past! What's going on here?

malloc
2008-11-09, 05:22
IMO repo snapshots should be made available via rsync so that users without commit access have some REASONABLE and incremental way to pull updates to source code. But nobody asked me :)
I don't believe SourceForge offers rsync services. Also, svn is an incremental way to receive updates.

Anyway, I originally pulled the Linux sources, and 'svn up' has apparently given me the wrong repo (or the instructions for pulling the Linux sources have changed?) because I have successfully built a prior version of XBMC for Linux from THIS source repository in the past! What's going on here?
Give us the output for "svn info".

drinkypoo
2008-11-09, 16:08
I don't believe SourceForge offers rsync services.

Me neither.

Also, svn is an incremental way to receive updates.

Yes, a bad one. All source code control systems seem mainly to be a vehicle for delivering corrupt repositories. I build a lot of software from sources and have had extensive problems with cvs, svn, git, and monotone. The problems are compounded when using a marginal internet connection. But let's face it, no source code control system should ever corrupt your repository just because you lost a network connection, yet they will ALL do this.

It's not YOUR fault, but it's still true. svn was invented to make up for certain shortcomings of cvs, but IMO they haven't managed to check all the boxes yet. Meanwhile cvsnt has been developed that makes it possible to reasonably continue a failed cvs get, eliminating the second biggest reason to use svn (the first biggest is that cvs is super-likely to corrupt your repo.)

Give us the output for "svn info".

Gladly.

drink@agamemnon:~/Software/src/xbmc-linux$ svn info
Path: .
URL: https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/linuxport
Repository Root: https://xbmc.svn.sourceforge.net/svnroot/xbmc
Repository UUID: 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
Revision: 16114
Node Kind: directory
Schedule: normal
Last Changed Author: monkeyman_67156
Last Changed Rev: 16114
Last Changed Date: 2008-11-05 19:48:22 -0800 (Wed, 05 Nov 2008)

althekiller
2008-11-09, 20:47
All source code control systems seem mainly to be a vehicle for delivering corrupt repositories. I build a lot of software from sources and have had extensive problems with cvs, svn, git, and monotone. The problems are compounded when using a marginal internet connection. But let's face it, no source code control system should ever corrupt your repository just because you lost a network connection, yet they will ALL do this.

Strange. The only problems with corruption of any source repos have been self inflicted. I'd lay the entire blame on said marginal internet connection. You can get source tarballs of any revision using SF's wev SVN browser. Not that DLing 300MB tarballs all the time is a particularly good solution.

malloc
2008-11-09, 22:42
Well, you seem to have the right repo. How about you walk us through your build process.

drinkypoo
2008-11-10, 16:07
I just followed the build instructions, or at least tried to. I updated my repo, CD'd into the XBMC directory, ran configure, and ran make -j3. This failed, so I tried make distclean, then re-run configure, then make -j3, which failed with the above error. I am running configure with just one flag, --prefix=/home/drink/.local

malloc
2008-11-10, 21:27
I just followed the build instructions, or at least tried to. I updated my repo, CD'd into the XBMC directory, ran configure, and ran make -j3. This failed, so I tried make distclean, then re-run configure, then make -j3, which failed with the above error. I am running configure with just one flag, --prefix=/home/drink/.local

Have you tried without that flag?