How to setup own LV2 plugins?



how can I install my own LV2 plugins?
And if I have written a LV2 plugin, can I get this into the Modshop? How to do this?

Regards, Holger


Hi @Codeman,

I’m at this moment writing a HowTo guide exactly on this.

It should be ready in a few days then I’ll post back the link here.

For now you can start looking at our mod-plugin-builder which is how to cross-compile the plugin:



Thanks a lot!

Regards, Holger


@Codeman I have a first draft of the HowTo in here:

It describes the process of getting a LV2 Plugin properly compiled with the build script that we have in here:

Keep in mind this is a draft. Let us know of any issues you have.
I will be adding the deploy and publish sections soon.


A few updates have been made to the wiki page by @falkTX which fixes a few inconsistencies we had.

Also for those familiar with docker we have now a docker image that provides the MPB fully built:

So starting the MPB becomes as simple as:

$ docker run -ti moddevices/mod-plugin-builder

How to install unstable plugins?

Hi Guys,

./ just hangs while trying to connect to

ubuntu:~/ModDuo/mod-plugin-builder$ ./ 
--2016-12-17 17:30:03--
Resolving (
Connecting to (||:80... 

pinging also hangs:

ubuntu:~/ModDuo/mod-plugin-builder$ ping
PING ( 56(84) bytes of data.

Is this just a temporary problem with the site or has it gone for good?




While getting crosstools-ng built from git the ping I had running leapt into life so the server is back.


compiling the build environment goes ok for me for a while, but then i’m running into this:

[INFO ]  Installing final gcc compiler
[EXTRA]    Configuring final gcc compiler
[EXTRA]    Building final gcc compiler
[ERROR]    cfns.gperf:101:1: error: 'const char* libc_name_p(const char*, unsigned int)' redeclared inline with       'gnu_inline' attribute
[ERROR]    make[3]: *** [cp/except.o] Error 1
[ERROR]    make[2]: *** [all-gcc] Error 2
[ERROR]    make[1]: *** [all] Error 2
[ERROR]  >>
[ERROR]  >>  Build failed in step 'Installing final gcc compiler'
[ERROR]  >>        called in step '(top-level)'
[ERROR]  >>
[ERROR]  >>  Error happened in: CT_DoExecLog[scripts/functions@257]
[ERROR]  >>        called from: do_gcc_backend[scripts/build/cc/]
[ERROR]  >>        called from: do_gcc_for_host[scripts/build/cc/]
[ERROR]  >>        called from: do_cc_for_host[scripts/build/]
[ERROR]  >>        called from: main[scripts/]
[ERROR]  >>
[ERROR]  >>  For more info on this error, look at the file: 'build.log'
[ERROR]  >>  There is a list of known issues, some with workarounds, in:
[ERROR]  >>      'docs/B - Known issues.txt'
[ERROR]  (elapsed: 25:43.54)
[25:43] / ct-ng:152: recipe for target 'build' failed
make: *** [build] Error 2



Im having trouble with bootstrap too, this happens pretty fast:

➜ mod-plugin-builder git:(master) ./
–2017-03-18 03:51:41--
Carregou certificado CA "/etc/ssl/certs/ca-certificates.crt"
Conectando-se a||:443… conectado.
A requisição HTTP foi enviada, aguardando resposta… 200 OK
Tamanho: 4845 (4,7K) [text/plain]
Salvando em: “130-build_gcc-5_with_gcc-6.patch”

130-build_gcc-5_with_gcc-6.patch 100%[===========================================================================================>] 4,73K --.-KB/s em 0s

2017-03-18 03:51:42 (25,7 MB/s) - “130-build_gcc-5_with_gcc-6.patch” salvo [4845/4845]

GEN 'config/’
CC '’
In file included from
zconf.hash.c:167:1: error: conflicting types for ‘kconf_id_lookup’
kconf_id_lookup (register const char *str, register size_t len)
zconf.hash.c:34:31: note: previous declaration of ‘kconf_id_lookup’ was here
static const struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len);
make[2]: *** [Makefile:89:] Error 1
make[1]: *** [Makefile:167: build-lib-kconfig] Error 2
make: *** [Makefile:127: build] Error 2


The plugin builder does not work with gcc-6.
Cleanup the ~/mod-workdir folder, then install gcc-4 if you can (known to work) and run it like this:

export CC=gcc-4.9
export CXX=g++-4.9


same on debian stretch.
it took more then hour to get the error message.


fixed bootstrap issues on master
you are welcome to test



I’m getting this error:

m4/attributes.m4:87: CC_CHECK_LDFLAGS is expanded from...
m4/attributes.m4:104: CC_NOUNDEFINED is expanded from... the top level
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at /home/rui/mod-workdir/plugins-dep/host/usr/bin/automake line 3936.
autoreconf: /home/rui/mod-workdir/plugins-dep/host/usr/bin/automake failed with exit status: 255
package/ recipe for target '/home/rui/mod-workdir/plugins-dep/build/alsa-lib-1.1.0/.stamp_configured' failed
make[1]: *** [/home/rui/mod-workdir/plugins-dep/build/alsa-lib-1.1.0/.stamp_configured] Error 1
Makefile:36: recipe for target '_all' failed
make: *** [_all] Error 2



What version of Perl ar you using?




My guess it has something to do with a library. (I am running perl version 5.22.1) The error made me think a character was missing on line 3936 of the automake file. I looked into it on my computer and it seems to be good. You could try to place a blackslash where HERE is pointing to:
m/\ ${ <-- HERE ([^ \t=:+{}]+)}/ at /home/rui/mod-workdir/plugins-dep/host/usr/bin/automake
if that doesn’t work, revert and replace the m with a s at the beginning of that line


FWIW I started developing for Duo recently via the docker route which at least guarantees a working toolchain + dependencies.


@Jarno and @devcurmudgeon, thanks for the replays, but I’m using docker and “solve” my problem that way last Friday.


Hi everyone,

I return to linux because docker (for MacOS at least) have some limitations.
I solve the compilation problem changing this regex:

 $text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;

with this one…

$text =~ 's/\$\{([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker (\$1)/ge';