Trouble Running Armagetron on gentoo Linux
$ ls -l /usr/lib/*xml2*
-rw-r--r-- 1 root root 2065824 2006-10-20 18:40 /usr/lib/libxml2.a
-rw-r--r-- 1 root root 803 2006-10-20 18:40 /usr/lib/libxml2.la
lrwxrwxrwx 1 root root 17 2006-10-20 18:40 /usr/lib/libxml2.so -> libxml2.so.2.6.26
lrwxrwxrwx 1 root root 17 2006-10-20 18:40 /usr/lib/libxml2.so.2 -> libxml2.so.2.6.26
-rwxr-xr-x 1 root root 1292192 2006-10-20 18:40 /usr/lib/libxml2.so.2.6.26
-rw-r--r-- 1 root root 201 2006-10-20 18:40 /usr/lib/xml2Conf.sh
-rw-r--r-- 1 root root 2065824 2006-10-20 18:40 /usr/lib/libxml2.a
-rw-r--r-- 1 root root 803 2006-10-20 18:40 /usr/lib/libxml2.la
lrwxrwxrwx 1 root root 17 2006-10-20 18:40 /usr/lib/libxml2.so -> libxml2.so.2.6.26
lrwxrwxrwx 1 root root 17 2006-10-20 18:40 /usr/lib/libxml2.so.2 -> libxml2.so.2.6.26
-rwxr-xr-x 1 root root 1292192 2006-10-20 18:40 /usr/lib/libxml2.so.2.6.26
-rw-r--r-- 1 root root 201 2006-10-20 18:40 /usr/lib/xml2Conf.sh
I declare a broken package, which is a finger-pointing way of saying "I'm stumped now"
Check out my YouTube channel: https://youtube.com/@davefancella?si=H--oCK3k_dQ1laDN
Be the devil's own, Lucifer's my name.
- Iron Maiden
Be the devil's own, Lucifer's my name.
- Iron Maiden
I discovered something interesting. All the libraries I need are hiding in usr/lib, while Arma is trying to get to them in usr/local/lib. there happens to be only one lib file in there and its not the right one.
here's an article I found concerning conventions for libraries, shared and whatnot:
http://tldp.org/HOWTO/Program-Library-H ... aries.html
Now I'd like to find out how to either a) have it so arma looks for the libraries it needs in the right directory or less desirabley, b) to set up the system so that it regularly looks in usr/local/lib for libraries if option a isnt possible.
any thoughts?
edit: oops, I may be wrong here since I think I'm confusing what happened with my system with some of the other (similar) errors I've found online while searching for a solution. Still this seems like an easily fixed problem if all it is is a misplaced file. any specific version of the xml2 library I should be using?
here's an article I found concerning conventions for libraries, shared and whatnot:
http://tldp.org/HOWTO/Program-Library-H ... aries.html
Now I'd like to find out how to either a) have it so arma looks for the libraries it needs in the right directory or less desirabley, b) to set up the system so that it regularly looks in usr/local/lib for libraries if option a isnt possible.
any thoughts?
edit: oops, I may be wrong here since I think I'm confusing what happened with my system with some of the other (similar) errors I've found online while searching for a solution. Still this seems like an easily fixed problem if all it is is a misplaced file. any specific version of the xml2 library I should be using?
AA requires version 2.6 of libxml2. 2.6.12 if you want to be sure to be able to use it even when new resource formats come out.Dreforian wrote:any specific version of the xml2 library I should be using?
But, umm, the libraries actually belong into /usr/lib, here's my listing (gentoo):
Code: Select all
manuel@gonzo ~ $ ls /usr/lib/libxml2* -l
-rw-r--r-- 1 root root 1270916 Aug 12 14:32 /usr/lib/libxml2.a
-rw-r--r-- 1 root root 801 Aug 12 14:32 /usr/lib/libxml2.la
lrwxrwxrwx 1 root root 17 Aug 12 14:32 /usr/lib/libxml2.so -> libxml2.so.2.6.26
lrwxrwxrwx 1 root root 17 Aug 12 14:32 /usr/lib/libxml2.so.2 -> libxml2.so.2.6.26
-rwxr-xr-x 1 root root 973036 Aug 12 14:32 /usr/lib/libxml2.so.2.6.26
Code: Select all
manuel@gonzo ~ $ ldd /usr/bin/armagetronad
linux-gate.so.1 => (0xffffe000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7f60000)
libSDL_image-1.2.so.0 => /usr/lib/libSDL_image-1.2.so.0 (0xb7f48000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb7f2e000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb7f11000)
libz.so.1 => /lib/libz.so.1 (0xb7f02000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0xb7e9d000)
libGL.so.1 => //usr//lib/opengl/nvidia/lib/libGL.so.1 (0xb7e23000)
libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb7dc0000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7cd2000)
libm.so.6 => /lib/tls/libm.so.6 (0xb7cb0000)
libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5 (0xb7bfb000)
libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1 (0xb7bf2000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7ade000)
/lib/ld-linux.so.2 (0xb7f94000)
libpng.so.3 => /usr/lib/libpng.so.3 (0xb7abf000)
libtiff.so.3 => /usr/lib/libtiff.so.3 (0xb7a75000)
libGLcore.so.1 => //usr//lib/opengl/nvidia/lib/libGLcore.so.1 (0xb7324000)
libnvidia-tls.so.1 => //usr//lib/opengl/nvidia/lib/libnvidia-tls.so.1 (0xb7322000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb7315000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb7243000)
libdl.so.2 => /lib/libdl.so.2 (0xb723f000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb723c000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb7235000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb7231000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb722c000)
manuel@gonzo ~ $
If all else fails, unmerging both armagetronad and libxml2, checking that the xml2 files in /usr/lib really are gone, then reemerging amagetronad may help.
poked around the directories you specified and discovered something special
instead of armagetronad, armagetronad-master and armagetronad-stat going into "/usr/games/lib/armagetronad" they went into "/usr/games/lib64/armagetronad"
also, instead of an executable in /usr/games/bin I foun a shell script:
I finally got the game running by changing the first line to GAMES_LIBDIR=/usr/games/lib64/armagetronad
In retrospect I suppose it might have been a good idea to read the stickies in the support forum and post my system specs (running on an amd64 with 64 bit sabayon); might have come to the solution much faster.
then again I did learn a lot poking around
Thanks for the help!
instead of armagetronad, armagetronad-master and armagetronad-stat going into "/usr/games/lib/armagetronad" they went into "/usr/games/lib64/armagetronad"
also, instead of an executable in /usr/games/bin I foun a shell script:
since when I merged armagetronad it created usr/games/lib64 and put files in there instead of in usr/games/lib the shell script in usr/games/bin was pointing to files that werent there.#!/bin/bash
#
# starts Armagetron Advanced from the installation directory
GAMES_LIBDIR=/usr/games/lib/armagetronad
GAMES_DATADIR=/usr/share/games
GAMES_SYSCONFDIR=/etc/games
PN=armagetronad
if test ! -r $HOME/.armagetronad ; then
mkdir $HOME/.armagetronad
if test -r $HOME/.ArmageTronrc ; then
#migrage very old configuration
echo "Porting very old configuration..."
mkdir $HOME/.armagetronad/var
mv $HOME/.ArmageTronrc $HOME/.armagetronad/var/user.cfg
fi
fi
if test ! -r $HOME/.armagetronad/var ; then
#migrate old configuration
files=$( find $HOME/.armagetronad -type f -maxdepth 1 )
mkdir $HOME/.armagetronad/var
test "$files" != "" && echo "Porting old configuration..." && mv $files $HOME/.armagetronad/var
fi
if test "x$1" = "x-h" ; then
echo -e "\n\nTo uninstall Armagetron Advanced, type armagetronad --uninstall."
fi
if test "x$1" = "x--uninstall" ; then
emerge unmerge armagetronad
else
$GAMES_LIBDIR/$PN --datadir $GAMES_DATADIR/$PN --configdir $GAMES_SYSCONFDIR/$PN \
--userdatadir $HOME/.armagetronad $*
fi
I finally got the game running by changing the first line to GAMES_LIBDIR=/usr/games/lib64/armagetronad
In retrospect I suppose it might have been a good idea to read the stickies in the support forum and post my system specs (running on an amd64 with 64 bit sabayon); might have come to the solution much faster.
then again I did learn a lot poking around

Thanks for the help!
Glad it's resolved, but that script is strange. It looks like the old startup script from 0.2.7, but you were having problems with xml2 which is only used since 0.2.8. What version of AA does your portage tell you it would install? Could you attach the ebuild file here? We may want to bump this thread to its maintainer so he can make special provisions for systems with lib64.
I forgot to look for this when I on my gentoo system so I looked it up at home on http://www.gentoo-portage.com which returned only one unmasked ebuild each for arma and arma-ded ( which look like the same ones I used, tagged with amd64)
ebuild for armagetronad:

ebuild for armagetronad:
cant attach ebuilds appearently# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/games-action/armagetronad/armagetronad-0.2.7.1-r1.ebuild,v 1.2 2006/09/08 05:49:06 dertobi123 Exp $
inherit flag-o-matic eutils games
DESCRIPTION="3d tron lightcycles, just like the movie"
HOMEPAGE="http://armagetronad.sourceforge.net/"
SRC_URI="mirror://sourceforge/armagetronad/${P}.tar.bz2
!dedicated? (
http://armagetron.sourceforge.net/addon ... nds_fq.zip
http://armagetron.sourceforge.net/addons/moviepack.zip
)"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc x86"
IUSE="dedicated"
RDEPEND="
!dedicated? (
sys-libs/zlib
virtual/opengl
virtual/glu
media-libs/libsdl
media-libs/sdl-image
media-libs/jpeg
media-libs/libpng )"
DEPEND="${RDEPEND}
!dedicated? ( app-arch/unzip )"
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/${P}-gcc4.patch
epatch "${FILESDIR}"/${P}-security-1.patch
}
src_compile() {
filter-flags -fno-exceptions
if use dedicated; then
egamesconf --disable-glout || die "egamesconf failed"
else
egamesconf || die "egamesconf failed"
fi
emake || die "emake failed"
make documentation || "make doc failed"
}
src_install() {
dohtml doc/*.html
docinto html/net
dohtml doc/net/*.html
newicon tron.ico ${PN}.ico
exeinto "${GAMES_LIBDIR}/${PN}"
if use dedicated; then
doexe src/tron/${PN}-dedicated || die "copying files"
else
doexe src/tron/${PN} || die "copying files"
fi
doexe src/network/armagetronad-* || die "copying files"
insinto "${GAMES_DATADIR}/${PN}"
doins -r log language || die "copying files"
if ! use dedicated; then
doins -r arenas models sound textures music || die "copying files"
fi
insinto "${GAMES_SYSCONFDIR}/${PN}"
doins -r config/* || die "copying files"
if use dedicated; then
dogamesbin "${FILESDIR}/${PN}-ded"
fi
cd "${S}"
insinto "${GAMES_DATADIR}/${PN}"
if ! use dedicated; then
dogamesbin "${FILESDIR}/${PN}"
insinto "${GAMES_DATADIR}/${PN}"
doins -r ../moviepack ../moviesounds || die "copying movies"
make_desktop_entry armagetronad "Armagetron Advanced" ${PN}.ico
fi
prepgamesdirs
}
