Автор Тема: Hotline Miami (версия с gog.com)  (Прочитано 4148 раз)

Оффлайн PoZorro

  • Завсегдатай
  • *
  • Сообщений: 96
    • Email
Hotline Miami (версия с gog.com)
« : 16.06.2015 12:10:58 »
При попытке создания rpm-пакета из tar.gz-архива с gog.com выскакивает ошибка. С чем это может быть связано, и как это можно исправить?
[user@comp-core-i5-d3b45e ~]$ alien --to-rpm /home/user/gog_hotline_miami_1.0.0.2.tar.gz
Warning: alien is not running as root!
Warning: Ownerships of files in the generated packages will probably be wrong.
Package build failed. Here's the log of the command (cd gog_hotline_miami_1.0.0.2-1; rpmbuild --buildroot='/home/user/gog_hotline_miami_1.0.0.2-1' -bb --target noarch 'gog_hotline_miami_1.0.0.2-1-2.spec'):
Платформы для сборки: noarch
Сборка для платформы noarch
Обрабатываются файлы: gog_hotline_miami_1.0.0.2-1-2
Поиск Provides (используя /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /tmp/.private/user/rpm-tmp.WtT1Rp
find-provides: running scripts (alternatives,debuginfo,lib,mono,pam,perl,pkgconfig,python,shell)
Поиск Requires (используя /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /tmp/.private/user/rpm-tmp.hWkcW2
find-requires: running scripts (cpp,debuginfo,files,lib,mono,monolib,pam,perl,pkgconfig,pkgconfiglib,python,rpmlib,shebang,shell,static,symlinks)
lib.req: WARNING: /Hotline Miami/game/Hotline: library libCgGL.so not found
lib.req: WARNING: /Hotline Miami/game/Hotline: library libCg.so not found
lib.req: WARNING: /home/user/gog_hotline_miami_1.0.0.2-1/Hotline Miami/game/Hotline: overlinked libraries: /lib/libc.so.6 /lib/libgcc_s.so.1 /lib/libm.so.6 /lib/libpthread.so.0 /usr/lib/libGL.so.1 /usr/lib/libGLU.so.1 /usr/lib/libX11.so.6 /usr/lib/libogg.so.0 /usr/lib/libopenal.so.1 /usr/lib/libstdc++.so.6 /usr/lib/libvorbis.so.0 /usr/lib/libvorbisfile.so.3
lib.req: WARNING: /home/user/gog_hotline_miami_1.0.0.2-1/Hotline Miami/game/Hotline: underlinked libraries: to
lib.req: WARNING: /home/user/gog_hotline_miami_1.0.0.2-1/Hotline Miami/game/hotline_launcher: overlinked libraries: /lib/ld-linux.so.2 /lib/libc.so.6 /lib/libdl.so.2 /lib/libgcc_s.so.1 /lib/libm.so.6 /lib/libpthread.so.0 /lib/librt.so.1 /usr/lib/libGL.so.1 /usr/lib/libX11-xcb.so.1 /usr/lib/libX11.so.6 /usr/lib/libXext.so.6 /usr/lib/libXi.so.6 /usr/lib/libXrandr.so.2 /usr/lib/libXrender.so.1 /usr/lib/libfontconfig.so.1 /usr/lib/libfreetype.so.6 /usr/lib/libstdc++.so.6 /usr/lib/libxcb.so.1
lib.req: WARNING: /home/user/gog_hotline_miami_1.0.0.2-1/Hotline Miami/game/hotline_launcher: underlinked libraries: to
ldd: ERROR: /home/user/gog_hotline_miami_1.0.0.2-1/Hotline Miami/lib/libCg.so: trace failed
find-requires: ERROR: /usr/lib/rpm/lib.req failed
ошибка: /bin/sh не удалось
ошибка: Невозможно найти Requires


Ошибки сборки пакетов:
    /bin/sh не удалось
    Невозможно найти Requires

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 999
Re: Hotline Miami (версия с gog.com)
« Ответ #1 : 16.06.2015 12:48:49 »
Зависимости похоже дремучих версий, поэтому поиск зависимостей и выдаёт ошибку (или они просто в системе не установлены, по идее при их поиске во время создания пакета, они в системе должны присутствовать). По-хорошему, лучше всё же запаковывать по мере возможностей в rpm пакет, написав для этого (или стянув где-нибудь) спек.

Оффлайн PoZorro

  • Завсегдатай
  • *
  • Сообщений: 96
    • Email
Re: Hotline Miami (версия с gog.com)
« Ответ #2 : 16.06.2015 14:52:58 »
Зависимости похоже дремучих версий, поэтому поиск зависимостей и выдаёт ошибку (или они просто в системе не установлены, по идее при их поиске во время создания пакета, они в системе должны присутствовать). По-хорошему, лучше всё же запаковывать по мере возможностей в rpm пакет, написав для этого (или стянув где-нибудь) спек.

Как это сделать?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
Re: Hotline Miami (версия с gog.com)
« Ответ #3 : 16.06.2015 15:21:40 »
Только мне одному кажется, что alien предназначен для .deb, а не .tar.gz?
.tar.gz проще распаковать в подкаталог (как Tor Browser) и запустить исполняемый файл.
Андрей Черепанов (cas@)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Hotline Miami (версия с gog.com)
« Ответ #4 : 16.06.2015 16:33:47 »
Только мне одному кажется, что alien предназначен для .deb, а не .tar.gz?
.tar.gz проще распаковать в подкаталог (как Tor Browser) и запустить исполняемый файл.

Это лучший и наивернейший способ! Там поди в этом архиве все нужные библиотеки помещены, и в сценарии запуска прописан к ним путь. А rpm с него не собрать, так как там файлы не по иерархии раскиданы да ещё требуются специфичные библиотеки, которые лежат в архиве.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
Re: Hotline Miami (версия с gog.com)
« Ответ #5 : 16.06.2015 19:15:48 »
Только мне одному кажется, что alien предназначен для .deb, а не .tar.gz?
.tar.gz проще распаковать в подкаталог (как Tor Browser) и запустить исполняемый файл.

Это лучший и наивернейший способ! Там поди в этом архиве все нужные библиотеки помещены, и в сценарии запуска прописан к ним путь. А rpm с него не собрать, так как там файлы не по иерархии раскиданы да ещё требуются специфичные библиотеки, которые лежат в архиве.
Удачи в шаманских плясках!
Андрей Черепанов (cas@)

Оффлайн PoZorro

  • Завсегдатай
  • *
  • Сообщений: 96
    • Email
Re: Hotline Miami (версия с gog.com)
« Ответ #6 : 16.06.2015 21:27:27 »
Только мне одному кажется, что alien предназначен для .deb, а не .tar.gz?

Не получается:
[user@comp-core-i5-d3b45e ~]$ alien --to-rpm /home/user/gog_hotline_miami_1.0.0.2.deb
Warning: alien is not running as root!
Warning: Ownerships of files in the generated packages will probably be wrong.
в архиве нет пункта data.tar.gz

gzip: stdin: unexpected end of file
tar: Это не похоже на tar-архив
tar: Завершение работы с состоянием неисправности с из-за возникших ошибок
Error executing "ar -p '/home/user/gog_hotline_miami_1.0.0.2.deb' data.tar.gz | gzip -dc | tar tf -":  at /usr/share/perl5/Alien/Package.pm line 481.

.tar.gz проще распаковать в подкаталог (как Tor Browser) и запустить исполняемый файл.

С этим тоже беда:
[user@comp-core-i5-d3b45e Hotline Miami]$ '/home/user/Hotline Miami/start.sh'
Running Hotline Miami
libGL error: unable to load driver: nouveau_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: nouveau
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
libGL error: unable to load driver: nouveau_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: nouveau
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
Initializing ClusterManager

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
Re: Hotline Miami (версия с gog.com)
« Ответ #7 : 16.06.2015 23:02:35 »
apt-get install xorg-dri-nouveau xorg-drv-nouveau xorg-dri-swrastНо это не всё. Непонятно, что этот кусочек шлака делает. Надо пропускать через ldd, strace и readelf, чтобы понять, что действительно ему нужно.
Андрей Черепанов (cas@)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Hotline Miami (версия с gog.com)
« Ответ #8 : 17.06.2015 04:01:14 »
apt-get install xorg-dri-nouveau xorg-drv-nouveau xorg-dri-swrast

Игра 32-битная, так что, если у PoZorro 64 битная система, то:
apt-get install i586-xorg-dri-nouveau i586-xorg-drv-nouveau i586-xorg-dri-swrast

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Hotline Miami (версия с gog.com)
« Ответ #9 : 17.06.2015 04:12:13 »
Скачал игру с рутрэкера, у меня запустилась без проблем (32-битные библиотеки видеодрайвера установлены). Как в такое играть-то можно?  ???

Оффлайн PoZorro

  • Завсегдатай
  • *
  • Сообщений: 96
    • Email
Re: Hotline Miami (версия с gog.com)
« Ответ #10 : 17.06.2015 10:02:11 »
apt-get install xorg-dri-nouveau xorg-drv-nouveau xorg-dri-swrast

Игра 32-битная, так что, если у PoZorro 64 битная система, то:
apt-get install i586-xorg-dri-nouveau i586-xorg-drv-nouveau i586-xorg-dri-swrast

Пробовал. То же самое.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Hotline Miami (версия с gog.com)
« Ответ #11 : 17.06.2015 11:13:52 »
ldd Hotline
linux-gate.so.1 (0xf779c000)
libopenal.so.1 => /home/data/games/HotlineMiami/./lib/libopenal.so.1 (0xf7744000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xf76e7000)
libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0xf76dd000)
libogg.so.0 => /usr/lib/libogg.so.0 (0xf76d5000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xf7585000)
libCgGL.so => /home/data/games/HotlineMiami/./lib/libCgGL.so (0xf7512000)
libGL.so.1 => /usr/lib/libGL.so.1 (0xf7467000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0xf73df000)
libCg.so => /home/data/games/HotlineMiami/./lib/libCg.so (0xf685d000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf6842000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xf66d2000)
libm.so.6 => /lib/libm.so.6 (0xf6690000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf6672000)
libc.so.6 => /lib/libc.so.6 (0xf64fa000)
librt.so.1 => /lib/librt.so.1 (0xf64f1000)
libdl.so.2 => /lib/libdl.so.2 (0xf64eb000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xf64c8000)
/lib/ld-linux.so.2 (0xf779e000)
libexpat.so.1 => /lib/libexpat.so.1 (0xf649f000)
libglapi.so.0 => /usr/lib/libglapi.so.0 (0xf6485000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xf6472000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xf646d000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xf6467000)
libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0xf6464000)
libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0xf644b000)
libxcb-dri2.so.0 => /usr/lib/libxcb-dri2.so.0 (0xf6445000)
libxcb-dri3.so.0 => /usr/lib/libxcb-dri3.so.0 (0xf6440000)
libxcb-present.so.0 => /usr/lib/libxcb-present.so.0 (0xf643c000)
libxcb-sync.so.1 => /usr/lib/libxcb-sync.so.1 (0xf6435000)
libxshmfence.so.1 => /usr/lib/libxshmfence.so.1 (0xf6432000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0xf642c000)
libdrm.so.2 => /usr/lib/libdrm.so.2 (0xf641c000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xf6418000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xf6412000)
libselinux.so.1 => /lib/libselinux.so.1 (0xf63eb000)
libpcre.so.3 => /lib/libpcre.so.3 (0xf63a5000)

На основании чего сформировал список пакетов, которые нужно установить для запуска игры в 64-битной системе:

apt-get install i586-libpcre3 i586-libselinux i586-libXdmcp i586-libXau i586-libdrm i586-libXxf86vm i586-libxshmfence i586-libxcb i586-libX11 i586-libXfixes i586-libXdamage i586-libXext i586-libGL i586-libexpat i586-glibc-core i586-glibc-pthread i586-glibc-core i586-libgcc1 i586-glibc-core i586-libstdc++6 i586-glibc-pthread i586-libGLU i586-libGL i586-libogg i586-libvorbis

Остальные либы идут вместе с игрой или слинкованы с бинарником.
Теперь вопросы к  PoZorro:
1. У вас система 64-битная?
2. Какой видеодрайвер используете? nouveau?
3. Покажите содержимое: start.sh
4. Есть ли каталог lib в папке с игрой. Покажите его содержимое, если есть.

Оффлайн PoZorro

  • Завсегдатай
  • *
  • Сообщений: 96
    • Email
Re: Hotline Miami (версия с gog.com)
« Ответ #12 : 27.06.2015 19:50:11 »
1. Да.
2. nouveau
3. Вот он:
#!/bin/bash
# GOG.com (www.gog.com)
# Hotline Miami

# Package info
declare -r VERSION="1.0.0.2"
declare -r VERSION_DEV="n/a"
declare -r GAME_NAME="Hotline Miami"
declare -r SIMPLE_NAME="hotline_miami"
declare -r PACKAGE_NAME="gog-hotline-miami"

# Global
declare -r CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

# Initialization
cd "${CURRENT_DIR}"

# Load GOG.com Library
source support/gog_com.shlib

# Actions
run_game() {
 echo "Running ${GAME_NAME}"
 local bin32_name="hotline_launcher"
 local bin64_name="$bin32_name"
 local bin_path32="$CURRENT_DIR/game/"
 local bin_path64="$bin_path32"
 local lib_path32="$CURRENT_DIR/lib/"
 local lib_path64="$lib_path32"
 execute_game "${bin32_name}" "${bin64_name}" "${bin_path32}" "${bin_path64}" "${lib_path32}" "${lib_path64}"
}

install() {
 echo "Installing ${GAME_NAME}..."
}

default() {
  run_game
}

# Options
define_option "-s" "--start" "start ${GAME_NAME}" "run_game" "$@"

# Defaults
standard_options "$@"
4. Да. Вот его содержимое:

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Hotline Miami (версия с gog.com)
« Ответ #13 : 27.06.2015 20:10:23 »
Да. Вот его содержимое:

А у меня всего-то в нём 9 либ:
ls
libCgGL.so  libopenal.so.1   libQt5Gui.so.5
libCg.so    libQt5Core.so.5  libQt5Widgets.so.5
Содержимое hotlinemiami.sh
#!/bin/sh
#
# "Hotline Miami" startup script
#

cd "`dirname "$(readlink -f "$0")"`"
exec $PWD/hotline_launcher $@

exit 1

Общая картина:
ls -Rl
.:
итого 500940
-rwxrwxr-x 1 anton anton  14623518 май 29  2013 Hotline
-rwxrwxr-x 1 anton anton    613700 май 29  2013 hotline_launcher
-rw-rw-r-- 1 anton anton 497702478 май 29  2013 HotlineMiami_GL.wad
-rwxr-xr-x 1 anton anton       123 май 30  2013 hotlinemiami.sh
drwxrwxr-x 2 anton anton      4096 май 30  2013 Install
drwxrwxr-x 2 anton anton      4096 май 29  2013 lib
-rw-rw-r-- 1 anton anton       213 май 29  2013 README

./Install:
итого 36
-rw-r--r-- 1 anton anton   283 май 30  2013 hotlinemiami.desktop
-rw-rw-r-- 1 anton anton 21996 май 30  2013 hotlinemiami.png
-rwxr-xr-x 1 anton anton   420 май 30  2013 install.sh
-rwxr-xr-x 1 anton anton    64 май 30  2013 uninstall.sh

./lib:
итого 28524
-rw-rw-r-- 1 anton anton   465532 май 29  2013 libCgGL.so
-rw-rw-r-- 1 anton anton 11841940 май 29  2013 libCg.so
-rw-rw-r-- 1 anton anton   346276 май 29  2013 libopenal.so.1
-rwxrwxr-x 1 anton anton  5471659 май 29  2013 libQt5Core.so.5
-rwxrwxr-x 1 anton anton  4402615 май 29  2013 libQt5Gui.so.5
-rwxrwxr-x 1 anton anton  6671234 май 29  2013 libQt5Widgets.so.5


Сдаётся мне, вы всё-таки с другого места качали :-)
« Последнее редактирование: 27.06.2015 20:34:06 от Антон Мидюков »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Hotline Miami (версия с gog.com)
« Ответ #14 : 27.06.2015 20:33:18 »
2. nouveau

apt-get install i586-xorg-dri-nouveau i586-xorg-drv-nouveau