Page 1 of 1

Compiling instructions no longer valid

Posted: Tue Feb 26, 2013 11:12 am
by tiberiousr
The recent svn changes that deleted Makefile.am, Bootstrap.sh etc ( http://vegastrike.svn.sourceforge.net/v ... w=revision ) mean that it is no longer possible to compile from SVN on linux. Is there a new method or set of isntructions? If so could someone please update the wiki to reflect this.

Thanks.

Re: Compiling instructions no longer valid

Posted: Tue Feb 26, 2013 11:20 am
by charlieg
It uses cmake now, I believe.

Re: Compiling instructions no longer valid

Posted: Tue Feb 26, 2013 11:23 am
by tiberiousr
For those of us that aren't overly familiar with cmake, what would be the syntax for compiling? I'm guessing we start with the usual ./configure and go from there?

EDIT: So I tried

Code: Select all

./configure 
cmake . 
which sort of worked until it broke due to not finding boost. I installed libboost-python1.50-dev and we got a little farther before cmake bombed out with the following:

Code: Select all

-- Compiling mesh_tool without OgreMesh support: Ogre not found
Default build type is Release, no cpu opts enabled. 
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
GLUT_Xmu_LIBRARY (ADVANCED)
    linked by target "vegaserver" in directory /home/tiberious/build/VegaStrike/vegastrike
    linked by target "vegastrike" in directory /home/tiberious/build/VegaStrike/vegastrike
Ok, what? I could manually remove the old build vegastrike and vegaserver binaries but what I can't do now is run make clean to properly scrub the sources because the makefile.am is no longer available. I'm not an expert in this area but I'm guessing my best option is to just delete vegastrike/ and get a fresh checkout and try again.

EDIT2: Nope, cmake still bombs out with the same error. Although now there is no configure script, and from reading through the output I can see that cmake is attempting to do all the auto-configuring itself. So my question now is, what do I need to do fix this configure error?

EDIT3: Installed libogre-dev my output is now:

Code: Select all

tiberious@raggamuffin:~/build/VegaStrike/vegastrike$ cmake .
-- Boost version: 1.49.0
-- Found the following Boost libraries:
--   python
++ Found System Boost : 104900
-- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so
++ OpenGL found : /usr/lib/x86_64-linux-gnu/libGLU.so;/usr/lib/x86_64-linux-gnu/libGL.so;/usr/lib/x86_64-linux-gnu/libSM.so;/usr/lib/x86_64-linux-gnu/libICE.so;/usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
++ GLUT found : /usr/lib/x86_64-linux-gnu/libglut.so;/usr/lib/x86_64-linux-gnu/libXmu.so;/usr/lib/x86_64-linux-gnu/libXi.so
++ Found OpenAL
++ SDL Found
-- Found Vorbis: /usr/lib/x86_64-linux-gnu/libvorbis.so;/usr/lib/x86_64-linux-gnu/libvorbisfile.so;/usr/lib/x86_64-linux-gnu/libogg.so
-- checking for module 'libavcodec'
--   package 'libavcodec' not found
-- FFMPEG Not Found
-- checking for module 'OGRE>=1.2.0'
--   found OGRE, version 1.7.4
-- Found Ogre: 1.7.4
++ Found Ogre: 1.7.4
-- Found GTK2: /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so;/usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so;/usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so;/usr/lib/x86_64-linux-gnu/libgmodule-2.0.so;/usr/lib/x86_64-linux-gnu/libgthread-2.0.so;/usr/lib/x86_64-linux-gnu/libgobject-2.0.so;/usr/lib/x86_64-linux-gnu/libpango-1.0.so;/usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so;/usr/lib/x86_64-linux-gnu/libatk-1.0.so
++ Compiling mesh_tool with OgreMesh support
Default build type is Release, no cpu opts enabled. 
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
Boost_PYTHON_LIBRARY (ADVANCED)
    linked by target "vegaserver" in directory /home/tiberious/build/VegaStrike/vegastrike
    linked by target "vegastrike" in directory /home/tiberious/build/VegaStrike/vegastrike

-- Configuring incomplete, errors occurred!

Re: Compiling instructions no longer valid

Posted: Tue Feb 26, 2013 1:45 pm
by safemode
Clean repo. Pull in boost . mkdir build in top level vegastrike dir. cd build. Run ccmake .. Tweak any build options. Press g to save. Run make. Done.

Re: Compiling instructions no longer valid

Posted: Tue Feb 26, 2013 2:00 pm
by tiberiousr
safemode wrote:Clean repo. Pull in boost . mkdir build in top level vegastrike dir. cd build. Run ccmake .. Tweak any build options. Press g to save. Run make. Done.
Which version of boost and where from?

Re: Compiling instructions no longer valid

Posted: Tue Feb 26, 2013 2:06 pm
by safemode
It should be back as an external repo. Just run svn up inside vegastrike and it should pull all avail versions. If not then that will be fixed later today. But from your cmake output, you already have it. So move to next step

Re: Compiling instructions no longer valid

Posted: Tue Feb 26, 2013 2:12 pm
by tiberiousr
ccmake won't save when I hit g, if I hit c it shows the following:

Code: Select all

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
 Please set them or make sure they are set and tested correctly in the CMake files:
 Boost_PYTHON_LIBRARY (ADVANCED)
     linked by target "vegastrike" in directory /home/tiberious/build/VegaStrike/vegastrike

Re: Compiling instructions no longer valid

Posted: Tue Feb 26, 2013 3:13 pm
by safemode
Either the svn wasn't fully reverted to before I played in trunk or you are not running cmake from inside the "build" dir you have to create yourself

Check that system boost option is not enabled. If so then repo wasn't fully reverted. Will fix later today... You could also co a revision that is prior to my commits to trunk that removed boost there. till i look at repo after work

Re: Compiling instructions no longer valid

Posted: Tue Feb 26, 2013 3:24 pm
by tiberiousr
Looks like the repo isn't pulling in any versions of boost so I'll leave it for now and run an svn up tomorrow and try again. Thanks for taking the time to look at this.

Re: Compiling instructions no longer valid

Posted: Tue Feb 26, 2013 5:20 pm
by klauss
@safemode: I didn't fully revert. I retained some of your modifications regarding boost and autotools removal.

I think I already reverted the requirement for 1.50, and cmake should require only 1.40 and compatible versions.

@tiberiousr: The problem I see in those logs is ffmpeg. Disable ffmpeg by toggling the appropriate option in ccmake, and try to configure again.

Just in case, remove the cache, by doing "rm CMakeCache.txt" inside the build dir.

Re: Compiling instructions no longer valid

Posted: Tue Feb 26, 2013 6:11 pm
by safemode
Well if you didn't fully revert trunk, it will be broken since it was system boost only then. It should be reverted to before any of my recent changes. Ideally we would be doing py3 in trunk. Like it should be since 0.6 is where we are heading. People wishing to continue working with 0.5 while they work on getting py3 setup on their dev machines can pull the 0.5 tag.

Eventually I would like trunk/vegastrike and trunk/data to be moved to branch/vs05 and those repos in py3 move to trunk

Re: Compiling instructions no longer valid

Posted: Tue Feb 26, 2013 6:54 pm
by klauss
But most distros now have boost 1.40 or newer, it should work with system boost. In fact, for packaging, we use system boost in all supported distros.

So really, I don't think boost is the problem. I think it could be a broken cache, or a misconfiguration of sorts, because I've seen that error for broken caches.

Anyway, if system boost isn't found, trunk is set up to use the included boost 1.45, which I think is still there as external (not sure, I think). If not, I could add it again.

PS: Nope, not there. I'll add 1.45 again.

EDIT: Or better yet, 1.53

Re: Compiling instructions no longer valid

Posted: Tue Feb 26, 2013 8:11 pm
by safemode
I'd say cut losses. Let people who need to use 0.5 to get the tagged release. Then merge py3 to trunk

Re: Compiling instructions no longer valid

Posted: Tue Feb 26, 2013 10:11 pm
by klauss
safemode wrote:I'd say cut losses. Let people who need to use 0.5 to get the tagged release. Then merge py3 to trunk
Yes, yes, that's the plan, but I'm not in a position to adopt the py3 branch right now.

PS: I just committed what in debian testing is a working internal boost 1.53.0 with explicit py2 requirement. And it fixes those weird SharedPool problems, which were in fact caused by non-member operator== being completely redundant. I still think this is a gcc bug, though. There's no reason to instantiate that operator at the point gcc it says it needs it, and if it is just exploring the possibility of using that operator==, the spec clearly specifies AFAIR that template instantiation errors are to be ignored in such situations.

Re: Compiling instructions no longer valid

Posted: Wed Feb 27, 2013 10:26 am
by tiberiousr
Fresh source checkout, and steps (someone should probably update the wiki for this ;) )

Code: Select all

svn co https://vegastrike.svn.sourceforge.net/svnroot/vegastrike/trunk/vegastrike
cd vegastrike; mkdir build; cd build
ccmake ..
As per the previous posts I disabled ffmpeg, internal boost is now selected by default and I changed the install path /opt/vegastrike (it's just something I do with svn/git source projects that need compiling regularly). Hit 'g' to generate makefiles and then

Code: Select all

make
Everything seems to be compiling just fine now. Thanks for the help guys!