Помогите собрать 2 заброшенных авторами эмулятора.
1 FCEUX - Эмулятор Dendy - http://downloads.sourceforge.net/project/fceultra/Source%20Code/2.1.5%20src/fceux-2.1.5.src.tar.bz2
Собирается при помощи scons
#scons
2 lxdream - Эмулятор Sega Dreamcast - http://www.lxdream.org/count.php?file=lxdream-0.9.1.tar.gz
Собирается через ./configure && make
#./configure --prefix=/usr --libdir=/usr/lib64 CFLAGS="-march=native -msse3 -O3 -fomit-frame-pointer -pipe" CXXFLAGS="-march=native -msse3 -O3 -fomit-frame-pointer -pipe" && make -j4
Оба завершаются ошибкой похожей ошибкой
1 FCEUX
/usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: src/drivers/sdl/sdl.o: undefined reference to symbol 'XKeysymToString'
/usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: note: 'XKeysymToString' is defined in DSO /usr/lib64/libX11.so.6 so try adding it to the linker command line
/usr/lib64/libX11.so.6: could not read symbols: Invalid operation
2 lxdream
/usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: lxdream-video_glx.o: undefined reference to symbol 'XLoadQueryFont'
/usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: note: 'XLoadQueryFont' is defined in DSO /usr/lib64/libX11.so.6 so try adding it to the linker command line
/usr/lib64/libX11.so.6: could not read symbols: Invalid operation
По инфе в гугле [SOLVED] Compiling from source fails (DSO) - FedoraForum.org](http://forums.fedoraforum.org/showthread.php?t=246434) нарыл, что это типичная ошибка заброшенных проектов в MakeFile которых нужно куда-то дописать флаги
-lX11 -ldl -lXext
Но в разных проектах в разное место и куда именно их дописывать в эти проекты я не знаю.
В первом случае нужно пропатчить файл SConstruct.
Строка
env.ParseConfig(‘pkg-config --cflags --libs gtk±2.0’)
или такая же ниже для GTK 3, в зависимости от вашего выбора.
Должно быть
env.ParseConfig(‘pkg-config --cflags --libs gtk±2.0 xcb-keysyms’)
Во втором случае перед ./configure сделайте экспорт
LIBS=-lX11
1 Заменил на
env.ParseConfig(‘pkg-config --cflags --libs gtk±2.0 xcb-keysyms’)
но ничего не изменилось, по прежнему та же ошибка.
2 Добавил
LIBS=-lX11 ./configure --prefix=/usr --libdir=/usr/lib64 CFLAGS="-march=native -msse3 -O3 -fomit-frame-pointer -pipe" CXXFLAGS="-march=native -msse3 -O3 -fomit-frame-pointer -pipe" && make
Теперь останавливается на ошибке
/usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: lxdream-sh4.o: undefined reference to symbol 'sincosf@@GLIBC_2.2.5'
/usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld: note: 'sincosf@@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: ld returned 1 exit status
Во втором случае надо ещё добавить ‘-lm’ туда же.
С первым пунктом надо подробно разбираться. Может быть, посмотрю, если руки дойдут.
По поводу первого буду очень признателен, если поможете разобраться 
Со вторым большое спасибо, собралось, но есть 2 момента, из-за которых он работает нестабильно, хочу разобраться можно ли исправить и что это вообще такое.
1 При конкурировании появляется предупреждение
checking if we have a working __builtin_frame_address()... no
configure: WARNING: Memory exceptions will be slow
От чего зависит поддержка __builtin_frame_address() и что это вообще такое?
2 При работе эмулятора он периодически вылетает с 25-ю одновременными сообщениями
8C2CCD60 WARN Accumulation buffer not supported
Аналогично от чего зависит поддержка Аккумулятивного буфера в openGL?
Для начала хотелось бы понять природу этих ошибок:
a) Не установлена какая то либа openGL, или не той версии или не сконфигурирована.
б) Ошибка кода, или такой код сам по себе.
в) Моя слабая видеокарта (NVIDIA 8600GT 304.30)
От чего зависит поддержка __builtin_frame_address() и что это вообще такое?
2 При работе эмулятора он периодически вылетает с 25-ю одновременными сообщениями
Это вопрос к программистам.
А FCEUX есть в репозиториях.
http://software.opensuse.org/package/fceux
Там он то есть, но там он глючный. (Не работает поддержка openGL)
Для понимания природы глюков мне нужно как миниум собрать его самому.
ILYA INDIGO wrote:
>
> Там он то есть, но там он глючный. (Не
> работает поддержка openGL)
> Для пониманияприроды глюков мне нужно
> как миниум собрать его самому.
>
>
Посмотрите пакет из Fedora. Там есть несколько патчей. Тот, который
minizip, не нужен.
http://download1.rpmfusion.org/free/fedora/releases/17/Everything/source/SRPMS/fceux-2.1.5-2.fc17.src.rpm
Большое спасибо за помощь
+ env.Append(LIBS ="-lz"])
+ env.Append(LIBS ="-ldl"])
+ env.Append(LIBS ="-lX11"])
То что нуло нужно.