Rack: tips for building 0.6 on windows

Created on 17 Feb 2018  路  27Comments  路  Source: VCVRack/Rack

In addition to the packages you need to make 0.5, I installed these:

libtool
libcurl-devl
automake
autoconf

It's very painful to make the deps on windows. It takes forever, and speexdsp will build every time you type make dep. So it's nice if you can round up all the dependent packages first.

Also, just learned today, in the dep folder make clean will clean out and failed partial builds of dep.

Most helpful comment

"Optimizations" is a vague term, but there are a few changes that affect performance in master.

All 27 comments

You shouldn't need any of those. Neither of my Windows build machines have those packages and they build the latest master branch just fine.

Maybe this is why you're having trouble? https://github.com/VCVRack/Rack/issues/258#issuecomment-366471692

I don't think so. I was getting legit build errors that were saying things like "curl not found". i really didn't have libtool or automake or any of the other ones. I don't think.

Of course in the process of getting it to build I did pull again. pull didn't find anything, but pull --recurse-submodules did.

So, yeah, maybe I didn't really need to get those packages, but it sure looked like I did.

Anyway everything is building fine now.

pull --recurse-submodules Do not do this. The submodules use an exact commit that is required to guarantee API and ABI compatibility. I'm not sure if git reset --hard HEAD solves this, but you should undo that command.

well, I can always use the tried and true "nuke the entire folder and start over method".

fwiw, I suspect I'm not the only one here who as used git a ton, but has used submodules very, very infrequently.

I'm tryign to build as per the instructions here

https://github.com/VCVRack/Rack/issues/258#issuecomment-366471692

and get these errors

git clone https://github.com/thestk/rtmidi.git
Cloning into 'rtmidi'...
remote: Counting objects: 1691, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 1691 (delta 0), reused 1 (delta 0), pack-reused 1688
Receiving objects: 100% (1691/1691), 1.32 MiB | 479.00 KiB/s, done.
Resolving deltas: 100% (1073/1073), done.
cd rtmidi && ./autogen.sh --no-configure && ./configure --prefix="/home/Strum/rack_18_2_18/Rack/dep"
mkdir: created directory 'config'
mkdir: created directory 'm4'

Error: You must have `autoconf' installed.
Download the appropriate package for your distribution,
or get the source tarball at ftp://ftp.gnu.org/pub/gnu/

Error: You must have `libtool' installed.
You can get it from: ftp://ftp.gnu.org/pub/gnu/

Error: You must have `automake' installed.
You can get it from: ftp://ftp.gnu.org/pub/gnu/
make[1]: * [Makefile:144: bin/librtmidi-4.dll] Error 1
make[1]: Leaving directory '/home/Strum/rack_18_2_18/Rack/dep'
make: *
[Makefile:52: dep] Error 2

Strum: I ran into the same issues, check here:
https://github.com/VCVRack/Rack/issues/725
Also Andrew updated the plugin API thread with the relevant information:
https://github.com/VCVRack/Rack/issues/258#issuecomment-366471692

@Strum See https://github.com/VCVRack/Rack/issues/730

I've pre-packaged rtmidi and updated the build system. Delete the rtmidi folder and try it now.

@AndrewBelt

Thanks Andrew, I installed the extra tools but i'll do a fresh pull and test it works.

Is 0.6 available. Beta testing for a commercial dev. 0.6 is the upcoming release no?

Long story short, the testing turned up some performance issues. Not sure if it was the audio interface module causing the issue or my soundcard. Bypassing the audio device and recording a wav the problems were not present. If 0.6 is available it would help the developer determine what the issue is. Performance was decreased in the plugin and it does not sound as great lost some sizzle with the performance decrease.

Version 0.6.0 must be built by you. It's on a branch in the main git repo. There are directions in various places here. Make sure you check out the master branch in each repo you clone.

Does it include any optimizations @AndrewBelt.

"Optimizations" is a vague term, but there are a few changes that affect performance in master.

Not an API update, but for those not familiar with git or git submodules, you need to git checkout master, git pull, and git submodule update --init --recursive in the Rack/ directory to make sure you have the latest version of Rack and its dependencies.

It is recommended to clone a clean copy of Rack master instead of "pulling out the carpet" from beneath your Rack v0.5 branch, but if you wish to do so, make sure to make clean in the Rack/ and Rack/dep/ directories before rebuilding.

So if I just make a new folder in C:\msys64\home\Coirt\Rackv0.6 and clone master to here this would be the correct way? Run through the readme to get dep's and all that jazz...

Yes, that should work. I personally clone Rack with git clone -b master <url> Rack-master

@AndrewBelt Is Master v0.5.1 or v0.6 cloned yesterday but it seems to be v0.5.1. Is there a text file with the version number displayed to check which version I have?

Master doesn't have a version, it's the latest published development branch. Eventually, 0.6 will fork off of master, and I've announced that the API won't change until then.

I'm trying to test a v0.6 module but it won't load in the Master I cloned yesterday. Which version is the DACs/ADCs this is the version needed to test against.

The ABI might break until 0.6 is released. Try recompiling for your current Rack source tree

Its a commercial plug can't compile it.

oops - fumble fingered. hit the wrong button.

0.6 isn't released yet, so you can't really expect others' binaries to work on random master trees.

So how are you supposed to test v0.6 plugs. or does every need to what till v0.6 is released to update their plugs to that version?

If I was building for v0.6, which I planned to do this week for my own modules, go to those pages and get someone to do it is what you're telling me. I ask yesterday if master was version 0.6 thought that was a yes answer.

Squinky

Version 0.6.0 must be built by you.

Me

So if I just make a new folder in C:\msys64\home\Coirt\Rackv0.6 and clone master to here this would be the correct way?

You

Yes, that should work.

Figured it out v0.6dev! Do you want the solution posted here @AndrewBelt?

Closing as obsolete

Was this page helpful?
0 / 5 - 0 ratings

Related issues

AndrewBelt picture AndrewBelt  路  5Comments

Eoin-ONeill-Yokai picture Eoin-ONeill-Yokai  路  4Comments

synthi picture synthi  路  4Comments

LazyPike picture LazyPike  路  6Comments

dilom picture dilom  路  7Comments