LINUX.ORG.RU

История изменений

Исправление ZenitharChampion, (текущая версия) :

У меня запустилось и работает. Но только у меня. У тех, у кого не NVIDIA Linux driver 331.49, ничего не запустится:

zenitur@zenithar:~/Загрузки/Burnt-Islands-0.13> ldd Monster
	linux-vdso.so.1 (0x00007fff44bfe000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f1e161ea000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f1e15fce000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f1e15dca000)
...
	libnvidia-tls.so.331.49 => not found
	libnvidia-glcore.so.331.49 => not found
	libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f1e12b9f000)
...

А я в этот момент работал с открытым драйвером Intel (у меня Optimus). Переключился на NVIDIA и запустилось.

Как эти файлы могли попасть в зависимости? Я не знаю.

Первая версия - установка не из репозитория, а из RUN-инсталлятора с параметром --opengl-headers. Начиная вот с этой версии драйвера NVIDIA он перестал затирать файлы в /usr/include/GL своими (если пользователь не указал явно как поступить), предлагая программистам теперь использовать файлы из Mesa - софтварного OpenGL (который последние лет 5 пытаются сделать ещё и аппаратным), который есть во всех дистрибутивах Linux. Насколько я знаю, разницы между заголовочными файлами NVIDIA и MESA нет, или почти нет. Возможно, разработчики игры столкнулись с проблемами header-файлов Mesa и установили header-файлы NVIDIA, а теперь бинарник «прибился гвоздями» к NVIDIA 331.49.

Вторая версия - всё установлено из репозитория, но всё равно каким-то образом «прибилось гвоздями». Тогда я советую временно удалить драйвер в менеджере пакетов, на всякий случай «Обновить принудительно» Mesa-libGL-devel, на всякий случай перезагрузиться, и пересобрать программу без изменения исходного кода. А потом установить драйвер обратно.

Исправление ZenitharChampion, :

У меня запустилось и работает. Но только у меня. У тех, у кого не NVIDIA Linux driver 331.49, ничего не запустится:

zenitur@zenithar:~/Загрузки/Burnt-Islands-0.13> ldd Monster
	linux-vdso.so.1 (0x00007fff44bfe000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f1e161ea000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f1e15fce000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f1e15dca000)
...
	libnvidia-tls.so.331.49 => not found
	libnvidia-glcore.so.331.49 => not found
	libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f1e12b9f000)
...

А я в этот момент работал с открытым драйвером Intel (у меня Optimus). Переключился на NVIDIA и запустилось.

Как эти файлы могли попасть в зависимости? Я не знаю.

Первая версия - установка не из репозитория, а из RUN-инсталлятора с параметром --opengl-headers. Начиная вот с этой версии драйвера NVIDIA он перестал затирать файлы в /usr/include/GL своими (если пользователь не указал явно как поступить), предлагая программистам теперь использовать файлы из Mesa - софтварного OpenGL (который последние лет 5 пытаются сделать ещё и аппаратным), который есть во всех дистрибутивах Linux. Насколько я знаю, разницы между заголовочными файлами NVIDIA и MESA нет, или почти нет. Возможно, разработчики игры столкнулись с проблемами header-файлов Mesa и установили header-файлы NVIDIA, а теперь бинарник «прибился гвоздями» к NVIDIA 331.49.

Вторая версия - всё установлено из репозитория, но всё равно каким-то образом «прибилось гвоздями». Тогда я советую временно удалить драйвер в менеджере пакетов, на всякий случай «Обновить принудительно» Mesa-libGL-devel, на всякий случай перезагрузиться, и пересобрать программу без изменения исходного кода. А потом установить драйвер обратно.

Исправление ZenitharChampion, :

У меня запустилось и работает. Но только у меня. У тех, у кого не NVIDIA Linux driver 331.49, ничего не запустится:

zenitur@zenithar:~/Загрузки/Burnt-Islands-0.13> ldd Monster
	linux-vdso.so.1 (0x00007fff44bfe000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f1e161ea000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f1e15fce000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f1e15dca000)
...
	libnvidia-tls.so.331.49 => not found
	libnvidia-glcore.so.331.49 => not found
	libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f1e12b9f000)
...

А я в этот момент работал с открытым драйвером Intel (у меня Optimus). Переключился на NVIDIA и запустилось.

Как эти файлы могли попасть в зависимости? Я не знаю.

Первая версия - установка не из репозитория, а из RUN-инсталлятора с параметром --opengl-headers. Начиная вот с этой версии драйвера NVIDIA он перестал затирать файлы в /usr/include/GL своими (если пользователь не указал явно как поступить), предлагая программистам теперь использовать файлы из Mesa - софтварного OpenGL (который последние лет 5 пытаются сделать ещё и аппаратным), который есть во всех дистрибутивах Linux. Насколько я знаю, разницы между заголовочными файлами NVIDIA и MESA нет, или почти нет. Возможно, разработчики игры столкнулись с проблемами header-файлов Mesa и установили header-файлы NVIDIA, а теперь бинарник «прибился гвоздями» к NVIDIA 331.49.

Вторая версия - всё установлено из репозитория, но всё равно каким-то образом «прибилось гвоздями». Тогда я советую временно удалить драйвер из репозитория, на всякий случай «Обновить принудительно» Mesa-libGL-devel, на всякий случай перезагрузиться, и пересобрать программу без изменения исходного кода. А потом установить драйвер обратно.

Исходная версия ZenitharChampion, :

У меня запустилось и работает. Но только у меня. У тех, у кого не NVIDIA Linux driver 331.49 ничего не запустится:

zenitur@zenithar:~/Загрузки/Burnt-Islands-0.13> ldd Monster
	linux-vdso.so.1 (0x00007fff44bfe000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f1e161ea000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f1e15fce000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f1e15dca000)
...
	libnvidia-tls.so.331.49 => not found
	libnvidia-glcore.so.331.49 => not found
	libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f1e12b9f000)
...

А я в этот момент работал с открытым драйвером Intel (у меня Optimus). Переключился на NVIDIA и запустилось.

Как эти файлы могли попасть в зависимости? Я не знаю.

Первая версия - установка не из репозитория, а из RUN-инсталлятора с параметром --opengl-headers. Начиная вот с этой версии драйвера NVIDIA он перестал затирать файлы в /usr/include/GL своими (если пользователь не указал явно как поступить), предлагая программистам теперь использовать файлы из Mesa - софтварного OpenGL (который последние лет 5 пытаются сделать ещё и аппаратным), который есть во всех дистрибутивах Linux. Насколько я знаю, разницы между заголовочными файлами NVIDIA и MESA нет, или почти нет. Возможно, разработчики игры столпнулись с проблемами header-файлов Mesa и установили header-файлы NVIDIA, а теперь бинарник «прибился гвоздями» к NVIDIA 331.49.

Вторая версия - всё установлено из репозитория, но всё равно каким-то образом «прибилось гвоздями». Тогда я советую временно удалить драйвер из репозитория, на всякий случай «Обновить принудительно» Mesa-libGL-devel, на всякий случай перезагрузиться, и пересобрать программу без изменения исходного кода. А потом установить драйвер обратно.