[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

vecchie applicazioni



A volte mi capitano sotto mano degli applicativi piuttosto vecchiotti
(essenzialmente giochi), che molto spesso si rifiutano di funzionare,
magari perché linkati con versioni datate di qualche libreria.
Ad esempio, ora ho sotto mano Jagged Alliance 2, un gioco uscito in
verisone Linux nel 2000.
Lanciato da console esso purtroppo produce solo un "Segmentation fault".
Il readme che accompagna il gioco dice che questo richiede (almeno) le
glibc 2.1.x, mentre sul CD è fornito l'installer di XFree 4.0.1.

E' possibile fare qualcosa per poter utilizzare questi applicativi?
Magari installando nel sistema le librerie nella versione richiesta dal
gioco senza farle andare in conflitto con quelle aggiornate? E da dove
prenderle?


Queste sono delle prove che ho fatto sull'eseguibile.

pino@catoblepa-17:06:01-/usr/local/games/ja2: ldd ./ja2 
		libpthread.so.0 => /lib/tls/libpthread.so.0 (0x40025000)
	libdl.so.2 => /lib/tls/libdl.so.2 (0x40034000)
	libm.so.6 => /lib/tls/libm.so.6	(0x40038000)
	libc.so.6 => /lib/tls/libc.so.6	(0x4005b000)
	/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)



pino@catoblepa-17:12:31-/usr/local/games/ja2: strace -e open ./ja2
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
open("/lib/tls/libpthread.so.0", O_RDONLY) = 3
open("/lib/tls/libdl.so.2", O_RDONLY)   = 3
open("/lib/tls/libm.so.6", O_RDONLY)    = 3
open("/lib/tls/libc.so.6", O_RDONLY)    = 3
Jagged Alliance 2

(c) 1999 by Sir-tech Canada Ltd. All rights reserved.
Jagged Alliance is registered trademark of 1259191 Ontario Inc.
open("/usr/local/games/ja2//lib/tsv_xshm.so", O_RDONLY) = 3
open("/etc/ld.so.cache", O_RDONLY)      = 3
open("/usr/X11R6/lib/libX11.so.6", O_RDONLY) = 3
open("/usr/X11R6/lib/libXext.so.6", O_RDONLY) = 3
open("/home/pino/.Xauthority", O_RDONLY) = 4
open("/home/pino/.Xauthority", O_RDONLY) = 4
open("/etc/ld.so.cache", O_RDONLY)      = 4
open("/usr/lib/libXcursor.so.1", O_RDONLY) = 4
open("/usr/lib/libXrender.so.1", O_RDONLY) = 4
open("/usr/X11R6/lib/X11/locale/locale.alias", O_RDONLY) = 4
open("/usr/X11R6/lib/X11/locale/locale.dir", O_RDONLY) = 4
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++



pino@catoblepa-17:12:42-/usr/local/games/ja2: gdb ./ja2
GNU gdb 6.1-debian
Copyright 2004 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 "i386-linux"...(no debugging symbols
found)...Using host libthread_db library "/lib/tls/libthread_db.so.1".

(gdb) run
Starting program: /usr/local/games/ja2/ja2 
(no debugging symbols found)...(no debugging symbols found)...[Thread
debugging using libthread_db enabled]
[New Thread 1075404928 (LWP 3333)]
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...Jagged
Alliance 2

(c) 1999 by Sir-tech Canada Ltd. All rights reserved.
Jagged Alliance is registered trademark of 1259191 Ontario Inc.
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no debugging
symbols found)...
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1075404928 (LWP 3333)]
0x0829574b in sprintf ()
(gdb) bt
#0  0x0829574b in sprintf ()
#1  0x402445e8 in _XlcAddUtf8LocaleConverters () from
/usr/X11R6/lib/libX11.so.6
#2  0x40244bf7 in _XlcDynamicLoad () from /usr/X11R6/lib/libX11.so.6
#3  0x40215b69 in _XOpenLC () from /usr/X11R6/lib/libX11.so.6
#4  0x40215d80 in _XrmInitParseInfo () from /usr/X11R6/lib/libX11.so.6
#5  0x401fcd3d in XrmStringToBindingQuarkList () from
/usr/X11R6/lib/libX11.so.6
#6  0x401febac in XrmGetStringDatabase () from
/usr/X11R6/lib/libX11.so.6
#7  0x401e27a8 in XAllocNamedColor () from /usr/X11R6/lib/libX11.so.6
#8  0x401e28a8 in XGetDefault () from /usr/X11R6/lib/libX11.so.6
#9  0x0000002f in ?? ()
#10 0xbffff010 in ?? ()
#11 0x4000b9b3 in _dl_map_object_deps () from /lib/ld-linux.so.2
Previous frame inner to this frame (corrupt stack?)
-- 
 ___ _            | ICQ: 99644516
| _ (_)_ _  ___   |
|  _/ | ' \/ _ \  | PGP key fingerprint:
|_| |_|_||_\___/  | 0B6D CA29 72A5 7F36 0343  72E2 ECDA B516 8747 C639



Reply to: