| Summary: | Jagged Alliance 2 ebuild ( ja2 ) | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Larry Kopenkoskey <ljkopen> |
| Component: | [OLD] Games | Assignee: | Gentoo Games <games> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | enhancement | CC: | jens, ljkopen |
| Priority: | Lowest | Keywords: | EBUILD |
| Version: | unspecified | ||
| Hardware: | x86 | ||
| OS: | Linux | ||
| URL: | none | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
jaggedalliance2-1.06b.ebuild
files/jaggedalliance2-fix.c |
||
|
Description
Larry Kopenkoskey
2006-06-27 20:10:54 UTC
Created attachment 90323 [details]
jaggedalliance2-1.06b.ebuild
Created attachment 90324 [details]
files/jaggedalliance2-fix.c
works nice ... though ja2 works sound glitches that makes it far less playable :( Yes I was noticing that after opening this topic. Using the ebuild, how do we affect /usr/games/bin/ja2 ? If LD_ASSUME_KERNEL=2.4.1 is added before the exec line the sound appears to work properly for me. I'll look at this soon (we have a pending release at work). I've got this game, so I guess I'm the candidate for getting this into the tree. ;] Thanks. I'll try to understand the sound fix which may slow me down a bit. I'm thinking the LD_ASSUME_KERNEL=2.4.1 may work for most, but may be constrained by how glibc was compiled. I believe there is a compt USE flag which allows this to work, but may be missing for some. I'm not sure what I just said is a "real" issue or not, just thoughts. Otherwise, I was also thinking that using lib-compat-loki for the libc portion (like heroes3) may also provide a solution. I shall try to test soon... That is unless someone else already knows? (In reply to comment #6) i can already say that LD_ASSUME_KERNEL=2.4.1 gives me libdl.so.2: cannot open ... Thanks Anton. I'm investigating the lib-loki-compat route currently. Anton, Can you provide the output of "emerge -vp glibc" ? Thanks. sys-libs/glibc-2.4-r3 USE="nls nptl nptlonly -build -glibc-omitfp -hardened -profile" So I'm pretty sure this game can have to issues starting. The first is a Segmentation fault at the command line it will look like this: ljkopen@painter:/opt/jaggedalliance2$ ./ja2 -w Jagged Alliance 2 (c) 1999 by Sir-tech Canada Ltd. All rights reserved. Jagged Alliance is registered trademark of 1259191 Ontario Inc. Segmentation fault Using gdb reveals the following: ljkopen@localhost /opt/jaggedalliance2 $ gdb ./ja2 GNU gdb 6.4 Copyright 2005 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-pc-linux-gnu"...(no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". (gdb) run Starting program: /opt/jaggedalliance2/ja2 (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 16384 (LWP 27817)] Jagged Alliance 2 (c) 1999 by Sir-tech Canada Ltd. All rights reserved. Jagged Alliance is registered trademark of 1259191 Ontario Inc. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 27817)] 0x0829574b in sprintf () (gdb) bt #0 0x0829574b in sprintf () #1 0x402bd331 in _XlcDynamicLoad () from /usr/lib/libX11.so.6 #2 0x40302c28 in iso8859_2_2uni () from /usr/lib/libX11.so.6 #3 0x00000800 in ?? () #4 0x4019bfba in _libc_intl_domainname () from /lib/libc.so.6 #5 0x4019bfba in _libc_intl_domainname () from /lib/libc.so.6 #6 0x00000000 in ?? () (gdb) libX11.so.6 calls sprintf() which has a problem. The guys over at Loki installers for Linux Gamers ( http://www.liflg.org/?catid=6&gameid=11 ) seem to like packaging a libX11.so.6 which is LD_PRELOAD 'ed before the game begins. The second problem is related to in game sound. It appears this is resolved if an LD_ASSUME_KERNEL=2.4.1 is understood by the installed glibc. From some reading (http://people.redhat.com/drepper/assumekernel.html) understand that LD_ASSUME_KERNEL=2.4.1 relates to loader. I believe anton's "nptlonly" setting is not allowing LinuxThreads, which is what this program requires (maybe)? I assume that the loader can be replaced with another loader using LD_PRELOAD and have tried loki-compat in a method similar to heroes3, but end up with the following: ljkopen@painter:~$ /usr/games/bin/ja2 -w ./ja2: /opt/jaggedalliance2/libc.so.6: version `GLIBC_2.3.2' not found (required by /lib/tls/i686/cmov/libpthread.so.0) ./ja2: /opt/jaggedalliance2/libc.so.6: version `GLIBC_PRIVATE' not found (required by /lib/tls/i686/cmov/libpthread.so.0) ./ja2: /opt/jaggedalliance2/libc.so.6: version `GLIBC_PRIVATE' not found (required by /lib/tls/i686/cmov/libdl.so.2) ./ja2: /lib/ld-linux.so.2: version `GLIBC_2.1.1' not found (required by /opt/jaggedalliance2/libc.so.6) ./ja2: /lib/ld-linux.so.2: version `GLIBC_2.2.3' not found (required by /opt/jaggedalliance2/libc.so.6) ./ja2: /lib/ld-linux.so.2: version `GLIBC_2.2' not found (required by /opt/jaggedalliance2/libc.so.6) Which looks to mean that the loki-compat loader isn't used. I need some help with two things. One: what is the gentoo way to reference the libX11.so.6. Do we download and use the one in liflg.org's runtime, or is their another/better way. Two: Why didn't my loki-compat loader and libc work? Is it ok to ask anton to compile glibc without nptlonly (I'd think not). Please help. I'm off in the deep end now! Boy. I made that look very confusing. It shouldn't be. Essentially we want to do the following to start the game: LD_ASSUME_KERNEL=2.4.1 LD_PRELOAD=/opt/jaggedalliance2/lib/libX11.so.6.2 /opt/jaggedalliance2/ja2 -w LD_ASSUME_KERNEL=2.4.1 <- Is enough if glibc is compiled with glibc-compat use flags. This relates to nptl (and possibly Anton's problem with this parameter. LD_PRELOAD=/opt/jaggedalliance2/lib/libX11.so.6.2 <- suggested and provided by liflg.org. Corrects a startup Segmentation fault for some. So my two questions remain How do we allow those without library compatabilities to be allowed to use LD_ASSUME_KERNEL=2.4.1 . What is the gentoo method of getting/creating/using a libX11.so.6.2 . Thanks Again. I used ebuild provided in this bug to install the game (did not even download fix.c) then instructions on this Wiki page for loki compatibility libraries: http://gentoo-wiki.com/HOWTO_Running_Old_Loki_Games Starting the game with $LD_LIBRARY_PATH=/opt/Loki_Compat/ /opt/Loki_Compat/ld-linux.so.2 /opt/jaggedalliance2/ja2 -w seems to work just fine on my amd64. This game is not around anymore. Closing as dupe for sdl port that is actualy developed and have features like amd64 support :] *** This bug has been marked as a duplicate of bug 171475 *** |