How to setup own LV2 plugins?


#1

Hi,

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


#2

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:


#3

Hi!

Thanks a lot!

Regards, Holger


#4

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

http://wiki.moddevices.com/wiki/How_To_Build_and_Deploy_LV2_Plugin_to_MOD_Duo

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.


#5

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: https://hub.docker.com/r/moddevices/mod-plugin-builder/

So starting the MPB becomes as simple as:

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


How to install unstable plugins?
#6

Hi Guys,

./bootstrap.sh just hangs while trying to connect to crosstool-ng.org

ubuntu:~/ModDuo/mod-plugin-builder$ ./bootstrap.sh 
--2016-12-17 17:30:03--  http://crosstool-ng.org/download/crosstool-ng//crosstool-ng-1.22.0.tar.bz2
Resolving crosstool-ng.org (crosstool-ng.org)... 140.211.15.129
Connecting to crosstool-ng.org (crosstool-ng.org)|140.211.15.129|:80... 

pinging also hangs:

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

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

Cheers

Andy


#7

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


#8

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]  >>
[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/100-gcc.sh@944]
[ERROR]  >>        called from: do_gcc_for_host[scripts/build/cc/100-gcc.sh@663]
[ERROR]  >>        called from: do_cc_for_host[scripts/build/cc.sh@56]
[ERROR]  >>        called from: main[scripts/crosstool-NG.sh@646]
[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]   
[ERROR]  (elapsed: 25:43.54)
[25:43] / ct-ng:152: recipe for target 'build' failed
make: *** [build] Error 2

hmmmmm…


#10

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

➜ mod-plugin-builder git:(master) ./bootstrap.sh
–2017-03-18 03:51:41-- https://raw.githubusercontent.com/crosstool-ng/crosstool-ng/5a5fcbe148acf35372ecac145816c3515e6b8839/patches/gcc/5.3.0/130-build_gcc-5_with_gcc-6.patch
Carregou certificado CA "/etc/ssl/certs/ca-certificates.crt"
Resolvendo raw.githubusercontent.com… 151.101.4.133
Conectando-se a raw.githubusercontent.com|151.101.4.133|: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/configure.in’
GEN 'paths.mk
GEN 'paths.sh
CC 'zconf.tab.o’
In file included from zconf.tab.c:212:0:
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: zconf.tab.o] Error 1
make[1]: *** [Makefile:167: build-lib-kconfig] Error 2
make: *** [Makefile:127: build] Error 2


#11

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
./bootstrap.sh

#12

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


#13

fixed bootstrap issues on master
you are welcome to test


#14

Hi,

I’m getting this error:

m4/attributes.m4:87: CC_CHECK_LDFLAGS is expanded from...
m4/attributes.m4:104: CC_NOUNDEFINED is expanded from...
configure.ac:39: 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/pkg-generic.mk:185: 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

---------------

#15

What version of Perl ar you using?


#16

v5.26.1


#17

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


#18

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


#19

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


#20

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';