Language: 
To browser these website, it's necessary to store cookies on your computer.
The cookies contain no personal information, they are required for program control.
  the storage of cookies while browsing this website, on Login and Register.

Author Topic:  daimonin linux installer for 0.9.7.1  (Read 7057 times)

0 Members and 0 Guests are viewing this topic.

Garrow

« on: 17, July 2009, 00:57:37 »
Hello

I've put together a Daimonin binary installer for Linux using autopackage, it should be able to install on different flavours of Linux on x86 as a regular user in their home directory.
I have tested it on recent Gentoo and Ubuntu 8.04.3 to install and play Daimonin.

EDIT: Changed download link
http://sourceforge.net/projects/daimonin/files/Client%20Binaries/Linux%20Client%200.9.7.1/daimonin-client-0.9.7.1.x86.package/download

sha256sum
4d34245eb314fbb20e3aae60ced1e05ff9269a302b1b651223a6c927b91e2865  daimonin-client-0.9.7.1.x86.package

If you want to install an autopackage, follow instructions here http://autopackage.org/docs/howto-install/ , if it doesn't work you may need to install some other packages from your Linux distribution beforehand, it should give you some hints of what to do after you run it, if anything else is needed.

I have modified again the Linux Makefile.am and configure.in to support this autopackage build and added an autopackage directory in daimonin/client/make/linux, I can make diffs if there is any interest in it.
Packages are compiled with -O2 -march=i586 -fomit-frame-pointer flags of gcc so they should run optimised for Pentium class CPU or better, the source is the official Daimonin 0.9.7.1 zip with only small patches required for autopackage to work. It includes a dynamic linked physfs library that is installed in home if not found as well. Other packages like sdl are not included, it is assumed that most other common libraries can be installed from the distribution. There are going to be problems with this so please let me know.

I know a few Linux users have trouble compiling applications (not only Daimonin) and thought maybe this would help them getting Daimonin installed on the platform without messing around with gcc and all.
Maybe Daimonin could even be listed officially on the autopackage or zero install repository, spreading the word more.
Please tell me what you think.

Best regards

« Last Edit: 24, July 2009, 15:03:49 by Garrow »
Current char: Iolo

ThePlaneskeeper

« Reply #1 on: 17, July 2009, 05:43:33 »
I think this is a good idea, although something similar has been done in the past.  The problem is having someone maintain it.  If you, or someone else were willing to maintain a distribution package, i think this is a very good idea, if not, then it makes a good one-shot, but is not a good long term solution.

smacky

« Reply #2 on: 17, July 2009, 13:12:15 »
Yeah, just what TPK says about maintaining it. That aside, great stuff! :)

Well, if you are willing to package new releases, just say and we can add you to the devteam, give you svn commit access, etc.

If you don't intend any sort of continued maintenance, thanks very much anyway. I (or someone else) will put your 0971 package on our download page. Please post a tar.gz of the modified Makefil, etc. to the dev mailing list or here so we can update SVN (don't bother wiith diffs -- it's easier just to have the entire file).

Garrow

« Reply #3 on: 17, July 2009, 18:31:16 »
It's not a problem maintaining this, they are quite simple to build once I figured out how to use autopackage and made the required modifications, the only problem I can see is the physfs autopackage dependency as that is out of tree and I had to make my own autopackage for that to include in the "sealed" installer, I include physfs as some distributions might not have packaged this. Have a bit to do as it's the weekend but I'll post back soon with the build files and try porting it to package the development client as well. Thanks for asking me to join the team, maybe I can give a little something back for a change. :)

EDIT: I just figured out what the Tabernacle Bless and Moroch Smite are for.... Sorry if I Smited you..... :-O
« Last Edit: 17, July 2009, 18:35:35 by Garrow »
Current char: Iolo

ThePlaneskeeper

« Reply #4 on: 18, July 2009, 03:15:00 »
LOL, its not the first time smacky nor I have been smited.

On a side note: i agree that the Physfs package is a pain in the behind.  This package is the sole reason why i can not get daimonin to run on OS X.  For some reason Physfs and daimonin and OS X don't like to play nice... if at all?

Perhaps Physfs (is it open source?) should be an actual code piece of Daimonin, and not a separate package.  This might solve some issues with having specific requires.  Just a thought.

On the other side, i'd definitely also welcome a dev member that is willing to maintain Linux packages for us.

Garrow

« Reply #5 on: 18, July 2009, 12:14:32 »
physfs is an open source project http://icculus.org/physfs/
I don't tinker much with OS X as I don't have a Mac but I found this, maybe it could help you getting Daimonin installed on OS X http://physfs.darwinports.com/

It may even be worth looking at making a zero install script, that runs on multiple platforms. I don't have a Mac so couldn't build for the OS X target but was looking at it for packaging up some stuff, autopackage and 0install were what I thought were the best options. They take different approaches and 0install has a package "injector" that you need to install first which is kind of another hurdle. http://0install.net/
Current char: Iolo

michtoen

« Reply #6 on: 18, July 2009, 15:44:37 »
Yeah, thats one thing we have to deal with: On windows and MacOS it is common to include libs like physfs to the package.

Under linux, you have to install the package.

Thats not easy to counter, because under different unix system the way physfs is compiled and implemented is different. Have in mind it use low level libs on that systems. Because that it can even be, that some unix system have to patch the lib first. And so on.

Under windows on the other hand, there is no system to find an installed lib easily. Except its added to /system and added to registry. But thats also not easy, most libs don't do it... and so on.

So, there is no way to escape: For windows we deliver pre-compiled dlls, for mac their lib format and for linux a install list.

The best way of course is, to grap from a lib what we need, rip the code off and add it native to our code. Possible when it comes to open source and we did it for example for Xdelta, which we use in our auto-updater. For a small lib the best way, for physfs critical, for other libs (we have to face this problem on a much bigger scale for the 3D client) simply impossible,

To have an install system is fine, i played around in the past with the installer done by Loki (the guys who did SDL too), but found that system to raw and complicate.

I will check that stuff out when i have time but generally i am very positive to it.
We should make our mind how to use it in future.

Anyway, i still look for a way to make our auto-updater work on linux on the same level as for windows. That means to update also the binary or at last to update the installed sources and auto-compile a new binary.
vita est proelium

smacky

« Reply #7 on: 23, July 2009, 15:08:40 »
Woot!

I finally got round to actually installing this, and it seems to work very nicely (Ubuntu 8.04).

Garrow

« Reply #8 on: 23, July 2009, 16:44:31 »
Thanks for testing, I have a 0.10.0 package built now.
I know it probably would be desirable to have 2 clients installed at the same time as I think they are not network compatible, please correct me if I'm wrong. Are the user settings for the client compatible in ~/.daimonin? Even if they are, would it make sense to have different settings for stable and devel client? Quick looking at code and seems easy patch in main.c to name them with ~/.daimonin-$VERSION if they are not, allowing both to be installed without conflict. What are your thoughts?
Current char: Iolo

smacky

« Reply #9 on: 23, July 2009, 17:16:34 »
Yeah, the client is still all over the place in that regards.

Essentially we have two competing filing systems.

The old system uses the file_path function in filewrap.c to turn a filename (and possibly a directory name (ie, bitmaps/icon.png) into a full path.

This is very basic under Windows (it just prefixes this part with the install dir, so all user settings overwrite the originals!).

Under Linux it uses a bit of intelligence so it writes to ~/.daimonin but reads from the install dir.

But then the new system uses PhysFS. Unfortunately this is not used for writing, and only partially used for reading.

So what needs to be done is to go over all the source and replace all uses of the old system with PhysFS (grep for FILE should indicate which functions need to be modified). With this, filewrap.c can probably be removed entirely. We can do PHYSFS_setWriteDir() on client startup to set a Win equivalent to ~/.daimonin (whatever that may be).

Then, yes write to ~/.daimonin-$VERSION or similar. Probably this is overkill though (when B5 is properly released, the version -- x.y.z as in 0.10.0 should start increasing frequenty (the y and z anyway). So something like a -B5, -B6, etc suffix should be fine.

BTW do you have a SF username (so I can give you SVN commit access)?

Garrow

« Reply #10 on: 24, July 2009, 14:37:45 »
I see now, thanks for the hints, I have to peruse a lot more of the code.

I notice that the package is in the downloads, can this be linked on the autopackage.org package directory? If so, there needs to be a rootname maintained there and will look into what needs to be done to list it. I do know that they ask for 2 email addresses for maintainer and packager then a password gets sent to both emails.

PS. I created a sourceforge account gavinlee303

Cheers
Current char: Iolo

smacky

« Reply #11 on: 24, July 2009, 16:23:17 »
Yeah I just uploaded it to our SF downloads area. Getting it listed on autopackage.org is probably a good plan. Michtoen should of course get the other PW -- maybe he'll chime in or start hassling him on #daimonin (;)).

I added you as a SF dev.

justin666

« Reply #12 on: 28, July 2009, 23:47:15 »
hey i tried out your auto-package program and everything when smoothly and daimonin installed fine(there is an daimonin icon on my games tab under apps) however, when i try to start the daimonin client, nothing happens. it starts loading then nothing happens...can you help?

Garrow

« Reply #13 on: 29, July 2009, 04:35:39 »
Welcome justin666

I would need you to give me more information to debug the problem. Please could you tell me some information about your system, for example,  type of processor and Linux distribution would help much.
Also you could try running this command in a terminal to start Daimonin which may yield more information about the problem.

$HOME/.local/bin/daimonin

Pasting any information from the terminal would be of great help to figure this out, please post back if you get stuck.
Thanks!
Current char: Iolo

smacky

« Reply #14 on: 31, July 2009, 01:48:31 »
Hm, I've just installed on my laptop running Ubuntu 9.04 and have the same problem as justin -- installs fine but does not run (it says Starting Daimonin Client on the taskbar but gives up after about 5 seconds).

There is no~/.local/bin/ even. I've got a ~/.local/share/ with various subdirs, but no daimonin.

OK, it's in /usr/opt/daimonin-0.9.7.1 andthe problem is my laptop is 64bit (always forget that) and the supplied PhysFS is 32bit I guess:
Code: [Select]
julian@julian-laptop:~$ daimonin
/usr/opt/daimonin-0.9.7.1/daimonin: error while loading shared libraries: libphysfs-1.0.so.0: wrong ELF class: ELFCLASS64

What's the workaround?

Tags:
 

Related Topics

  Subject / Started by Replies Last post
8 Replies
1396 Views
Last post 25, September 2006, 22:48:14
by smacky
6 Replies
6629 Views
Last post 10, February 2012, 16:03:27
by smacky
9 Replies
3835 Views
Last post 04, April 2014, 15:25:16
by elwin013
6 Replies
8831 Views
Last post 30, August 2014, 11:46:11
by smacky
2 Replies
626 Views
Last post 25, August 2023, 13:18:03
by asuratva