название для официального сайта inFlowia Lab
  • помощь 4 free! :)
  • делаем добро :)
  • делаю сайты, скрипты и хорошее настроение :)
  • всё поправимо! :)
  • Свобода и OPENsource!
  • Linux - это любовь!
  • Linux - это Lюбовь
  • творим добро с 2019/03/22 :)

Yoshimi 1.5.11.3 :: Сборка и установка из исходников standalone и LV2-плагина под Ubuntu Studio :: Зависимости, тонкости, подгоны

По моему сборка из исходников Yoshimi 1.5.11.3 - один из самых лёгких способов "втянуться" в сборку пакетов под Linux. Просто у этого синта самая подробная и полная документация по сборке из всех, что я встречал и особенно радует весьма точный список зависимостей, ведь именно они и являются основным камнем, о который обычно спотыкаются все новички, коим я пока и являюсь кстати... WARNING! ALERT! KEEP OUT!

Ах да! Кстати! Если вы ещё совсем ничего не собирали, у вас плохо с английским языком и ваши руки трясутся от ужаса перед великим и ужасным make install, ещё есть шанс вернуться под уютное и тёплое крыло dpkg и apt (у apt вроде-бы немного теплее), потому что у меня тут как раз завалялся один пакетик... Так, что все ушли? А нет, это ALT + CTRL + F1. Ладно, с пытливыми умами и всеми у кого не взлетает пакетик мы начнём.

Зависимости

Их список лежит в файле Dependencies в корневом каталоге исходников. Что особенно радует, так это то что названия пакетов указаны в той форме, в которой их можно скармливать менеджеру пакетов. Но чтоб было послаще, приведу-ка я его вам в виде строчки, которую можно сразу подставлять в apt install :)

automake build-essential cmake-curses-gui dssi-dev fluid libcairo2-dev libfftw3-dev libfltk1.3-dev libglu1-mesa-dev libjack-jackd2-dev libmxml-dev libncurses5-dev libreadline-dev libxft-dev libxml2-dev pkg-config xutils-dev zlib1g-dev lv2-dev

Вообще этот список можно менять в зависимости от того, как нужно собрать пакет (смотри вышеупомянутый файл от разраба). Конкретно этот список обеспечит стандартную сборку с LV2-плагином в комплекте.

Этапы сборки:

Вполне совпадают с тем, что написано в файле INSTALL, но если вы настаиваете, я коротко:

Пусть ~/yoshimi-1.5.11.3 - каталог с исходниками. Тогда:
  • cd ~/yoshimi-1.5.11.3
  • mkdir build
  • cd build
  • ccmake ../src
  • Жмём кнопку "c" один или несколько раз пока не появится вожделенный список настроек. Если вместо него видим Error - читаем чего ему надо, решаем проблемы с зависимостями Но их по идее быть не должно если установилось всё из списка... Если не получается, читайте дальше, есть одна тонкость.
  • Настроек менять не надо, всё и так норм должно собраться. После лицезрения вожделенного списка настроек жмём ещё раз "с" и после завершения процесса "g"
  • make
  • А тут 2 варианта. Либо: sudo make install либо sudo checkinstall -D

    Принцип выбора между вариантов такой:
    - понимаете почему второй вариант предпочтительнее => выбираете его,
    - впервые видите что первый что второй варианты => выбираете первый.

  • Наслаждаемся звучанием, и кручением всех крутилочек.

Для выбравших checkinstall оставлю пару подарочков:


Вот список зависимостей для работы уже собранного Yoshimi, позаимствованный мной от версии 1.5.6-3 из репозитория Ubuntu: ibasound2 (>= 1.0.17), libc6 (>= 2.22), libcairo2 (>= 1.2.4), libfftw3-single3 (>= 3.3.5), libfltk-images1.3 (>= 1.3.0), libfltk1.3 (>= 1.3.4), libgcc1 (>= 1:3.0), libjack-jackd2-0 (>= 1.9.10+20150825) | libjack-0.125, libmxml1, libreadline7 (>= 6.0), libstdc++6 (>= 5.2), libtinfo5 (>= 6), zlib1g (>= 1:1.1.4) Правильно это или нет - решать вам, но я не знаю как определить актуальный список зависимостей именно для 15.5.11.3, однако всё прекрасно работает и с устаревшим, на прочее пока нет времени.

Вот этот же список но экранированный, если предпочитаете конфигурировать через ключи:

libasound2 \(\>= 1.0.17\), libc6 \(\>= 2.22\), libcairo2 \(\>= 1.2.4\), libfftw3-single3 \(\>= 3.3.5\), libfltk-images1.3 \(\>= 1.3.0\), libfltk1.3 \(\>= 1.3.4\), libgcc1 \(\>= 1:3.0\), libjack-jackd2-0 \(\>= 1.9.10+20150825\) \| libjack-0.125, libmxml1, libreadline7 \(\>= 6.0\), libstdc++6 \(\>= 5.2\), libtinfo5 \(\>= 6\), zlib1g \(\>= 1:1.1.4\)

Кстати у меня тут завалялся скрипт, как раз для этих целей, если там захотите поэкранировать чего-нибудь ещё на досуге.

Ну чтобы у checkinstall'еров вообще слиплось, вот скрипт для конфигурирования checkinstall.

#!/bin/bash sudo checkinstall \ --type=debian \ --maintainer='unknown' \ --pkgname='yoshimi' \ --pkgversion='1.5.11.3' \ --pkgrelease='inflowia1' \ --pkglicense='see coryright file' \ --pkggroup='sound' \ --arch='amd64' \ --requires='libasound2 \(\>= 1.0.17\), libc6 \(\>= 2.22\), libcairo2 \(\>= 1.2.4\), libfftw3-single3 \(\>= 3.3.5\), libfltk-images1.3 \(\>= 1.3.0\), libfltk1.3 \(\>= 1.3.4\), libgcc1 \(\>= 1:3.0\), libjack-jackd2-0 \(\>= 1.9.10+20150825\) \| libjack-0.125, libmxml1, libreadline7 \(\>= 6.0\), libstdc++6 \(\>= 5.2\), libtinfo5 \(\>= 6\), zlib1g \(\>= 1:1.1.4\)' \ --provides='yoshimi' \ --docdir='/usr/share/doc/' \ --backup='no' \

Подредактируйте только в нём --pkgrelease! Если только вы, конечно, не являетесь сотрудником inFlowia Lab :)

Под Kubuntu 18.04.2 этот скрипт скорее всего не взлетит, пока не запишите его в строчку.

Кстати № 2: в этот список можно добавить zynaddsubfx-data, там гораздо больше банков. Потом их можно будет добавить в настройках (лежат банки в каталоге: /usr/share/zynaddsubfx/banks ).

Есть один загадочный момент: во время checkinstall всегда случается ошибка ни на что не влияющая (я по крайней мере влияния не заметил):

Файлы копируются во временный каталог...tar: ./usr/local/share/yoshimi/banks/Pads/0002-sin2x pad.xiz: Функция stat завершилась с ошибкой: Нет такого файла или каталога

Я проверял пэд sin 2x - он работает, так что... Если кто-то может - проверьте у себя и напишите разработчикам багтрек, просто пока у меня до этого руки дойдут пока не известно.

Ещё одна загадочная странность: при первых попытках сборки под Ubutnu Studio я зачем-то менял путь установки lv-2 плагина на какой-то, с моей точки зрения, более правильный, при этом Yoshimi ставил свои банки в туда же куда и обычно - в usr/local/share/yoshimi/banks/, однако эту директорию нужно было вручную добавить в настройках уже собранного синта, хотя в норме это должно произойти само. То есть после установки встроенный комплект инструментов должен быть уже подключен.

И да, чуть не забыл:

Тонкость про зависимости сборки

Если вдруг всё же начались "все тяжкие" и вы пробуете снова и снова ставить какие-то пакеты и потом проверяете прошла ли конфигурация нажимая на "с", или перезаходя в ccmake, то лучше между этими попытками удалять файл CMakeCache.txt из каталога build (того где кипит сборка). Реально помогает.

А на этом королевские подгоны закончились. Собирайте, делитесь, пишите письма и багтреки разрабам :) До скорых встреч!

Собиралось и тестировалось на:

  • ОС: Ubuntu Studio 18.04.2 64-bit
  • ОС: kubuntu 18.04.2 64-bit
  • В качестве теста запускался Ardour, проверялась "пикабельность" синта и доступ к встроенным банкам.

Помогло? :)

Черкани Инфловии пару строк если нашёл здесь помощь. Можешь писать под любым постом в группе VK или по старинке на почту: inFlowia@netc.it :)

inFlowia Lab. не делает добро за деньги, но знать, что её труды кому-то помогают очень классно. Если тебе помогли - не поленись, всего пара слов: "Спасибо! Помогло :)" сделают дни инфловии светлее. ^^

Количество откликнувшихся: 8