RazZziel Posted October 29, 2012 Report Share Posted October 29, 2012 (edited) Hi, I've been packaging 0ad for Linux, I've uploaded a package to https://sourceforge.net/projects/pg4l/files/0%20A.D./0%20A.D.%20a11-r1/download. Feel free to give it a try and tell me if it works correctly on your machine, or if forgot to add any dependency (all dependencies should be included in the package). More info about the file format in http://www.barros2.o...ablelinuxgames/ and http://portablelinuxapps.org/I've found a problem with 0ad having hardcoded absolute paths (/usr/share/0ad/data/ in particular), which makes the game difficult to make portable, but I kind of solved it with good old sed -e "s/\/usr\/share\/0ad\/data/\.\/..\/share\/0ad\/data/g" right in the pyrogenesis binary.Cheers,Ismael Edited November 26, 2012 by RazZziel Quote Link to comment Share on other sites More sharing options...
quantumstate Posted November 11, 2012 Report Share Posted November 11, 2012 I just tried to download this but I get a message that the file does not exist.It sounds like a pretty nice idea though. Quote Link to comment Share on other sites More sharing options...
RazZziel Posted November 12, 2012 Author Report Share Posted November 12, 2012 Thanks for the warning, depositfiles seems to have deleted the file (and some others), I just uploaded it again: http://depositfiles.com/files/n89w1spel Quote Link to comment Share on other sites More sharing options...
quantumstate Posted November 12, 2012 Report Share Posted November 12, 2012 I got it downloaded then hit this:./0 A.D. a11-r1: error while loading shared libraries: libfuse.so.2: wrong ELF class: ELFCLASS64 Quote Link to comment Share on other sites More sharing options...
RazZziel Posted November 12, 2012 Author Report Share Posted November 12, 2012 I got it downloaded then hit this:./0 A.D. a11-r1: error while loading shared libraries: libfuse.so.2: wrong ELF class: ELFCLASS64Is your Linux pure 64 bits? This package is only 32 bits for now, but I think it should work with multilib. Quote Link to comment Share on other sites More sharing options...
quantumstate Posted November 13, 2012 Report Share Posted November 13, 2012 I do have a 64 bit install, I have some sort of support for 32 bit, I remember running some 32 bit stuff in the past. I can't give you any more details that that, i am running Mint 11 if it helps. Quote Link to comment Share on other sites More sharing options...
RazZziel Posted November 13, 2012 Author Report Share Posted November 13, 2012 I googled a little, and looks like you need to have ia32-libs installed. Also you can try this out: http://blog.linuxmint.com/?p=2211Anyway, the packages definitely need more testing and documentation, I should install some VMs with different typical Linux distros. Thanks a lot for trying!I've been thinking about how to add 64bit support, and it looks difficult. It'd be much easier if something like fatelf was commonplace, but I'm afraid it won't happen anytime soon... Quote Link to comment Share on other sites More sharing options...
quantumstate Posted November 13, 2012 Report Share Posted November 13, 2012 I've seen approaches before where you have a simple shell script with binary data appended. Then the shell script uses a command like head to cut out an executable which can be launched.I have ia32-libs installed already, that doesn't seem to work, I haven't tried the suggestion on the forums yet. Quote Link to comment Share on other sites More sharing options...
RazZziel Posted November 13, 2012 Author Report Share Posted November 13, 2012 I've been thinking about this approach, I've not studied it deeply but I think the only think that would be missed would be elficon support (in theory my packages support elficon, but I use KDE so I've never seen the icons so far). I'll give it a shot if I find some time. Quote Link to comment Share on other sites More sharing options...
quantumstate Posted November 13, 2012 Report Share Posted November 13, 2012 I've been thinking about this approach, I've not studied it deeply but I think the only think that would be missed would be elficon support (in theory my packages support elficon, but I use KDE so I've never seen the icons so far). I'll give it a shot if I find some time.I get no elficon showing here in mate with nautilus. Quote Link to comment Share on other sites More sharing options...
RazZziel Posted November 13, 2012 Author Report Share Posted November 13, 2012 Maybe you need to install something, I know this package is supposed to enable elficon support in nautilus, but of course it's another 32bit package. My Archlinux doesn't have anything elficon-related on its repos, maybe Mint has. Quote Link to comment Share on other sites More sharing options...
historic_bruno Posted November 19, 2012 Report Share Posted November 19, 2012 I've found a problem with 0ad having hardcoded absolute paths (/usr/share/0ad/data/ in particular), which makes the game difficult to make portable, but I kind of solved it with good old sed -e "s/\/usr\/share\/0ad\/data/\.\/..\/share\/0ad\/data/g" right in the pyrogenesis binary.Can't you just use the -writableRoot command line option? See readme.txt. Quote Link to comment Share on other sites More sharing options...
RazZziel Posted November 19, 2012 Author Report Share Posted November 19, 2012 Can't you just use the -writableRoot command line option? See readme.txt.Wouldn't think so, the data root is actually read-only (it's inside an ISO image, and mounted on the fly, but still read only)The problem is that the data directory is expected to be in /usr/share/0ad/data, which doesn't exist, as the data directory will be inside /tmp/some_random_mountpoint/usr/share/0ad/data, or ../share/0ad/data, relative to the usr/bin directory from where 0ad is launched. However it's is not a huge issue, a simple sed hack on the 0ad binary fixes the problem. I think the only possible problem would be that, besides not being very elegant, it does change the binary md5, which in some games is used as an anticheat method AFAIK. Quote Link to comment Share on other sites More sharing options...
historic_bruno Posted November 19, 2012 Report Share Posted November 19, 2012 Wouldn't think so, the data root is actually read-only (it's inside an ISO image, and mounted on the fly, but still read only)The problem is that the data directory is expected to be in /usr/share/0ad/data, which doesn't exist, as the data directory will be inside /tmp/some_random_mountpoint/usr/share/0ad/data, or ../share/0ad/data, relative to the usr/bin directory from where 0ad is launched. However it's is not a huge issue, a simple sed hack on the 0ad binary fixes the problem. I think the only possible problem would be that, besides not being very elegant, it does change the binary md5, which in some games is used as an anticheat method AFAIK.Oops, I misunderstood how the portable build is meant to work. But there's no hardcoded paths in 0 A.D. unless you use the specific build options, otherwise custom SVN builds of the game wouldn't work with the bundled data (which is most certainly located in arbitrary relative paths) Quote Link to comment Share on other sites More sharing options...
RazZziel Posted November 19, 2012 Author Report Share Posted November 19, 2012 Oh! I see, then it's ArchLinux's binary build the one to blame. I also see that there's a libdir and bindir parameters that may have been set to absolute paths by Archlinux's build and will probably bring portability problems, I'll look into fixing those in the next release. Quote Link to comment Share on other sites More sharing options...
RazZziel Posted March 11, 2013 Author Report Share Posted March 11, 2013 Hi there, I just uploaded a new version of the 0ad a12, I integrated some CDE magic and now it should run almost anywhere, feel free to test it out http://sourceforge.net/projects/pg4l/files/0%20A.D./0%20A.D.%20a12-r2-archlinux.run/download Quote Link to comment Share on other sites More sharing options...
idanwin Posted March 11, 2013 Report Share Posted March 11, 2013 I'll give it try on my computers and tell you the results. Quote Link to comment Share on other sites More sharing options...
idanwin Posted March 12, 2013 Report Share Posted March 12, 2013 $ ./0\ A.D.\ a12-r2-archlinux.run./0 A.D. a12-r2-archlinux.run: error while loading shared libraries: libfuse.so.2: cannot open shared object file: No such file or directory Quote Link to comment Share on other sites More sharing options...
RazZziel Posted December 28, 2013 Author Report Share Posted December 28, 2013 Gaaaah, I'm sorry idanwin, forum didn't notify melibfuse and glib need to be installed in the system in order to run AppImages, and they're installed by default on most distros (except minimalistic ones like TinyCore). What distro are you using? If you're in a 64bit system with multilib support installed, it may also happen that you lack the 32bit version of libfuse, because for instance in Ubuntu it's pretty tricky to install. I'm working on a script to automate the process, a preliminary version can be found here: https://github.com/RazZziel/p4gl/blob/master/setup64bitSystemForAppImagesBy the way, I'm packing 0 A.D. Alpha 15, to celebrate the victory of the Linux Game Awards contest. I'm finding that in most Live Ubuntus I try the game on, the game runs out o the box, but the ground inside the game is always black until I disable shadows. I receive several shader compilation errors: http://pastebin.com/kzbHiQSG. System info on Mint 15: http://pastebin.com/eUeS7dY3 and main log: http://pastebin.com/WkxSz0wn. Is this a driver problem or a package problem? For now I'm workarrounding the error disabling shadows by default. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.