/usr/lib64/libX11.so.6: could not read symbols

Помогите собрать 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’ туда же.

С первым пунктом надо подробно разбираться. Может быть, посмотрю, если руки дойдут.

По поводу первого буду очень признателен, если поможете разобраться :slight_smile:
Со вторым большое спасибо, собралось, но есть 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"])

То что нуло нужно.