error: Build input file cannot be found: '/Users/rrabien/dev.github/slPlugins/plugins/ABTester/modules/juce/modules/juce_audio_plugin_client/LV2/juce_LV2TurtleDumpProgram.cpp' (in target 'ABTester - LV2 Manifest Helper' from project 'ABTester')
weird, I have slPlugins LV2 builds with JUCE 7.0.0 and didn’t see such messages
is it with Projucer?
Yes, with Projucer
stupid question, but is that file actually exist?
perhaps it’s Mac specific issue
wait, this file should be in the slPlugins/modules/juce
or do you reorganize it?
Nope, it’s just using the wrong path for some reason
yes, it passes it to the wrong in Mac export
BTW, have you consider using CMake for your plugins? It shall reduce build complexity a lot.
Yes, but I haven’t gotten around to it. Learning CMake is on my todo list.
I see the same error on my end, also using the Projucer and VS2022:
Error C1083 Cannot open source file: 'path\to\FancyProject\submodules\JUCE\modules\juce_audio_plugin_client\LV2\juce_LV2TurtleDumpProgram.cpp': No such file or directory path\to\FancyProject\builds\vs2022\c1xx 1 CMYK_LV2ManifestHelper
First Issue
It looks like the Projucer incorrectly sets the path to the juce_LV2TurtleDumpProgram.cpp
in the builds\vs2022\CMYK_LV2ManifestHelper.vcxproj
:
<ClCompile Include="submodules\JUCE\modules\juce_audio_plugin_client\LV2\juce_LV2TurtleDumpProgram.cpp"/>
In this case, the Include
attribute should be escaping twice. The paths set in the AdditionalIncludeDirectories
XML children in that same vcxproj
appear to work any other paths correctly.
Second Issue
Assuming the above is fixed, it looks like the Projucer still doesn’t set up the LV2 project up correctly. Notice the NewProject.dll
, which should be the name of my project (eg: FancyProject
in this example):
Error MSB3073 The command ""path\to\FancyProject\builds\vs2022\x64\Debug\LV2 Manifest Helper\juce_lv2_helper.exe" "path\to\FancyProject\builds\vs2022\x64\Debug\LV2 Plugin\NewProject.lv2\NewProject.dll"
:VCEnd" exited with code 9009. C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets 157 FancyProject_LV2Plugin
I think I see the cause of the first issue, we’ll fix that shortly.
I’m less sure about the second one. The Projucer should respect the “Binary Name” field of each configuration; if the “Binary Name” is “Custom” then the build system should produce “Custom.lv2/Custom.dll”. When creating a new project, the binary name is initially set to match the project name. Is it possible that the “Binary Name” field is set to “NewProject” in your .jucer project?
Strange - like you said, the Binary Name was set to NewProject… Which is odd because it used to be the actual project name before (ie: set to the default by removing the string altogether). Easy fix anyway. Sorry about that!
Interestingly this is now building on my ci (github actions) but not on my local machine (latest xcode)
I’ve pushed a fix for Projucer LV2 builds here:
This fix appears to be for MSVC, I’m having issues in Xcode 13.3.1 on Monterey
Seems fine on GitHub actions that uses Xcode 13.2.1 on Big Sur
Latest changes and it seems to die linking on mac:
/bin/sh -c /Users/runner/work/PAPU/PAPU/plugin/Builds/MacOSX/build/PAPU.build/Release/PAPU\\\ -\\\ LV2\\\ Plugin.build/Script-8C3576A278D6C1D114E9AF30.sh
ln: /Users/runner/Library/Audio/Plug-Ins/LV2//PAPU.lv2: No such file or directory
Command PhaseScriptExecution failed with a nonzero exit code
Any tips to actually get LV2 plugins to work? Anything I need to do other than enable the check box?
lilv_plugin_instantiate(): error: No plugin <file:///home/rrabien/.lv2/PAPU.lv2/www.socalabs.com/plugins/PAPU> in <file:///home/rrabien/.lv2/PAPU.lv2/PAPU.so>
Getting failures to instantiate in Carla and Ardour.
I think that autogenerated LV2URI hasn’t “:” separator, so it’s not properly recognized.
You can change the companyWebsite=
in the .jucer to https://www.socalabs.com
than LV2URI
will be https://www.socalabs.com/plugin/PAPU
, or set LV2URI
to https://socalabs.com/papu/
(that I use for my builds)