Nowe posty

Autor Wątek: problem z uruchomieniem America's Army armyops 2.50  (Przeczytany 2430 razy)

szczypeq

  • Gość
problem z uruchomieniem America's Army armyops 2.50
« dnia: 2005-11-29, 08:05:10 »
Problem jest następujący. Zainstalowałem AA (nie bez problemów, ale jednak :D) pod Aurox Linux 11.0 i pouzupełniałem brakujące biblioteki (w moim przypadku była to libstdc++.so.5).

uruchamiałem grę wszystkimi możliwymi komendami (sh armyops oraz ./armyops) ale konsola zwracała mi bez przerwy taki bład:

[pablito@localhost ~]$ ./armyops
Cheat protection disabled
WARNING: ALC_EXT_capture is subject to change!
Unicestwiony
[pablito@localhost ~]$


za nic nie rozumiem o co mu chodzi - jeśli znowu chodzi o ustawienia grafiki (NVidia GeForce 4 MX 64MB :( ) to może ktoś podeśle mi jakiegoś solve'a ? a jeśli nie to co jest nie tak?

melonlm

  • Gość
problem z uruchomieniem America's Army armyops 2.50
« Odpowiedź #1 dnia: 2005-11-29, 13:23:34 »
> [pablito@localhost ~]$ ./armyops
 > Cheat protection disabled
 > WARNING: ALC_EXT_capture is subject to change!
 > Unicestwiony
Trochę za mało danych :). Wydaj polecenie strace ./armyops, albo strace i podeślij to co wypluje (będzie tego sporo).
Polecenie "ldd" pokaże ci jakie biblioteki ładuje uruchamiany program. Może któraś z bibliotek jest nie kompatybilna (podgrywałeś je ręcznie, prawda?).
Czasem programy wywalają sie jeśli nie mają dostepu do urządzeń. Spawdź czy masz prawo zapisu do urządzeń dźwięku, agp, grafiki/dri itp. itd.

szczypeq

  • Gość
problem z uruchomieniem America's Army armyops 2.50
« Odpowiedź #2 dnia: 2005-11-29, 17:56:58 »
na strace ./armyops wywaliło mi mnóstwo dziwnych komunikatów, które kończą się taką sekwencją:

gettimeofday({1133285734, 612085}, NULL) = 0
gettimeofday({1133285734, 612160}, NULL) = 0
_llseek(6, 1245184, [1245184], SEEK_SET) = 0
read(6, "-1s2734737ERROR Screenplay::SceneEnd"..., 16384) = 16384
gettimeofday({1133285734, 612400}, NULL) = 0
gettimeofday({1133285734, 612454}, NULL) = 0
gettimeofday({1133285734, 612509}, NULL) = 0
gettimeofday({1133285734, 613866}, NULL) = 0
_llseek(6, 835584, [835584], SEEK_SET)  = 0
read(6, "00377377377377377377377377000000000"..., 16384) = 16384
gettimeofday({1133285734, 614268}, NULL) = 0
gettimeofday({1133285734, 614339}, NULL) = 0
_llseek(6, 1245184, [1245184], SEEK_SET) = 0
read(6, "-1s2734737ERROR Screenplay::SceneEnd"..., 16384) = 16384
gettimeofday({1133285734, 614571}, NULL) = 0
gettimeofday({1133285734, 624066}, NULL) = 0
gettimeofday({1133285734, 624156}, NULL) = 0
gettimeofday({1133285734, 624296}, NULL) = 0
_llseek(6, 835584, [835584], SEEK_SET)  = 0
read(6, "00377377377377377377377377000000000"..., 16384) = 16384
gettimeofday({1133285734, 625819}, NULL) = 0
gettimeofday({1133285734, 625927}, NULL) = 0
_llseek(6, 1245184, [1245184], SEEK_SET) = 0
read(6, "-1s2734737ERROR Screenplay::SceneEnd"..., 16384) = 16384
gettimeofday({1133285734, 626222}, NULL) = 0
gettimeofday({1133285734, 626281}, NULL) = 0
gettimeofday({1133285734, 626340}, NULL) = 0
gettimeofday({1133285734, 626418}, NULL) = 0
_llseek(6, 835584, [835584], SEEK_SET)  = 0
read(6, "00377377377377377377377377000000000"..., 16384) = 16384
gettimeofday({1133285734, 631367}, NULL) = 0
gettimeofday({1133285734, 632304}, NULL) = 0
gettimeofday({1133285734, 632403}, NULL) = 0
gettimeofday({1133285734, 634905}, NULL) = 0
_llseek(6, 2048000, [2048000], SEEK_SET) = 0
read(6, "7022s36224412040p#00y^407021E3632441"..., 16384) = 1858
gettimeofday({1133285734, 636120}, NULL) = 0
mmap2(NULL, 67112960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory)
brk(0xd456000)                          = 0x944a000
mmap2(NULL, 67244032, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 2097152, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0xb7d85000
munmap(0xb7d85000, 503808)              = 0
munmap(0xb7f00000, 544768)              = 0
mprotect(0xb7e00000, 135168, PROT_READ|PROT_WRITE) = 0
mmap2(NULL, 67112960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory)
time(NULL)                              = 1133285734
time(NULL)                              = 1133285734
futex(0xaaa5f4, FUTEX_WAKE, 2147483647) = 0
futex(0x6131a4, FUTEX_WAKE, 2147483647) = 0
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 2), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xc39000
write(1, "Assertion failed: Ptr [File:../."..., 70Assertion failed: Ptr [File:../../Core/Inc/FMallocAnsi.h] [Line: 32]
) = 70
write(1, "rn", 2
)                     = 2
write(1, "History: nnExiting due to errorn", 32History:

Exiting due to error
) = 32
time(NULL)                              = 1133285735
time(NULL)                              = 1133285735
time(NULL)                              = 1133285735
time(NULL)                              = 1133285735
time(NULL)                              = 1133285735
time(NULL)                              = 1133285735
write(3, "Tue Nov 29 17:35:19 2005 Log: Lo"..., 1264) = 1264
close(3)                                = 0
munmap(0xc39000, 4096)                  = 0
exit_group(1)                           = ?



natomiast 'ldd armyops-bin' wywala mi komunikat 'not a dynamic executable'  chociaż plik ma w opcjach zaznaczone wykonywalny.


a pluł się tylko o jedną biblioteke, a mianowicie libstdc++.so.5, która pobrałem jako rpm'a pod auroxa z rpm.pbone.net i która zainstalowała się bezproblemowo.

melonlm

  • Gość
problem z uruchomieniem America's Army armyops 2.50
« Odpowiedź #3 dnia: 2005-11-30, 11:32:52 »
2005-11-29 17:56:58 szczypeq napisał:


 > mmap2(NULL, 67112960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM

Jak widać powyżej program ma problemy z alokowaniem pamięci. Przyczyny??? może być sporo...
Spróbowałbym tak:
1. Puść grę z uprawnieniami roota. Może nie masz dostępu do jakiegoś urządzenia (chyba shm, ale nie znam się na tym dobrze).
2. podmień bibliotekę libstdc++.so.5 Zmień jej nazwę i zrób link 'ln -s libstdc++.so.6 libstdc++.so.5' .To brudna sztuczka ale czasem działa.
3. Skompiluj własne jądro. Może dystybucyjne jąderko chodzi domyślnie w trybie SMP albo nie ma niektórych opcji.
5. Jesli to zawiedzie puść memtest86+. Może (odpukać) masz uszkodzone moduły ramu. Takie numery też już widziałem.

krzylew

  • Gość
problem z uruchomieniem America's Army armyops 2.50
« Odpowiedź #4 dnia: 2005-12-02, 13:26:27 »
POSZUKAJ na forum americasarmy.pl
tam już był taki wątek