Установка Guitar Pro 6

Автор Anti, 14 ноября 2011, 02:36:08

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Anti

Доброе время суток!

Возникла проблема в установке программы Guitar Pro 6 на Debain 6 (64 бит)

Имеется 32х битный установщик приложения (64 бит нет) GuitarPro6-rev9063.deb
Попробовал установить по этой инструкции http://habrahabr.ru/blogs/linux/92634/
На ubuntu 10.04 и kubuntu 11.10 всё встало без проблем.
Тут же возникла проблема на этом шаге:

5. Устанавливаем библиотеку libportaudio.so.2. Используем для этого getlibs:
getlibs -l libportaudio.so.2


Сначала запрос подтверждения на установку 32 битных библиотек (~35 мб), после это спросил устанавливать ли libportaudio.so.2
После соглашения вывел
No match for libportaudio.so.2
No packages to install

В итоге эта библиотека не была установлена.

При попытке запустить guitar pro пишет
anti@h10-0-2-15:~$ /opt/GuitarPro6/gp-launcher.sh
./GuitarPro: error while loading shared libraries: libportaudio.so.2: cannot open shared object file: No such file or directory

Как видно, жалуется на отсутствие библиотеки.

Как с этим бороться и наконец то запустить Guitar Pro на Debian?

Rock

Тонкий намек, где искать пакеты по содержимому:
http://www.debian.org/distrib/packages
apt-file, он довольно много с сети, для работы, заливать может. Если реп много.

После установки надо будет создать симлинк libportaudio.so.2 на libportaudio.so.0

Возможно заработает.
Впервые поставил Linux в 1999, Debian единственной домашней системой с 2002, на работе использую Linux с 2006, работаю только с Linux с 2010.

Anti

Сделал ещё вот такие действия:
попытался найти библиотеки в интернете, ничего толкового не нашёл
Сделал так:
root@h10-0-2-15:/home/anti# getlibs /opt/GuitarPro6/GuitarPro
No match for libportaudio.so.2
No match for libgthread-2.0.so.0
No match for libglib-2.0.so.0
No match for libgthread-2.0.so.0
No match for libglib-2.0.so.0
No match for libgobject-2.0.so.0
No packages to install


Скопировал эти библиотеки из ubuntu 10.04.3 (где всё работает), оказывается, это не всё и гп потребовал ещё одну библиотеку libpcre.so.3
После этого попробовал запустить программу снова, появилась заставка на 1 секунду, завершилась, консоль выдала следующее
$ /opt/GuitarPro6/gp-launcher.sh
QGtkStyle was unable to detect the current GTK+ theme.
Segmentation fault


На что ругается теперь - не пойму. Гуглил, а там только проблемы с настройкой внешнего вида.

SeHELLioN

Открыть содержимое (спойлер)
Хм, у меня тоже не удалось завести эту шнягу, библиотеки тоже подсовывал, дальше заставки тоже ничего не увидел...плюнул, поставил tuxguitar
[свернуть]
ну если вчитаться, то похоже на то, что интерфейс у проги на qt и она не может определить какая выбрана gtk тема...может поможет смена темы в настройках qt4? ...но это всего лишь догадки :-\
Asus m5a97+Amd fx-8350+4x4GB DDR3 1600MGz+asus gtx670 DCII (перешита в top)
Debian stable

Rock

Мне кажется, что темы тут не при чем. Оно сваливается в сегфолт, ИМХО т.к. подсунутые библиотеки Ubuntu и работающие библиотеки Debian, не совместимы друг с другом бинарно.

Попробуй найти эти библиотеки по основному названию:
libportaudio.so например. На http://www.debian.org/distrib/packages
И создай к библиотекам из пакетов требуемый симлинк.
libportaudio.so.2 например.
Впервые поставил Linux в 1999, Debian единственной домашней системой с 2002, на работе использую Linux с 2006, работаю только с Linux с 2010.

lisss

http://habrahabr.ru/blogs/linux/92634/
В самом низу комментариев товарищ приводит скрипт. Чисто для проверки запустил у себя - сработал. Debian Sid x64

Anti

lisss
Спасибо, на самом деле всё заработало. Теперь наконец таки установлю Debian на жёсткий и снесу ubuntu (поддержка версии 10.04 скоро закончится, а всякие unity как-то не очень радуют)

На всякий случай, последовательность действий:

Необходимо создать и запустить скрипт
— скрипт положить в каталог с deb-пакетом Guitar Pro 6
— назвать его install_gp6_amd64.sh
— сделать chmod +x install_gp6_amd64.sh
— запускать скрипт командой ./install_gp6_amd64.sh имя_файла_пакета_guitarpro6
(в качестве параметра передать ему имя файла deb-пакета Guitar Pro 6).

Для воспроизведения в Guitar Pro 6, понадобилось установить pulseaudio, а для воспроизведения без RSE — использовать qsynth со звуковым шрифтом 8MBGMSFX.SF2. Установить RSE можно поставляемой с Guitar Pro утилитой GPBankInstaller

Сам скрипт:
#!/bin/sh

# Скрипт установки Guitar Pro 6 на архитектуре amd64 для Debian-подобных ОС (Debian, Ubuntu, Kubuntu и т.д.)
# Данное решение - уродский хак, позволяющий установить 32-битную версию Guitar Pro 6 на 64-битных Debian-based системах
# Смотри также http://www.guitarplayer.ru/forum/index.php?topic=140510.msg2889582#msg2889582
# Script by Joe, 4.01.2011, GPL v3+

# ---- Секция данных

libs32='ia32-libs ia32-libs-gtk'
depend_list='libpulse0 libportaudio0 libportaudio2'

current_dir=$(pwd)
packet_folder="/tmp/$(date +%s%N)"
lib32portaudio_packet_name='lib32portaudio2'
packet32_name='libportaudio2_19+svn20071022-3.2_i386.deb'
packet64_name='lib32portaudio2_19+svn20071022-3.2_amd64'
packet_lib_url="http://ftp.fr.debian.org/debian/pool/main/p/portaudio19/$packet32_name"
packet_version='19+svn20071022-3.2'

gp6_packet_file="" # определяется по переданному параметру
gp6_packet_name='GuitarPro6'

# ---- Секция функций

# Обработка полученного аргумента
process_args() {
    if [ "$1" = "" ]; then
        echo "Использование: $0 имя_файла_пакета_guitar_pro_6"
        exit 1
    fi

    gp6_packet_file="$1"

    if ! [ -f $gp6_packet_file ]; then
        echo "Файл $gp6_packet_file не существует!"
        echo "Скопируйте данный скрипт в каталог с пакетом Guitar Pro 6."
        echo "Если это не помогло - установите в этом скрипте корректное значение переменной gp6_packet"
        exit 1
    fi
}

# Проверяет наличие aptitude
install_aptitude() {
    echo 'Проверка наличия aptitude... '
    if ! $(aptitude --help >/dev/null); then
        sudo apt-get install aptitude
        sudo aptitude update
        echo 'aptitude успешно установлен!'
    else
        echo 'OK!'
    fi
}

# Удаляет мусор от прошлой установки Guitar Pro 6 (если он есть)
remove_garbage() {
    echo 'Удаление "мусора" от предыдущей установки...'
    killall GuitarPro
    sudo dpkg -r $gp6_packet_name
    sudo aptitude -y purge $lib32portaudio_packet_name
}

# Устанавливает 32-битные библиотеки из репозитория
install_libs32() {
    echo 'Установка 32-битных библиотек...'
    sudo aptitude -y install $libs32
}

# Устанавливает зависимости
install_dependencies() {
    echo 'Установка зависимостей Guitar Pro 6...'
    sudo aptitude -y install $depend_list
}

# Создает и устанавливает пакет lib32portaudio2
install_lib32portaudio() {
    echo 'Создание пакета lib32portaudio...'
    mkdir $packet_folder
    cd $packet_folder
    wget $packet_lib_url
    dpkg --extract $packet32_name $packet64_name
    cd "$packet64_name"/usr
    рм -рф share/
    mv lib/ lib32/
    cd ..
    mkdir DEBIAN
    cd DEBIAN
    cat <<!CONTROL! > control
Package: lib32portaudio2
Source: portaudio19 ($packet_version)
Version: $packet_version
Architecture: amd64
Maintainer: myself
Installed-Size: 208
Depends: ia32-libs
Section: libs
Priority: optional
Homepage: http://www.portaudio.com/
Description: Portable audio I/O - shared library
!CONTROL!
    cd ../..
    dpkg-deb --build "$packet64_name"/

    echo 'Установка пакета lib32portaudio...'
    sudo dpkg -i "$packet64_name".deb
    sudo ldconfig

    cd "$current_dir"
    рм -рф $packet_folder
}

# Устанавливает пакет Guitar Pro 6
install_gp6_packet() {
    echo 'Установка Guitar Pro 6...'
    sudo dpkg --force-all -i $gp6_packet_file
    return
}

# ---- Секция выполнения

# Обработка аргумента коммандной строки
process_args "$1"

# Установка зависимостей
install_aptitude
remove_garbage
install_libs32
install_dependencies
install_lib32portaudio

# Установка Guitar Pro 6
install_gp6_packet
# Проверка результата установки
if [ $? != 0 ]; then
    echo 'Ошибка при установке Guitar Pro 6...'
    exit 1
fi

# Задержка, чтобы успел обработаться ярлык оконным менеджером
echo "Подождите несколько секунд..."
sleep 10

echo 'Скрипт успешно завершен! Теперь вы можете запустить Guitar Pro 6 из меню вашего оконного менеджера или создать ярлык'
exit 0