Instructions For Building Ardour 2.6.1 With VST And LV2 Support.

Hi, I am not a total linux noob but close enough.

I know how to build Ardour wist VST support. I used the instructions from the page provided on this site. Very straight forward. Thank you.

I would like to add LV2 support to the equation. I understand I will have to uninstall what I have built and rebuild.

So can someone help me with some straight forward instructions on how to add LV2 support to a 2.6.1/VST build?

Thanks

Philip

  • Get SLV2 0.6.0 from http://drobilla.net/software/slv2/
  • Make sure you got the dependencies SLV2 needs (like redland), and that you got the -devel packages for those installed.
  • Compile and install SLV2
  • Compile ardour the same way you did with VST and it should automatically pick up the SLV2 lib
  • I have installed SLV2 0.6.0 from my distro repo.

    Installed “redland” and the devel packages.

    So it appears I have the appropriate software installed.

    So if I understand you right compile ardour the same way I did with VST using the command scons VST=1

    There is no other command needed in this line?

    And it will “automatically pick up the SLV2 lib”

    Is it that easy?

    Thanks

    Philip

    Philip,

    You need to specify LV2 so use “scons VST=1 SLV2=1”

    Post back if you have problems,

    Thanks GMaq, that is what I needed to know.

    I am getting errors.

    In file included from /usr/include/slv2/slv2.h:28,
    from libs/ardour/ardour/lv2_plugin.h:34,
    from libs/ardour/ardour/plugin_manager.h:32,
    from libs/ardour/globals.cc:62:
    /usr/include/slv2/plugininstance.h:27:17: error: lv2.h: No such file or directory
    /usr/include/slv2/plugininstance.h:44: error: expected ‘;’ before ‘’ token
    /usr/include/slv2/plugininstance.h:45: error: ‘LV2_Handle’ does not name a type
    /usr/include/slv2/plugininstance.h:79: error: expected ‘,’ or ‘…’ before ‘
    ’ token
    /usr/include/slv2/plugininstance.h: In function ‘const char* slv2_instance_get_uri(_Instance*)’:
    /usr/include/slv2/plugininstance.h:99: error: ‘struct _Instance’ has no member named ‘lv2_descriptor’
    /usr/include/slv2/plugininstance.h:101: error: ‘struct _Instance’ has no member named ‘lv2_descriptor’
    /usr/include/slv2/plugininstance.h: In function ‘void slv2_instance_connect_port(_Instance*, uint32_t, void*)’:
    /usr/include/slv2/plugininstance.h:116: error: ‘struct _Instance’ has no member named ‘lv2_descriptor’
    /usr/include/slv2/plugininstance.h:117: error: ‘struct _Instance’ has no member named ‘lv2_descriptor’
    /usr/include/slv2/plugininstance.h:119: error: ‘struct _Instance’ has no member named ‘lv2_descriptor’
    /usr/include/slv2/plugininstance.h:120: error: ‘struct _Instance’ has no member named ‘lv2_handle’
    /usr/include/slv2/plugininstance.h: In function ‘void slv2_instance_activate(_Instance*)’:
    /usr/include/slv2/plugininstance.h:134: error: ‘struct _Instance’ has no member named ‘lv2_descriptor’
    /usr/include/slv2/plugininstance.h:136: error: ‘struct _Instance’ has no member named ‘lv2_descriptor’
    /usr/include/slv2/plugininstance.h:137: error: ‘struct _Instance’ has no member named ‘lv2_descriptor’
    /usr/include/slv2/plugininstance.h:137: error: ‘struct _Instance’ has no member named ‘lv2_handle’
    /usr/include/slv2/plugininstance.h: In function ‘void slv2_instance_run(_Instance*, uint32_t)’:
    /usr/include/slv2/plugininstance.h:151: error: ‘struct _Instance’ has no member named ‘lv2_descriptor’
    /usr/include/slv2/plugininstance.h:152: error: ‘struct _Instance’ has no member named ‘lv2_handle’
    /usr/include/slv2/plugininstance.h:155: error: ‘struct _Instance’ has no member named ‘lv2_descriptor’
    /usr/include/slv2/plugininstance.h:155: error: ‘struct _Instance’ has no member named ‘lv2_handle’
    /usr/include/slv2/plugininstance.h: In function ‘void slv2_instance_deactivate(_Instance*)’:
    /usr/include/slv2/plugininstance.h:168: error: ‘struct _Instance’ has no member named ‘lv2_descriptor’
    /usr/include/slv2/plugininstance.h:169: error: ‘struct _Instance’ has no member named ‘lv2_handle’
    /usr/include/slv2/plugininstance.h:171: error: ‘struct _Instance’ has no member named ‘lv2_descriptor’
    /usr/include/slv2/plugininstance.h:172: error: ‘struct _Instance’ has no member named ‘lv2_descriptor’
    /usr/include/slv2/plugininstance.h:172: error: ‘struct _Instance’ has no member named ‘lv2_handle’
    /usr/include/slv2/plugininstance.h: At global scope:
    /usr/include/slv2/plugininstance.h:183: error: expected initializer before ‘’ token
    /usr/include/slv2/plugininstance.h:200: error: ‘LV2_Handle’ does not name a type
    /usr/include/slv2/lv2_ui.h:210: error: expected ‘,’ or ‘…’ before ‘
    ’ token
    /usr/include/slv2/pluginuiinstance.h:68: error: expected ‘,’ or ‘…’ before ‘’ token
    libs/ardour/ardour/lv2_plugin.h:69: error: ISO C++ forbids declaration of ‘LV2_Feature’ with no type
    libs/ardour/ardour/lv2_plugin.h:69: error: expected ‘;’ before ‘
    ’ token
    libs/ardour/ardour/lv2_plugin.h:71: error: expected `;’ before ‘std’
    libs/ardour/ardour/lv2_plugin.h:116: error: ISO C++ forbids declaration of ‘LV2_Feature’ with no type
    libs/ardour/ardour/lv2_plugin.h:116: error: expected ‘;’ before ‘’ token
    libs/ardour/ardour/lv2_plugin.h:132: error: ‘LV2_Feature’ does not name a type
    libs/ardour/ardour/lv2_plugin.h:133: error: ‘LV2_Feature’ does not name a type
    libs/ardour/ardour/lv2_plugin.h: In member function ‘const void
    ARDOUR::LV2Plugin::extension_data(const char*)’:
    libs/ardour/ardour/lv2_plugin.h:63: error: ‘struct _Instance’ has no member named ‘lv2_descriptor’
    scons: *** [libs/ardour/globals.os] Error 1
    scons: building terminated because of errors.

    It ends at this point after a long process.

    Any ideas?

    Thanks

    Philip

    What distro?

    In my case I had to compile slv2 for myself, You mentioned you got it from a repo, Are you sure it was 0.6.0? And did you install slv2-dev?

    When you compile slv2 yourself, how do you install slv2-dev? In the fedora repo they didn’t seem to have 0.6.0 yet.

    Thanks
    Kevin

    compiling and installing a library yourself makes things like slv2-dev irrelevant. The include headers will be installed in /usr/local/include by default as much as the runtime library executable you just compiled.

    Things like softwareX-dev are only relevant in the context precompiled packages you download from your distro repository. Package maintainers separate elemnts to be installed into at least 2 types of packages : the core stuff that needs to be installed to run (executable binaries, runtime libs) and so called development packages which mainly include header files for function declarations necessary to compile other softwares that need these declarations for the compiler to succeed the compilation job.

    Thanks for the replies.

    My disrto is pclinuxos and yes I installed slv2 0.6.0 and the dev files.

    Are these errors saying they can’t be found?

    Thanks

    Philip

    I have a successful build now.

    Thanks for your responses.

    Now to figure out how to get LV2 plugins to install.