FigBug / SID

GNU General Public License v3.0
44 stars 3 forks source link

Project description and Linux build instructions #1

Closed danboid closed 5 years ago

danboid commented 7 years ago

I'm very keen to test this plugin but when I try using the binary version downloaded from the Tracktion site, there is no text displayed in the plugins UI under both Ardour (5.11) and the latest test version of REAPER running under Ubuntu MATE 17.10 x64.

I decided the next course of action would be try building this plugin from source although I'm not sure how to do that. I installed the personal/free version of projucer but the 'Build now' option is greyed out so I'm not sure if that is even available in the personal edition?

I have also tried just running make:

:~/src/SID/plugin/Builds/LinuxMakefile$ make
Compiling include_juce_audio_plugin_client_VST2.cpp
../../JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp:9:10: fatal error: juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp: No such file or directory
 #include <juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:152: recipe for target 'build/intermediate/Debug/include_juce_audio_plugin_client_VST2_dd551e08.o' failed
make: *** [build/intermediate/Debug/include_juce_audio_plugin_client_VST2_dd551e08.o] Error 1

Please could you add a README.md file to the root of this github repo that briefly explains what the project is and how to build it under (Ubuntu) Linux.

Thanks

FigBug commented 7 years ago

The font it's looking for is Verdana, which I though most Linux distros should include

To build, clone SID including submodules to a directory clone JUCE to that same directory

I should make JUCE submodule so it just works

On Sep 28, 2017, at 4:59 AM, danboid notifications@github.com wrote:

I'm very keen to test this plugin but when I try using the binary version downloaded from the Tracktion site, there is no text displayed in the plugins UI under both Ardour (5.11) and the latest test version of REAPER running under Ubuntu MATE 17.10 x64.

I decided the next course of action would be try building this plugin from source although I'm not sure how to do that. I installed the personal/free version of projucer but the 'Build now' option is greyed out so I'm not sure if that is even available in the personal edition?

I have also tried just running make:

:~/src/SID/plugin/Builds/LinuxMakefile$ make Compiling include_juce_audio_plugin_client_VST2.cpp ../../JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp:9:10: fatal error: juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp: No such file or directory

include <juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp>

      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

compilation terminated. Makefile:152: recipe for target 'build/intermediate/Debug/include_juce_audio_plugin_client_VST2_dd551e08.o' failed make: *** [build/intermediate/Debug/include_juce_audio_plugin_client_VST2_dd551e08.o] Error 1 Please could you add a README.md file to the root of this github repo that briefly explains what the project is and how to build it under (Ubuntu) Linux.

Thanks

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/FigBug/SID/issues/1, or mute the thread https://github.com/notifications/unsubscribe-auth/ABNiIQvWo5D0_3OEHgY5xP4Uy7BouTHaks5sm4oigaJpZM4PnJ5A.

danboid commented 7 years ago

Hi Roland

I've made some progress. I've got Verdana installed now and as a result the UI is dsplayed properly when using the Tracktion binary BUT users of recent versions of Ubuntu cannot install msttcorefonts from the package manager in the usual way due to a known bug in said package. The solution at present is to run:

wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb
sudo dpkg -i ttf-mscorefonts-installer_3.6_all.deb

Here is the Ubuntu bug report, which also effects 17.10:

https://bugs.launchpad.net/ubuntu/+source/msttcorefonts/+bug/1607535

I've got further with building the plugin although it still doesn't fully build. These are my presumed build instructions from what you've hinted at:

git clone https://github.com/FigBug/SID.git
git clone https://github.com/WeAreROLI/JUCE.git
cd SID/plugin/Builds/LinuxMakefile/
make

Which produces:

$ make
Compiling include_juce_audio_plugin_client_VST2.cpp
Compiling envelope.cc
Compiling extfilt.cc
Compiling filter.cc
Compiling pot.cc
Compiling sid.cc
Compiling version.cc
Compiling voice.cc
Compiling wave.cc
Compiling wave6581__ST.cc
Compiling wave6581_P_T.cc
Compiling wave6581_PS_.cc
Compiling wave6581_PST.cc
Compiling wave8580__ST.cc
Compiling wave8580_P_T.cc
Compiling wave8580_PS_.cc
Compiling wave8580_PST.cc
make: *** No rule to make target '../../../modules/slCommon/slComponents.cpp', needed by 'build/intermediate/Debug/slComponents_3caabb18.o'. Stop.
FigBug commented 7 years ago

Try

cd SID git submodule update --init --recursive

On Sep 28, 2017, at 8:10 AM, danboid notifications@github.com wrote:

Hi FigBug

I've made some progress. I've got Verdana installed now and as a result the UI is dsplayed properly when using the Tracktion binary BUT users of recent versions of Ubuntu cannot install msttcorefonts from the package manager in the usual way due to a known bug in said package. The solution at present is to run:

wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb sudo dpkg -i ttf-mscorefonts-installer_3.6_all.deb I've also got further with building the plugin although it still doesn't fully build. These are my presumed build instructions from what you've hinted at:

git clone https://github.com/FigBug/SID.git git clone https://github.com/WeAreROLI/JUCE.git cd SID/plugin/Builds/LinuxMakefile/ make Which produces:

$ make Compiling include_juce_audio_plugin_client_VST2.cpp Compiling envelope.cc Compiling extfilt.cc Compiling filter.cc Compiling pot.cc Compiling sid.cc Compiling version.cc Compiling voice.cc Compiling wave.cc Compiling wave6581__ST.cc Compiling wave6581_P_T.cc Compiling wave6581PS.cc Compiling wave6581_PST.cc Compiling wave8580__ST.cc Compiling wave8580_P_T.cc Compiling wave8580PS.cc Compiling wave8580_PST.cc make: *** No rule to make target '../../../modules/slCommon/slComponents.cpp', needed by 'build/intermediate/Debug/slComponents_3caabb18.o'. Stop. — You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/FigBug/SID/issues/1#issuecomment-332866305, or mute the thread https://github.com/notifications/unsubscribe-auth/ABNiIUpdwr8UUEGKjSxJq-i8bTHKeoUSks5sm7XugaJpZM4PnJ5A.

danboid commented 7 years ago

~/src/SID$ git submodule update --init --recursive Cloning into '/home/dan/src/SID/modules/dRowAudio'... Permission denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists. fatal: clone of 'git@github.com:FigBug/drowaudio.git' into submodule path '/home/dan/src/SID/modules/dRowAudio' failed Failed to clone 'modules/dRowAudio'. Retry scheduled Cloning into '/home/dan/src/SID/modules/slCommon'... Permission denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists. fatal: clone of 'git@github.com:FigBug/slCommon.git' into submodule path '/home/dan/src/SID/modules/slCommon' failed Failed to clone 'modules/slCommon'. Retry scheduled Cloning into '/home/dan/src/SID/modules/dRowAudio'... Permission denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists. fatal: clone of 'git@github.com:FigBug/drowaudio.git' into submodule path '/home/dan/src/SID/modules/dRowAudio' failed Failed to clone 'modules/dRowAudio' a second time, aborting

FigBug commented 7 years ago

Do you have you ssh keys setup for GitHub or do you usually clone via http?

On Sep 28, 2017, at 8:24 AM, danboid notifications@github.com wrote:

~/src/SID$ git submodule update --init --recursive Cloning into '/home/dan/src/SID/modules/dRowAudio'... Permission denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists. fatal: clone of 'git@github.com mailto:git@github.com:FigBug/drowaudio.git' into submodule path '/home/dan/src/SID/modules/dRowAudio' failed Failed to clone 'modules/dRowAudio'. Retry scheduled Cloning into '/home/dan/src/SID/modules/slCommon'... Permission denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists. fatal: clone of 'git@github.com mailto:git@github.com:FigBug/slCommon.git' into submodule path '/home/dan/src/SID/modules/slCommon' failed Failed to clone 'modules/slCommon'. Retry scheduled Cloning into '/home/dan/src/SID/modules/dRowAudio'... Permission denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists. fatal: clone of 'git@github.com mailto:git@github.com:FigBug/drowaudio.git' into submodule path '/home/dan/src/SID/modules/dRowAudio' failed Failed to clone 'modules/dRowAudio' a second time, aborting

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/FigBug/SID/issues/1#issuecomment-332871964, or mute the thread https://github.com/notifications/unsubscribe-auth/ABNiIXiyM23MKI3EuVvE-fySt0SQmxQsks5sm7pBgaJpZM4PnJ5A.

FigBug commented 7 years ago

https://help.github.com/articles/error-permission-denied-publickey/ https://help.github.com/articles/error-permission-denied-publickey/

On Sep 28, 2017, at 8:25 AM, Roland Rabien figbug@gmail.com wrote:

Do you have you ssh keys setup for GitHub or do you usually clone via http?

On Sep 28, 2017, at 8:24 AM, danboid <notifications@github.com mailto:notifications@github.com> wrote:

~/src/SID$ git submodule update --init --recursive Cloning into '/home/dan/src/SID/modules/dRowAudio'... Permission denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists. fatal: clone of 'git@github.com mailto:git@github.com:FigBug/drowaudio.git' into submodule path '/home/dan/src/SID/modules/dRowAudio' failed Failed to clone 'modules/dRowAudio'. Retry scheduled Cloning into '/home/dan/src/SID/modules/slCommon'... Permission denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists. fatal: clone of 'git@github.com mailto:git@github.com:FigBug/slCommon.git' into submodule path '/home/dan/src/SID/modules/slCommon' failed Failed to clone 'modules/slCommon'. Retry scheduled Cloning into '/home/dan/src/SID/modules/dRowAudio'... Permission denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists. fatal: clone of 'git@github.com mailto:git@github.com:FigBug/drowaudio.git' into submodule path '/home/dan/src/SID/modules/dRowAudio' failed Failed to clone 'modules/dRowAudio' a second time, aborting

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/FigBug/SID/issues/1#issuecomment-332871964, or mute the thread https://github.com/notifications/unsubscribe-auth/ABNiIXiyM23MKI3EuVvE-fySt0SQmxQsks5sm7pBgaJpZM4PnJ5A.

danboid commented 7 years ago

Hi Roland

I shoud've known it was just a case of registering my SSH key with github from those errors so after doing that I have now got SID building under Ubuntu 17.10! Thanks!

Hence, some provisional (at least) Linux build instructions would read like so:

Building under Linux

NOTE: Before you can clone all of the required repos to build this plugin, you need to ensure your SSH keys are correctly registered with your github account. Building requires you have the mesa dev packages for your distro installed, amongst others.

Add SSH keys to github

git clone https://github.com/WeAreROLI/JUCE.git
git clone https://github.com/FigBug/SID.git
cd SID
git submodule update --init --recursive
cd plugin/Builds/LinuxMakefile/
make
simonvanderveldt commented 7 years ago

FYI the submodules should just use the HTTPS URL instead of SSH so anyone can clone it even if they don't have SSH keys setup

cyberic99 commented 6 years ago

To change the submodules repo to HTTPS ones, edit your SID/.gitmodules like this:

[submodule "modules/dRowAudio"]
    path = modules/dRowAudio
    url = https://github.com/FigBug/drowaudio.git
[submodule "modules/slCommon"]
    path = modules/slCommon
    url = https://github.com/FigBug/slCommon.git
mxmilkiib commented 5 years ago

What build steps changed recently? The PKGBUILD in AUR currently fails. I might as well ask to save time and so others with different distros can build sucsesfully. Thanks.

FigBug commented 5 years ago

Arg, this is going to be a pain.

Steinberg recently cracked down on people distributing the VST2 SDK, so juce removed it from their repo. However, VST3 doesn't work on Linux yet (as of last time I checked). They also don't grant licenses for VST2 anymore.

I don't really want to add VST2 to my repo and get hit with a DMCA takedown.

Not really sure how to handle this going forward

jpcima commented 5 years ago

The GPL-based VST2 support was removed after Juce 5.3.2. This is worked around using the same way as Debian buster did: backport 5.3.2 bits into the newer version.

This source package has it (juce_5.4.1+really5.4.1~repack-3.debian.tar.xz) https://packages.debian.org/buster/juce-modules-source

  1. apply patches/debian_vst.patch
  2. copy extra/juce_audio_processors/format_types/juce_VSTInterface.h
FigBug commented 5 years ago

ok, should build again now. Added another submodule.

mxmilkiib commented 5 years ago

N.b. I don't have the time or energy atm to resolve the PKGBUILD issue so I have disowned it on AUR to allow someone else who is interested and available to do so to step in.