ToME 2 maintenance

Everything about ToME 2.x.x. No spoilers, please

Moderator: Moderator

Message
Author
AnonymousHero
Spiderkin
Posts: 482
Joined: Sat Mar 18, 2006 12:48 pm

Re: ToME 2 maintenance

#181 Post by AnonymousHero »

I'd love to get ToME under the GPL -- and will hereby state publicly that all my T2 code is dual-licensed under the GPL and the T2/Angband license. (I should really get around to add that in the code...)

DarkGod has indicated (at least to me, via PM when I asked about it, nor sure if there's a public thread anywhere about it -- he may have posted before the Great Forum Crash (in which case it's gone). I'm sure we could convince him to announce it again publicly if necessary.

However, there's a lot of code by a lot of authors. Much of the code could perhaps reasonably be assumed to be licensable under GPL as part of the Angband GPL effort, but this is kind of grey area -- it's not clear to me whether the relicensing in that case was a general "sure, use my Angband (specific version) code under GPL" or "sure, use my Angband (any version) code under GPL".

I'm sure Neil Stevens would also need to give his permission. Not sure if he's around on these forums. I also think Furiosity may have to give permission since the integration of Theme into ToME -- a substantial bit of Theme code was moved to C. I took the license in the Furiosty code to be equivalent to the T2/Angband license.)

I guess a major first step would be in finding out who needs to be contacted and if they have been contacted as part of the relicensing effort for Angband -- I imagine this would involve going through the "credits.txt" file and then going through copyright headers in *.c files. I'm pretty sure that effort must have been documented, but I have no idea where.

Finally, we are only talking about relicensing

Code: Select all

 here -- the data files would still be covered under the Angband license (and I believe the same is true of the "new" GPL Angband).

If anyone wants to get this effort started, I'm all for it.

darwin
Higher
Posts: 64
Joined: Mon Nov 10, 2008 2:11 pm
Location: USA
Contact:

Re: ToME 2 maintenance

#182 Post by darwin »

I noticed the TOME binary is in not in /usr/games, but /usr/games/bin, which will not automatically run on most systems. I see I never added it to /etc/profile, so I assume this is another change. Is it ok if I make a package install the binary in /usr/games?

AnonymousHero
Spiderkin
Posts: 482
Joined: Sat Mar 18, 2006 12:48 pm

Re: ToME 2 maintenance

#183 Post by AnonymousHero »

darwin wrote:I noticed the TOME binary is in not in /usr/games, but /usr/games/bin, which will not automatically run on most systems. I see I never added it to /etc/profile, so I assume this is another change. Is it ok if I make a package install the binary in /usr/games?
I don't see any particular problem in installing the binary itself to /usr/games (though I don't see the value of using that particular directory -- whatever floats your boat). As long as the CMAKE_INSTALL_PREFIX is set correctly and the library files are installed to ${CMAKE_INSTALL_PREFIX}/lib/tome, you shouldn't have any problems.

darwin
Higher
Posts: 64
Joined: Mon Nov 10, 2008 2:11 pm
Location: USA
Contact:

Re: ToME 2 maintenance

#184 Post by darwin »

[quote="AnonymousHero"]I don't see any particular problem in installing the binary itself to /usr/games (though I don't see the value of using that particular directory -- whatever floats your boat). As long as the CMAKE_INSTALL_PREFIX is set correctly and the library files are installed to ${CMAKE_INSTALL_PREFIX}/lib/tome, you shouldn't have any problems.[/quote]

Also, /usr/games is traditionally used just for game binaries. There are many other directories used for other files games use, like /usr/lib/games, /usr/share/games, /usr/var/games. I feel that putting a directory in my /usr/games utterly ruins my system layout.

Lord Estraven
Uruivellas
Posts: 718
Joined: Tue Dec 13, 2005 12:35 am

Re: ToME 2 maintenance

#185 Post by Lord Estraven »

Sooo... Has anyone managed to get the git master compiled and running on Windows? If so, can you describe how you did it?

And what about on OSX (presumably via the SDL interface)?

Mind, I have little working knowledge of Windows and none of OSX, but most players in T2's hypothetical future will be on one or the other of those two... :)

Lord Estraven
Uruivellas
Posts: 718
Joined: Tue Dec 13, 2005 12:35 am

Re: ToME 2 maintenance

#186 Post by Lord Estraven »

Okay, I have managed to get halfway with Windows... I think.

Procedure looks like this:

1. Install msysgit (the dev version with MinGW) to somewhere accessible by your user.

2. Install CMake. Add it to PATH (for your user or everyone).

3. Download jansson. Unpack it somewhere, then ./configure, make, and make install.

4. Download and unpack pkg-config. Export CFLAGS="$CFLAGS -march=i486" and run ./configure with --with-internal-glib. Run make and make install.

You now have all the deps for a Win32 build. In theory, you should be able to enter the T2 build directory, run cmake -G "MSYS Makefiles", and then run make...

But in practice pkg-config will fail to find jansson, even though the .pc file for it is in the right place. Not sure why this is.

I'll keep working on it, when I've got the spare time (and when I'm in the mood to pick a fight with a bad OS).

AnonymousHero
Spiderkin
Posts: 482
Joined: Sat Mar 18, 2006 12:48 pm

Re: ToME 2 maintenance

#187 Post by AnonymousHero »

Sounds very promising.

I wonder if we should do a "vendor" import directory where the source of all dependencies is included and could be compiled as static libraries (in place) and included that way. This is a bit of an annoyance for packagers and from a security standpoint, but it might make it easier on Win32. (We could perhaps make this conditional on WIN32.)

Lord Estraven
Uruivellas
Posts: 718
Joined: Tue Dec 13, 2005 12:35 am

Re: ToME 2 maintenance

#188 Post by Lord Estraven »

Umm, we have a problem on the Linux front...

Code: Select all

tome: error while loading shared libraries: libjansson.so.4: cannot open shared object file: No such file or directory
Needless to say libjansson.so.4 is in the library path, and the whole thing compiled fine. Just to make sure I hadn't messed up with Stow, I tried removing jansson and reinstalling it with Slacktrack... No luck whatsoever.

Any idea what commit might have caused this, before I start bisecting? Assuming it's not my fault anyway.

Edit: duh, me stupid. You have you run ldconfig after installing a new library manually. Double duh.

FatGuyLittleCoat
Posts: 2
Joined: Fri Aug 17, 2012 2:43 pm

Re: ToME 2 maintenance

#189 Post by FatGuyLittleCoat »

Does anyone have a windows 7 compatible version of TOME 2.3.X? I tried the floor tile bug fix and it worked great for a bit. Now TOME (even when I reinstall) doesn't work. It'll open the three windows as always, but they are blank. Hitting any key a few times will close the program. TOME 2.3.X is one of my favorite games ever. Please help!

Yottle
Reaper
Posts: 1753
Joined: Sun Jan 26, 2003 11:49 pm
Location: West Virginia

Re: ToME 2 maintenance

#190 Post by Yottle »

FatGuyLittleCoat wrote:Does anyone have a windows 7 compatible version of TOME 2.3.X? I tried the floor tile bug fix and it worked great for a bit. Now TOME (even when I reinstall) doesn't work. It'll open the three windows as always, but they are blank. Hitting any key a few times will close the program. TOME 2.3.X is one of my favorite games ever. Please help!
Can you access the drop-down menus at the top of the main menu? Try changing the window font.

FatGuyLittleCoat
Posts: 2
Joined: Fri Aug 17, 2012 2:43 pm

Re: ToME 2 maintenance

#191 Post by FatGuyLittleCoat »

Thanks!

I rebooted the system and it seems to be working again.

Lord Estraven
Uruivellas
Posts: 718
Joined: Tue Dec 13, 2005 12:35 am

Re: ToME 2 maintenance

#192 Post by Lord Estraven »

FatGuyLittleCoat: were you able to get 2.3.10 compiled on Windows? Because if so that would be great, and I'd love to hear how you managed it.

darwin
Higher
Posts: 64
Joined: Mon Nov 10, 2008 2:11 pm
Location: USA
Contact:

Re: ToME 2 maintenance

#193 Post by darwin »

Is ToME-ah developed for 64-bit only? I made a SlackBuild for v2.3.10-ah and it was refused by the SlackBuilds team because it would not compile under a 32-bit system.

AnonymousHero
Spiderkin
Posts: 482
Joined: Sat Mar 18, 2006 12:48 pm

Re: ToME 2 maintenance

#194 Post by AnonymousHero »

darwin wrote:Is ToME-ah developed for 64-bit only?

Not as a matter of principle, no. In practice it isn't compiled for 32-bit very often, so things may slip through. (Particularly format strings and such.)
darwin wrote: I made a SlackBuild for v2.3.10-ah and it was refused by the SlackBuilds team because it would not compile under a 32-bit system.
If you can get the error messages and post them, I'd be grateful. (I don't have much time, if any, to devote to ToME 2.x at the moment, but I'll get around to it when I can.)

darwin
Higher
Posts: 64
Joined: Mon Nov 10, 2008 2:11 pm
Location: USA
Contact:

Re: ToME 2 maintenance

#195 Post by darwin »

Oops, sorry, there was not a problem with ToME compiling on 32-bit. It was Mangband, which I forgot about, then was thinking more about ToME, which I just made some errors in the build script for. However, I had the following problem. The main part of my SlackBuild is below.

Code: Select all

cmake \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_INSTALL_PREFIX=/usr/share/games/tome \
    -DLIB_SUFFIX=/var/games/tome \
    -DCMAKE_BUILD_TYPE=Release \
    -DSYSTEM_INSTALL:BOOL=true ..
  make 
  make install DESTDIR=$PKG
This is what happened (everything seemed to compile, then there was a linker error.)

Code: Select all

[...]
[100%] Building C object src/CMakeFiles/tome.dir/w_dun.c.o
Linking C executable tome
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: CMakeFiles/tome.dir/main-sdl.c.o: undefined reference to symbol 'truncf@@GLIBC_2.2.5'
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: note: 'truncf@@GLIBC_2.2.5' is defined in DSO /lib64/libm.so.6 so try adding it to the linker command line
/lib64/libm.so.6: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make[2]: *** [src/tome] Error 1
make[1]: *** [src/CMakeFiles/tome.dir/all] Error 2
make: *** [all] Error 2

Post Reply