Compiling instructions no longer valid

Trying to build your own version of Vega Strike and having problems? Unix users, paste your config.log here (stderr output alone is not helpful).
Post Reply
tiberiousr
Star Pilot
Star Pilot
Posts: 6
Joined: Tue Feb 26, 2013 11:09 am

Compiling instructions no longer valid

Post 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.
charlieg
Elite Mercenary
Elite Mercenary
Posts: 1329
Joined: Thu Mar 27, 2003 11:51 pm
Location: Manchester, UK
Contact:

Re: Compiling instructions no longer valid

Post by charlieg »

It uses cmake now, I believe.
Free Gamer - free software games compendium and commentary!
FreeGameDev forum - open source game development community
tiberiousr
Star Pilot
Star Pilot
Posts: 6
Joined: Tue Feb 26, 2013 11:09 am

Re: Compiling instructions no longer valid

Post 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!
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: Compiling instructions no longer valid

Post 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.
Ed Sweetman endorses this message.
tiberiousr
Star Pilot
Star Pilot
Posts: 6
Joined: Tue Feb 26, 2013 11:09 am

Re: Compiling instructions no longer valid

Post 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?
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: Compiling instructions no longer valid

Post 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
Ed Sweetman endorses this message.
tiberiousr
Star Pilot
Star Pilot
Posts: 6
Joined: Tue Feb 26, 2013 11:09 am

Re: Compiling instructions no longer valid

Post 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
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: Compiling instructions no longer valid

Post 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
Ed Sweetman endorses this message.
tiberiousr
Star Pilot
Star Pilot
Posts: 6
Joined: Tue Feb 26, 2013 11:09 am

Re: Compiling instructions no longer valid

Post 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.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Compiling instructions no longer valid

Post 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.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: Compiling instructions no longer valid

Post 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
Ed Sweetman endorses this message.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Compiling instructions no longer valid

Post 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
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: Compiling instructions no longer valid

Post 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
Ed Sweetman endorses this message.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Compiling instructions no longer valid

Post 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.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
tiberiousr
Star Pilot
Star Pilot
Posts: 6
Joined: Tue Feb 26, 2013 11:09 am

Re: Compiling instructions no longer valid

Post 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!
Post Reply