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

    image
    Многим музыкантам известно, что недавно Arobas Music выпустила новую версию редактора табулатур Guitar Pro 6. Также, компания обещала выход linux-версии. В общем, они выполнили свое обещание, но она доступна лишь для x86 систем в виде deb пакета. На x64 системе программу запустить пока не удавалось или вообще не было таких попыток.
    Мне удалось заставить работать ее на x64 системе.

    Установка для Linux, использующих DEB пакеты (Ubuntu, Debian)


    1. Скачиваем бесплатную demo-версию GuitarPro 6 с оф. сайта
    2. Проводим принудительную установку пакета:
    sudo dpkg -i --force-all /путь/до/пакета/GuitarPro6Demo-rev7894.deb
    3. Скачиваем нужные x64-библиотеки. Нам нужен пакет getlibs
    4. Устанавливаем пакет.
    5. Устанавливаем библиотеку libportaudio.so.2. Используем для этого getlibs:
    getlibs -l libportaudio.so.2
    Консоль предложит установку библиотеки libportaudio2, жмем Y.
    6. Запускаем Guitar Pro 6.

    Установка для Linux, использующих RPM пакеты (Mandriva, Fedora, RedHat)


    1. Получаем из deb пакета rpm. Для этого нам нужен пакет Alien:
    urpmi alien
    Возможно у вас не установлен rpm-build:
    urpmi rpm-build
    2. Конвертируем пакет:
    alien -r /путь/до/пакета/GuitarPro6Demo-rev7894.deb
    3. Запускаем GuitarPro6Demo-rev7894.rpm и устанавливаем, если у вас x86 система, если же у вас x64:
    rpm --force GuitarPro6Demo-rev7894.rpm
    4. Дальше все идет, как на Debian. Если не найдете rpm getlibs, то конвертируйте deb файл также, как и в пункте 1.

    P.S. На Linux ее крякнуть невозможно, поэтому покупаем лицензию, либо довольствуемся демо-версией.
    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 38
    • +7
      " RMP пакеты"->RPM
      Да, и еще, разве
      sudo dpkg -i —force-all /путь/до/пакета/GuitarPro6Demo-rev7894.deb
      это подписывание, а не игнорирование подписей?
      • +4
        Что уж там, следующим пунктом идёт «Скачиваем нужные x64-библиотеки», хотя имелись ввиду i386-библиотеки. Статья демонстрирует уровень знаний, сравнимый с обрядами вуду.
      • –3
        >x64

        facepalm.png
      • 0
        В виндовсе вроде как всех 32х-битные приложения работают на 64х-битных операционках. А почему линуксе не так? (А то я еще не пробовал 64х битные линуксы)
        • +3
          И в линуксе так, надо просто иметь 32 битные библиотеки, которые, в отличие от винды, редко идут вместе с программой. Ну и опцию ядра для эмуляции IA32 включить(в большинстве дистрибутивах включено).
        • 0
          А у вас платный ГП, если не секрет? Просто win версию уже отучили от жадности, а вот версию для линукса — пока нет, насколько я понимаю…
          Программа хорошая, собираюсь все купить.
          • 0
            То что GP наконец-то есть под линукс, это целое событие!
            Скинулись с друзьями, приобрели лицензию, благодарности ради (:
            • +1
              Да, согласен, что целое событие.

              Так как в линуксе нотных редакторов приличных на удивление мало. Есть lilypond, но он слишком unix-овый, а musescore, к сожалению, не идеален. Поэтому даже набрать для себя гитарные нотки и проиграть их потом для верности — целая проблема, не говорю уже о разучивании чего-то сложного.
              • 0
                А как же TuxGuitar?
                • 0
                  У него много проблем. С ритмом, с прочими вещами.
                  То, что он не поддерживает RSE — фигня. Мне лично от него важны ноты и табы.
                  Но когда он играет неправильно — это плохо. Надеюсь, фиксить будут. Как редактор — он вполне неплох.
                  • 0
                    К сожалению, именно набор нот в TuxGuitar весьма условен. Всего 2 голоса — это серьезное ограничение для классической гитары.
                  • 0
                    RoseGarden?
                  • +2
                    x64? — пишите amd64 или x86_64, но это никаким боком не х64

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

                    Уж лучше скачать и распаковать 32битную версию пакета libportaudio2, а то мы так с вами скоро до верусов дойдём.
                    • 0
                      x64? — пишите amd64 или x86_64, но это никаким боком не х64
                      Хватит уже вносить смуту. Разберитесь раз и навсегда с терминологией архитектуры процессоров.
                      (x64 = x86-64 = AMD64 = EM64T = Intel 64) ≠ (IA-64 = Itanium) ≠ SPARC64 ≠ IBM RS64
                      • +4
                        Статья написана для пользователей linux, в linux именование x64 считается не верным.
                        • 0
                          Как можно связывать архитектуру процессора с установленной ОС?
                          Архитектура существует независимо от выбранной ОС и даже при отсутствии ОС.

                          Или вы считаете, чтобы сказать, какая архитектура процессора у некого сервера, нужно сначала узнать, какая на этом сервере установлена ОС?
                          • 0
                            Пакеты в linux собираются под конкретную архитектуру. Большинство дистрибутивов есть в вариантах i686(i386) и x86_64. Некоторые ещё и под всякую экзотику вроде alpha, sparc, ppc и т.д. Указание архитектуры входит в название пакета. На ныне популярный Intel Core2 * можно ставить как i686, так и x86_64 сборки. В статье идёт речь о том, как в x86_64 сборку установить i686 пакет. Так понятно?
                            • +1
                              То, что написано в статье, я и без вашего комментария прекрасно понял.
                              Т.е. для меня вполне понятно, что фраза «если же у вас x64» обозначает то же самое, что «если же у вас x86-64».
                              А вот другие комментаторы сделали вид, что они этого не поняли и стали придираться.
                              • +2
                                Если б заголовок был «Устновка гитарпро 6 на х64 убанту линапс» всеб тоже поняли)
                            • +3
                              Архитектура процессора — amd64,x86_64,EM64T и тд
                              А «x64 Официальное название версий операционных систем Windows и Solaris», чувствуете разницу?
                      • 0
                        Неужели! Под линукс. Насколько я помню, старый даже под вайном не запускался, что уж там о установке говорить. А тут — прогресс!
                        • +1
                          Под wine оно отлично запускалось почти всегда, только вот работать с этим было крайне сложно: написанный на Delphi интерфейс отрисовывался мучительно долго, звук заикался и т.д. и т.п.
                          • 0
                            Запускался, но долго. Работал нормально.
                          • 0
                            А разве уже вышел релиз? По моему бета до сих пор. Которая даже не может открыть какой либо файл кроме демок.
                            • 0
                              Вышел уже давно.
                              >Которая даже не может открыть какой либо файл кроме демок.

                              Это ограничение демо-версии
                              • 0
                                О. Отлично, спасибо. Значит сейчас покупать буду. Странно. Почему я думал что до сих пор бета %)
                            • –1
                              Ребят, все писалось на скорую руку, если есть ошибки — извиняйте, все исправлю. Спасибо за замечания.
                              • 0
                                На Хабр лучше на скорую руку не писать. Мы ведь не гонимся, что кто-то другой напишет раньше, правда?
                              • +3
                                >> 2. Подписываем пакет под x64
                                >> sudo dpkg -i —force-all /путь/до/пакета/GuitarPro6Demo-rev7894.deb

                                Данная операция никак не связана с понятием «подписи» в криптографическом смысле.
                                Если же «подписываем» коррелирует с понятием «пацан подписался», но вы наверное ошиблись ресурсом.
                                • 0
                                  Всем, кому нужна официальная x64-версия Guitar Pro 6 большая просьба сообщить об этом разработчикам по адресу: www.guitar-pro.com/en/index.php?pg=contact&&from=61
                                  • 0
                                    Статья исправлена.
                                    • 0
                                      Долго долбался с установкой на Debian Sid amd64, в ходе чего родился скрипт, которым я и хотел бы поделиться.
                                      — скрипт положить в каталог с deb-пакетом Guitar Pro 6
                                      — назвать его install_gp6_amd64.sh
                                      — сделать chmod +x install_gp6_amd64.sh
                                      — запускать скрипт командой ./install_gp6_amd64.sh имя_файла_пакета_guitarpro6
                                      (в качестве параметра передать ему имя файла deb-пакета Guitar Pro 6).

                                      Собственно сам скрипт:

                                      #!/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
                                          rm -rf 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"
                                          rm -rf $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
                                      
                                      
                                      • 0
                                        Спасибо большое. Для тех кто столкнуся с такой проблемой:
                                        (<unknown>:4763): Gtk-WARNING **: Error loading theme icon 'dialog-warning' for stock: Unable to load image-loading module: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: wrong ELF class: ELFCLASS64
                                        

                                        нужно отредактировать файл /opt/GuitarPro6/gp-launcher.sh:

                                        #!/bin/sh
                                        cd /opt/GuitarPro6
                                        export GDK_PIXBUF_MODULE_FILE=/usr/lib32/gdk-pixbuf-2.0/2.10.0/loaders.cache
                                        ./GuitarPro ""
                                        

                                        Бага на launchpad: bugs.launchpad.net/ubuntu/+source/ia32-libs/+bug/781870
                                      • 0
                                        Еще добавлю, что для воспроизведения в Guitar Pro 6, мне понадобилось установить pulseaudio, а для воспроизведения без RSE — использовать qsynth со звуковым шрифтом 8MBGMSFX.SF2. Установить RSE можно поставляемой с Guitar Pro утилитой GPBankInstaller.
                                        • 0
                                          Если обнаружена ошибка типа:
                                          ./GuitarPro: /opt/GuitarPro6/./libz.so.1: version `ZLIB_1.2.3.3' not found (required by /usr/lib/i386-linux-gnu/libxml2.so.2) нужно удалить файл libz.so.1 из папки /opt/GuitarPro6. После этой процедуры GuitarPro будет использовать системную библиотеку libz.so.

                                          • 0
                                            По этой инструкции мне удалось пересобрать пакет — и как результат получить правильный пакет, который можно повторно устанавливать абсолютно безо всякого шаманства.

                                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.