Thread Rating:
  • 2 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ALL SVN USERS: PLEASE UPDATE!(2014 March)
03-06-2014, 01:45 AM, (This post was last modified: 08-19-2014, 05:55 PM by stratokaztr.)
Post: #1
ALL SVN USERS: PLEASE UPDATE!(2014 March)
The changes are ready. Updating is messy -- apologies -- but the new configuration is needed to support multiple games and set the groundwork for modernizing the code and improving portability.

This thread is now unlocked. Please post questions and problems related to these changes in this thread.

Here is a brief summary of the changes. The first part affects Windows and Unix/Linux users. The second part affects only Unix/Linux users.

First Part – Windows and Unix/Linux:
  • * The botinfo sub-directory is moved to the data1 directory.
    * The default.cfg and maps.lst files that are currently in data1 are moved to the arena sub-directory.
    * There are two independent game sub-directories: arena and tactical. The arena sub-directory holds the data and configuration files for alienarena (Unix/Linux) and alienarena.exe (Windows). The tactical sub-directory holds the data and configuration files for aa-tactical-demo (Unix/Linux) and aa-tactical-demo.exe(Windows).
    * Both games use the same dedicated server program, for now.
Second Part: - Unix/Linux Only.
  • * The ~/.codered user data and configuration directory is replaced with ~/.local/share/cor-games. This conforms to the XDG Specification. As noted above there are two independent user game data and configuration sub-directories: arena and tactical.
    * The alternate install option is replaced with a simpler in-place install manual procedure.
    * In the SVN repository, the documentation and icons are moved from the top directory to the unix_dist sub-directory.

What follows is a brief guide for those already updating from the SVN repository. I am working on more detailed instructions that will appear in the unix_dist/INSTALL file and in this forum section, but they are not ready yet. If you are not currently updating from the SVN repository, wait for those. As of SVN Rev. 4357 (August 19, 2014): A new INSTALL document is in unix_dist/. (Better late, than never. Or so they say.) Please report any errors in style or content. Also, anything that makes absolutely no sense.

Note: The version number has been changed to 7.66.1 to avoid confusion.
Note: If the ODE library crashes with ragdolls enabled, disable ragdolls until we get that sorted. I have seen this when running Ubuntu 32-bit 12.04 LTS.

WINDOWS:
  • * Before updating, wait for Irritant to commit new versions of alienarena.exe and aa_tactical_demo.exe. The current executables will not work well with the changes.

    * Backup anything you have customized. Everything in arena, except for botinfo, should be ok, but do backup as a precaution.

    * Since botinfo has moved to data1 some rearranging will be necessary. After updating, recommend that you create a botinfo sub-directory in arena and put bot-related custom, 3rd-party and legacy files there.

    * Warning: when you run update, there will be a lot of activity.

If you will be running a dedicated server, skip to "DEDICATED SERVERS", below.

UNIX/GNU-LINUX:
  • * Before updating, backup everything in arena and botinfo.

    * Also, before updating, run make clean in your SVN directory. It would also be a good idea to run make uninstall to remove an existing standard installation.

    * Since botinfo has moved to data1 some rearranging will be necessary. After updating, recommend that you create a botinfo sub-directory in arena and put bot-related custom, 3rd-party and legacy files there.

    * After updating, if you are impatient, the usual ./configure && make && sudo make install command sequence will work. However, see below for some recommended ways to do it better.

    * After updating, start and exit the program once without doing any changes. Then move custom files that were in ~/.codered) to ~/.local/share/cor-games.

Recommendations:
  • * Add --enable-silent-rules to the ./configure command line. That will reduce the output from the build. It used to be enabled by default, but it turns out that is considered to be bad practice.

    * There will still be a lot of output. I do this to redirect output to log files:
    ** make 1>build.log 2>&1
    ** sudo make install 1>install.log 2>&1

    * Before running ./configure, set compiler options:

    ** export CFLAGS="-O3 -g -pipe -march=native -fset-stackprotector-all"
    ** export CFLAGS="-O3 -g -pipe -march=native -fstack-protector-all"

    * If you do an update and only .c and .h files were updated, then do make && sudo make install-exec. That is faster than sudo make install.


WHAT! No ALTERNATE INSTALL!?

We have a new, improved "In-Place Install". method for running using the SVN data directories.

What it is for: The standard installation installs only what is in a distribution tarball. It does not install test maps, map sources, and various other resources. Also, certain Makefiles need to be updated when new resources are added; this may not happen fast enough for you. If you are not a developer or a map maker, then you probably do not need this.

How it works: After building, copy the executables (or a subset thereof) from source to the top svn directory. For instance, in the top directory: cp source/alienarena . (<-dot for cwd). Then run the program from that location: ./alienarena. In a terminal, change to the top-level SVN directory. Since the regular install will put the programs in the PATH, you can just run the program so its CWD (current working directory) is the top-level SVN directory. The program will then use the SVN data1, arena and tactical instead of the usual shared data directories. It still uses ~/.local/share/cor-games for downloaded data and configuration. Caution: Unless you put the svn top directory in your PATH, running without the "./" will run the executable from the standard installation.
In the game console, run the path command to see where the program is searching for game data.

Note: This works in addition to the standard installation. If you really do not want that, do not run sudo make install. In that case, you would need to copy the programs to the top-level SVN directory, and run them from there with ./alienarena, for instance.

DEDICATED SERVER:

At this time, the same dedicated server executable runs both Alien Arena and Alien Arena Tactical Demo. For a Tactical Server, add +set game tactical to the start of the command line. For Windows, starting a dedicated server from the menu might still work, but is not thoroughly tested and debugged; the Arena client will run an Arena Server and the Tactical client will run a Tactical Server.

Recommendation: To try out Tactical locally, run a dedicated server with port set to 27910. Then run the client with port set to something else. Connect to the server using the "Join Server" menu.
Cool  Pie fixes everything. So does BACON!
Reply
03-09-2014, 10:42 AM,
Post: #2
RE: ALL SVN USERS: UPDATES! (2014 March)
Build is failing here, with output:

/usr/bin/ld: unix/alienarena-gl_glx.o: undefined reference to symbol 'XPending'
/usr/lib/libX11.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:1368: recipe for target 'alienarena' failed
make[1]: *** [alienarena] Error 1
make[1]: Leaving directory '/home/nic/src/alienarena/source'
Makefile:572: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

Any clues? Using Arch linux 64 bit with alternate install.



Reply
03-09-2014, 11:36 AM,
Post: #3
RE: ALL SVN USERS: UPDATES! (2014 March)
a first quick run seems to work.

question:

i suppose these changes are serverside too.
want me to update and try those too?
Ban? Who Can I Ban???
Reply
03-09-2014, 06:08 PM,
Post: #4
RE: ALL SVN USERS: UPDATES! (2014 March)
(03-09-2014, 10:42 AM)xenos Wrote: Build is failing here, with output:

/usr/bin/ld: unix/alienarena-gl_glx.o: undefined reference to symbol 'XPending'
/usr/lib/libX11.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:1368: recipe for target 'alienarena' failed
make[1]: *** [alienarena] Error 1
make[1]: Leaving directory '/home/nic/src/alienarena/source'
Makefile:572: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

Any clues? Using Arch linux 64 bit with alternate install.
Somehow the configure did not set up linking to X11 properly. Might be how it ordered the libraries on the command line, or something else. The configure command outputs some info on libs and cflags - what does that show? Also, run ./config.status --config (in the same directory as configure). That will output information on the configuration. Also, would help to see the command line that caused the error.
Cool  Pie fixes everything. So does BACON!
Reply
03-10-2014, 02:02 AM,
Post: #5
RE: ALL SVN USERS: PLEASE UPDATE!(2014 March)
Here is the output from config.status --config '--enable-alternate-install'

Attached is the output from ./configure --enable-alternate-install


Attached Files
.txt   configure.txt (Size: 10.45 KB / Downloads: 8)



Reply
03-10-2014, 05:40 AM,
Post: #6
RE: ALL SVN USERS: PLEASE UPDATE!(2014 March)
(03-10-2014, 02:02 AM)xenos Wrote: Here is the output from config.status --config '--enable-alternate-install'

Attached is the output from ./configure --enable-alternate-install
The configure looks good. Must be something in the command line, which is right before the output you posted in your original post.

I know my post looks like TL;DR, but the info IS significant. There is no alternate install anymore. And, did you make clean before starting the new build?
Cool  Pie fixes everything. So does BACON!
Reply
03-10-2014, 08:02 AM,
Post: #7
RE: ALL SVN USERS: PLEASE UPDATE!(2014 March)
(03-10-2014, 05:40 AM)stratokaztr Wrote: The configure looks good. Must be something in the command line, which is right before the output you posted in your original post.

I know my post looks like TL;DR, but the info IS significant. There is no alternate install anymore. And, did you make clean before starting the new build?
Yeah I did make clean, or rather the script I use did. I did read your post but thought it irrelevant to my issue. I removed the alternate install parts of the script and did a make.

Here is the command

Code:
make[1]: Entering directory '/home/nic/src/alienarena/source'
gcc -DCOR_DATADIR='"/usr/local/share/alienarena"' -I../source/include -pthread       -I/usr/include/freetype2    -g -O2 -ffast-math -fno-strict-aliasing   -o alienarena client/alienarena-cl_ents.o client/alienarena-cl_fx.o client/alienarena-cl_http.o client/alienarena-cl_input.o client/alienarena-cl_inv.o client/alienarena-cl_irc.o client/alienarena-cl_main.o client/alienarena-cl_parse.o client/alienarena-cl_pred.o client/alienarena-cl_scrn.o client/alienarena-cl_stats.o client/alienarena-cl_tent.o client/alienarena-cl_updates.o client/alienarena-cl_view.o client/alienarena-console.o client/alienarena-keys.o client/alienarena-menu.o client/alienarena-qal.o client/alienarena-qmenu.o client/alienarena-snd_file.o client/alienarena-snd_openal.o game/alienarena-q_shared.o qcommon/alienarena-binheap.o qcommon/alienarena-cmd.o qcommon/alienarena-cmodel.o qcommon/alienarena-common.o qcommon/alienarena-crc.o qcommon/alienarena-cvar.o qcommon/alienarena-files.o qcommon/alienarena-htable.o qcommon/alienarena-image.o qcommon/alienarena-libgarland.o qcommon/alienarena-md5.o qcommon/alienarena-mdfour.o qcommon/alienarena-net_chan.o qcommon/alienarena-pmove.o qcommon/alienarena-terrain.o ref_gl/alienarena-r_decals.o ref_gl/alienarena-r_bloom.o ref_gl/alienarena-r_draw.o ref_gl/alienarena-r_image.o ref_gl/alienarena-r_iqm.o ref_gl/alienarena-r_light.o ref_gl/alienarena-r_main.o ref_gl/alienarena-r_math.o ref_gl/alienarena-r_md2.o ref_gl/alienarena-r_mesh.o ref_gl/alienarena-r_misc.o ref_gl/alienarena-r_model.o ref_gl/alienarena-r_particle.o ref_gl/alienarena-r_postprocess.o ref_gl/alienarena-r_program.o ref_gl/alienarena-r_ragdoll.o ref_gl/alienarena-r_script.o ref_gl/alienarena-r_shadowmaps.o ref_gl/alienarena-r_shadows.o ref_gl/alienarena-r_surf.o ref_gl/alienarena-r_terrain.o ref_gl/alienarena-r_text.o ref_gl/alienarena-r_ttf.o ref_gl/alienarena-r_varray.o ref_gl/alienarena-r_vbo.o ref_gl/alienarena-r_vlights.o ref_gl/alienarena-r_warp.o server/alienarena-sv_ccmds.o server/alienarena-sv_ents.o server/alienarena-sv_game.o server/alienarena-sv_init.o server/alienarena-sv_main.o server/alienarena-sv_send.o server/alienarena-sv_user.o server/alienarena-sv_world.o unix/alienarena-gl_glx.o unix/alienarena-glob.o unix/alienarena-net_udp.o unix/alienarena-q_shunix.o unix/alienarena-qal_unix.o unix/alienarena-qgl_unix.o unix/alienarena-rw_unix.o unix/alienarena-sys_unix.o unix/alienarena-vid_so.o libgame.a -pthread  -lXxf86vm   -lcurl  -logg  -lvorbis -lvorbisfile  -lfreetype  -lode  -L/usr/lib -lz  -ljpeg -ldl -lm

I don't see an -lX11 at the end of the command with Xxf86vm, no idea how to fix that though, or even if that is the issue.



Reply
03-10-2014, 11:38 AM, (This post was last modified: 03-10-2014, 11:39 AM by stratokaztr.)
Post: #8
RE: ALL SVN USERS: PLEASE UPDATE!(2014 March)
Definitely the problem; caused by an error in source/Makefile.am. Apparently some linkers will fix it automatically, but not the one you are using.

Fixed and in SVN.

Thank you, Mr. xenos!
(03-10-2014, 08:02 AM)xenos Wrote: I don't see an -lX11 at the end of the command with Xxf86vm, no idea how to fix that though, or even if that is the issue.
Cool  Pie fixes everything. So does BACON!
Reply
03-10-2014, 06:25 PM,
Post: #9
RE: ALL SVN USERS: PLEASE UPDATE!(2014 March)
Fixed, compiling fine now, thanks Strat!
(03-10-2014, 11:38 AM)stratokaztr Wrote: Definitely the problem; caused by an error in source/Makefile.am. Apparently some linkers will fix it automatically, but not the one you are using.

Fixed and in SVN.

Thank you, Mr. xenos!
(03-10-2014, 08:02 AM)xenos Wrote: I don't see an -lX11 at the end of the command with Xxf86vm, no idea how to fix that though, or even if that is the issue.



Reply
03-11-2014, 10:26 PM,
Post: #10
RE: ALL SVN USERS: PLEASE UPDATE!(2014 March)
Will crx still search for botinfo where it was, or will it be necessary to fix all the archives at aa3rdparty.org?



Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)