Compiling a plugin

I try to compile a plugin according to this instruction: https://vcvrack.com/manual/Building I set the path in makefile to the RACK-SDK and although the path is the right path, I get the message: make: *** No rule to make target ‘C/msys64/home/Berndi/Rack-SDK/plugin.mk’. Stop. “Berndi” is my username in Windows.

What’s wrong With the makefile?

Your RACK_DIR should be a path that’s valid in msys2, C: isn’t valid, even if the missing colon was there, you probably want RACK_DIR set to /home/Berndi/Rack-SDK or ~/Rack-SDK. That’s assuming you’re running make from the msys2 environment, which you should be from the instructions you linked to.

e.g.:

cd ~/the-cloned-plugin
export RACK_DIR=~/Rack-SDK
make
1 Like

Sounds right to me. Just to throw it out there, I don’t put my rack stuff in home. In windows I put it in C:\Rack and put my plugin code in C:\Rack\plugins\SquinkyVCV. Then in msys I do cd /c/Rack/plugins/SquinkyVCV.

Using ~ is certainly a more normal Unix way to do things, and is what I do on Mac and Ubuntu. Probably if I wasn’t so win-centric I would have use ~ in msys also?

1 Like

I don’t understand that. What is a valid path in msys2? Can you give me an example? I tried it with …/{path} but that doesn’work too

I’m assuming you’re running these commands from the msys2 mingw 64-bit shell that the VCV Rack instructions recommend. In that shell the path “C:/” doesn’t exist. To access your C drive you need to use the path /c/.

e.g. If your path in Windows is C:/msys64/home/Berndi/Rack-SDK/ in the msys2 shell it will be /c/msys64/home/Berndi/Rack-SDK/

Have you tried with RACK_DIR set to /home/Berndi/Rack-SDK? You should be able to just cd to the directory of the plugin that you have cloned and run:

make RACK_DIR=/home/Berndi/Rack-SDK
1 Like

I did the following according to VCV - 404

git clone GitHub - wiqid/repelzen: modules for vcv rack cd repelzen git submodule update --init --recursive RACK_DIR=/home/Berndi/Rack-SDK make dep

I get this message make: Nothing to be done for ‘dep’.

WHAT’S WRONG???

“Nothing to be done for ‘dep’” is not an error, it was successful, you just need to continue with the other commands.

git clone https://github.com/wiqid/repelzen.git
cd repelzen
make RACK_DIR=/home/Berndi/Rack-SDK
make RACK_DIR=/home/Berndi/Rack-SDK RACK_USER_DIR=/c/Users/Berndi/Documents/Rack install

The ‘dep’ target builds any dependencies, there are no dependencies for this particular plugin so it completed successfully immediately.

You’ll also notice I didn’t call git submodule update --init --recursive in my commands above, that’s because this module doesn’t have any submodules, you can run it anyway though and it won’t do any harm.

Once you’ve built it I imagine you’ll want to install it into your plugin folder, to do that you need to run make install with RACK_USER_DIR pointing to your Rack installation directory, that’s what the last command does.

1 Like

Thank you, rare.breeds, that works!

2 Likes

If you are like me, it may take you a looooong time before the bash shell makes much sense to. If you use it enough you will probably grow to like it. eventually.

Hi there. I’m having a similar problem. The best I have got is the ‘nothing to be done for’‘’ message after a


bj@Edward CLANG64 /C/Users/bj/Dropbox/VCV2/Rack-SDK
$ make MyPlugin install
make: Nothing to be done for 'MyPlugin'.
make: *** No rule to make target 'install'.  Stop.

I have also had

bj@Edward CLANG64 /C/Users/bj/Dropbox/VCV2/Rack-SDK/myplugin
$ make
make: jq: No such file or directory
make: jq: No such file or directory
/C/Users/bj/Dropbox/VCV2/Rack-SDK/plugin.mk:9: *** SLUG could not be found in manifest.  Stop.

This is after I have cloned a module and changed one of the graphics to see if I can compile it.

I suspect I’ve got the environment variable wrong. I will have to work out how to check that I’ve set it up right. Does MSYS2 see different environment variables to Windows at large? Also after installing MSYS2 I notice I have two programs. MYSYS2 CLANG64 and MYSYS2 UCRT64. I’ve been using CLANG64. Could this be making a difference?

Thanks. And thanks for the information in this thread which has taken me out of the deadlock I was in from reading the VCV manual instructions…

I now realise that I probably missed the bit in the instructions saying to finish off setting up MSYS2 using the MinGW 64-bit shell. I have a feeling I probably did that in the CLANG64 terminal. I have now reinstalled the prescribed further installations in in MinGW 64-bit but am still getting the same errors.