compiling eternity on linux

hi,

when i try to use the make command when compiling the eternity source code i get this error:

make[2]: *** No rule to make target `amx.o', needed by `eternity'. Stop.


im sure this must be pretty simple to fix, but i can't seem to fix it. if anyone could give me some help/ point me in the right direction, that would be appreciated

i am using ubuntu 12.10

cheers

Share this post


Link to post

hey, thanks for your reply.

im still not getting it to work, im probably doing the wrong things.
i've done all the cmake stuff and it complied. what now?

thanks

Share this post


Link to post
freejazzisbetter said:

hey, thanks for your reply.

im still not getting it to work, im probably doing the wrong things.
i've done all the cmake stuff and it complied. what now?

thanks


Did you do exactly what Cat wrote?

i.e.:

  • create a new directory inside the source code directory
  • enter this directory
  • run cmake inside it, but on the code one level up (this is why Cat wrote cmake .. - with two very important dots)
  • still not leaving this new directory -- which now should have all the required files -- you run make
What is the error you get?

Share this post


Link to post

So it's built by starting with cmake? Odd, the INSTALL or README (can't remember which) file told me to run autogen.sh. Is that file still relevant? I'm trying with Ubuntu 12 (not that my hopes are very high that it will work satisfactorily).

Share this post


Link to post

That information is out of date. Autogen is no longer a supported build method.

Share this post


Link to post

Tried using "make install", but it failed because of some libpng dependencies. Shouldn't libpng and the rest be installed as well?

I want to use "make install" because I don't want to be stuck to a folder if I want to run Eternity (I'm not yet comfy with Nautilus' minimalist interface), and I believe that stable applications can coexist well in their bin/ folders.

Share this post


Link to post

Assuming that Eternity gets formally installed on Linux and run from any location, where does it look for base/ and user/? Inside a folder such as "~/.eternity"? Is the "make install" procedure supposed to merge the base/ and user/ folders from the source folder into there?

Share this post


Link to post

thanks your your help. i managed to build it using make, but when i do make install, it comes up with the same error mentioned above:

CMake Error at libpng/cmake_install.cmake:64 (FILE):
file INSTALL cannot find "/home/user/ee-3.40.30-src/build/libpng/libpng.a".
Call Stack (most recent call first):
cmake_install.cmake:38 (INCLUDE)


make: *** [install] Error 1


So this is where im stuck. What can i do next to get the engine running?

Share this post


Link to post

Got the same error. In build directory I went to libpng folder and linked libpng15d.a to libpng.a:

cd libpng
ln -s libpng.a libpng15d.a
cd ../
cpack -G DEB (or however you want to install it)

This worked.

EDIT:
Sorry, didn't realize how old the last post was... BTW can SVN version be checked out somewhere?

Share this post


Link to post

SOLVED.

I built this on Linux Mint 14 x64 and I get this error when I try to run it. What is going on?

john@adeptus-mechanicus $ ~/bin/eternity.real

WARNING: SDL linked version is not the expected version
1.2.15 (linked) != 1.2.14 (expected)
WARNING: SDL_mixer linked version is not the expected version
1.2.12 (linked) != 1.2.11 (expected)
WARNING: SDL_net linked version is not the expected version
1.2.8 (linked) != 1.2.7 (expected)

The Eternity Engine
Copyright 2012 James Haley and Stephen McGranahan
http://www.doomworld.com/eternity

This program is free software distributed under the terms of
the GNU General Public License. See the file "COPYING" for
full details. Commercial sale or distribution of this product
without its license, source code, and copyright notices is an
infringement of US and international copyright laws.

D_SetBasePath: base path does not exist.

Share this post


Link to post

You need to copy the base folder from the source code to the same folder as the eternity engine executable. Ignore the SDL warnings, those should be fine.

EDIT: I also just noticed the posts above, I can look into it on my Linux install, I'll follow up with any patches/suggestions.

Share this post


Link to post

I would like to note the fact that you are getting those SDL version warnings also means you are running a sub-optimal build with all debug code enabled.

I sure wish somebody would help get those build settings worked out. There is no reason that linux users need to be running unoptimized crap.

Share this post


Link to post

What about uploading Eternity to the Linux distros and let them take care of SDL dependencies? It's more humane than trying to build anything with dependencies from source, especially a game.

Share this post


Link to post

DavidPH says you can use

$ cmake -DCMAKE_BUILD_TYPE=Release
in order to get a release build.

Share this post


Link to post

If you're on OS X and if you SVN-checkout the latest release, you'll now be able to use the same cmake+make procedure to build Eternity as a command-line program, just like how it works in Linux and any other Unix. It will result in a simple executable, not an .app as it happens with the Xcode project, but will be easier to run from command-line, like in Windows.

You may need the respective dependencies installed (SDL 1.2, SDL_mixer 1.2, SDL_net 1.2) from their websites or (presumably) MacPorts, as well as the program cmake.

Share this post


Link to post
neubejiita said:

SOLVED.

I built this on Linux Mint 14 x64 and I get this error when I try to run it. What is going on?

john@adeptus-mechanicus $ ~/bin/eternity.real

WARNING: SDL linked version is not the expected version
1.2.15 (linked) != 1.2.14 (expected)
WARNING: SDL_mixer linked version is not the expected version
1.2.12 (linked) != 1.2.11 (expected)
WARNING: SDL_net linked version is not the expected version
1.2.8 (linked) != 1.2.7 (expected)

The Eternity Engine
Copyright 2012 James Haley and Stephen McGranahan
http://www.doomworld.com/eternity

This program is free software distributed under the terms of
the GNU General Public License. See the file "COPYING" for
full details. Commercial sale or distribution of this product
without its license, source code, and copyright notices is an
infringement of US and international copyright laws.

D_SetBasePath: base path does not exist.


You have to set the ETERNITYBASE environment variable. You can do:

export ETERNITYBASE="/home/username/.eternity/base/"
This tells eternity where to look for all the settings and what not; the path must exist with default base folder.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now