compilation errors on Ubuntu Hardy
#1
Question 
Trying to build latest svn (16114) I get the following errors:

Code:
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::CGUIViewStateWindowPictures(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::CGUIViewStateWindowPictures(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::CGUIViewStateWindowPrograms(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::CGUIViewStateWindowPrograms(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::CGUIViewStateWindowScripts(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::CGUIViewStateWindowScripts(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+0x210): undefined reference to `CGUIViewState::SaveViewToDb(CStdStr<char> const&, int)'
xbmc/GUIViewStatePicturesProgramsScripts.o: In function `CGUIViewStateWindowScripts::SaveViewState()':
GUIViewStatePicturesProgramsScripts.cpp:(.text+0x238): undefined reference to `CGUIViewState::SaveViewToDb(CStdStr<char> const&, int)'
xbmc/GUIViewStatePicturesProgramsScripts.o: In function `CGUIViewStateWindowPrograms::SaveViewState()':
GUIViewStatePicturesProgramsScripts.cpp:(.text+0x260): undefined reference to `CGUIViewState::SaveViewToDb(CStdStr<char> const&, int)'
xbmc/GUIViewStatePicturesProgramsScripts.o: In function `CGUIViewStateWindowPictures::SaveViewState()':
GUIViewStatePicturesProgramsScripts.cpp:(.text+0x288): 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._ZTV19CGUIWindowGameSaves[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?
Reply
#2
You're using wrong sources as there's no GUIWindowGameSaves.cpp in linuxport Smile
Please see README.linux for the correct checkout path.
Always read the online manual (wiki), FAQ (wiki) and search the forum before posting.
Do not PM or e-mail Team-Kodi members directly asking for support. Read/follow the forum rules (wiki).
Please read the pages on troubleshooting (wiki) and bug reporting (wiki) before reporting issues.
Reply
#3
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?
Reply
#4
drinkypoo Wrote: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 Smile
I don't believe SourceForge offers rsync services. Also, svn is an incremental way to receive updates.

drinkypoo Wrote: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".
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#5
malloc Wrote:I don't believe SourceForge offers rsync services.

Me neither.

malloc Wrote: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.)

malloc Wrote:Give us the output for "svn info".

Gladly.

Code:
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)
Reply
#6
drinkypoo Wrote: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.
Reply
#7
Well, you seem to have the right repo. How about you walk us through your build process.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#8
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
Reply
#9
drinkypoo Wrote: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?
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply

Logout Mark Read Team Forum Stats Members Help
compilation errors on Ubuntu Hardy0