LINUX.ORG.RU
ФорумGames

pcsx2


0

0

Ком удалось последнюю версию (0.9.4) поднять под линуксом?
Скачал http://www.pcsx2.net/files/10490, распаковал. Запускаю autoconf, генерится configure, а вот дальше:
$ ./configure
./configure: line 1802: syntax error near unexpected token `pcsx2,0.9.4'
./configure: line 1802: `AM_INIT_AUTOMAKE(pcsx2,0.9.4)'

ЧЯДНТ?

Deleted

А если заменить
AC_CONFIG_SRCDIR(src/foo.c)
AM_INIT_AUTOMAKE(pcsx2,0.9.4),
на

AC_INIT(pcsx2, 1.5)
AC_CONFIG_SRCDIR(src/foo.c)
AM_INIT_AUTOMAKE

?

anonymous
()
Ответ на: комментарий от anonymous

что тут вообще к чему?
AC_CONFIG_SRCDIR вообще нигде не встречается, просто одиноко стоит строчка:
AM_INIT_AUTOMAKE(pcsx2,0.9.4)

Deleted
()
Ответ на: комментарий от Deleted

AM_INIT_AUTOMAKE([OPTIONS])
AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
Runs many macros required for proper operation of the generated Makefiles.

This macro has two forms, the second of which has two required arguments: the package and the version number. This latter form is obsolete because the package and version can be obtained from Autoconf's AC_INIT macro (which itself has an old and a new form).

If your `configure.in' has:

AC_INIT(src/foo.c)
AM_INIT_AUTOMAKE(mumble, 1.5)

you can modernize it as follow:

AC_INIT(mumble, 1.5)
AC_CONFIG_SRCDIR(src/foo.c)
AM_INIT_AUTOMAKE


Note that if you're upgrading your `configure.in' from an earlier version of Automake, it is not always correct to simply move the package and version arguments from AM_INIT_AUTOMAKE directly to AC_INIT, as in the example above. The first argument of AC_INIT is the name of your package (e.g. `GNU Automake'), not the tarball name (e.g. `automake') you used to pass to AM_INIT_AUTOMAKE. Autoconf's rule to derive a tarball name from the package name should work for most but not all packages. Especially, if your tarball name is not all lower case, you will have to use the four-argument form of AC_INIT (supported in Autoconf versions greater than 2.52g).

When AM_INIT_AUTOMAKE is called with a single argument, it is interpreted as a space-separated list of Automake options which should be applied to every `Makefile.am' in the tree. The effect is as if each option were listed in AUTOMAKE_OPTIONS.

By default this macro AC_DEFINE's `PACKAGE' and `VERSION'. This can be avoided by passing the `no-define' option, as in: AM_INIT_AUTOMAKE([gnits 1.5 no-define dist-bzip2])

or by passing a third non-empty argument to the obsolete form.

anonymous
()

Я не знаю что вы такое скачали.

размер 6098636 файла pcsx2-0.9.4.tar.gz

внутри там INSTALL и написано что собирать надо

sh build.sh all

/tommy

anonymous
()

Помогите собрать pcsx2 0.9.4 или тот что в svn под Fedora x86_64.

Собираю так: sh build.sh all

Сначала пишет ошибки что некоторые хедеры не объявлены, исправляется патчем, взятым из репозиторя archlinux aur.

На всякий случай выкладываю патч:
http://lucky.sdf-eu.org/ps2/fix_broken_linux_compile.patch

Дальше идут ошибки ассемблера:
x86-64.S: Assembler messages:
x86-64.S:797: Error: suffix or operands invalid for `movdqa'
x86-64.S:798: Error: suffix or operands invalid for `movdqa'
x86-64.S:799: Error: suffix or operands invalid for `movdqa'
x86-64.S:800: Error: suffix or operands invalid for `movdqa'

Это из за того что movdqa должен в качестве аргумента принимать xmmword ptr а не qword ptr.

Так как там менять немного, удалось исправить (будет ли после этого вообще работать незнаю):
http://lucky.sdf-eu.org/ps2/fix_gs_asm.patch

После этого все плагины собираются нормально, но никак не собрать сам pcsx2. Куча ошибок подобного рода:
aVif.S:1629: Error: suffix or operands invalid for `movdqa'
aVif.S:1629: Error: suffix or operands invalid for `movdqa'
aVif.S:1629: Error: suffix or operands invalid for `pandn'
aVif.S:1629: Error: suffix or operands invalid for `movdqa'
aVif.S:1629: Error: suffix or operands invalid for `movdqa'
aVif.S:1629: Error: suffix or operands invalid for `movdqa'

Файл aVif.S не получается исправить, там 1632 строки, и почти на каждой строке ошибка(?) ! Даже если заменить все qword на xmmword все равно не собрать. Этот файл .S как то генерируется или его вручную писали?

Ошибки ассемблера можно обойти если в файле build.sh в export PCSX2OPTIONS добавить --disable-recbuild, это отключит сборку recompiler.

Потом опять ошибки:
ошибка: нет декларации ‘usleep’ в этой области видимости Также выкладываю патч:
http://lucky.sdf-eu.org/ps2/fix_broken_linux_compile_2.patch

Дальше никак не исправить:
gcc -O3 -fomit-frame-pointer -o pcsx2 Config.o interface.o GtkGui.o LnxMain.o support.o ../libpcsx2.a ../IPU/libIPU.a ../IPU/mpeg2lib/libmpeg2IPU.a ../RDebug/libRDebug.a ../tinyxml/libtinyxml.a ../DebugTools/libDebugTools.a -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lrt -lglib-2.0 -lstdc++ -lz
GtkGui.o: In function `OnConf_Cpu':
GtkGui.c:(.text+0x598e): undefined reference to `cpucaps'
GtkGui.c:(.text+0x599f): undefined reference to `cpucaps'
GtkGui.c:(.text+0x5b96): undefined reference to `cpuinfo'
GtkGui.c:(.text+0x5bd9): undefined reference to `cpuinfo'
GtkGui.c:(.text+0x5c15): undefined reference to `cpuinfo'
GtkGui.c:(.text+0x5c6e): undefined reference to `cpucaps'
GtkGui.c:(.text+0x5c7c): undefined reference to `cpucaps'
GtkGui.c:(.text+0x5c8a): undefined reference to `cpucaps'
GtkGui.c:(.text+0x5c98): undefined reference to `cpucaps'
GtkGui.c:(.text+0x5ca6): undefined reference to `cpucaps'
GtkGui.o:GtkGui.c:(.text+0x5d4f): more undefined references to `cpucaps' follow
../libpcsx2.a(R3000A.o): In function `psxRestartCPU':
R3000A.c:(.text+0x28): undefined reference to `psxRec'
../libpcsx2.a(R3000A.o): In function `psxInit':
R3000A.c:(.text+0x82c): undefined reference to `psxRec'
collect2: выполнение ld завершилось с кодом возврата 1

Если "undefined reference to `cpucaps'" и можно побороть если слинковать вручную с x86/ix86/libix86.a, то "undefined reference to `psxRec'" не исправить, похоже что он хочет библиотеку с recompiler, который предпологалось отключить опцией --disable-recbuild.

Lucky1 ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.