Hora V2 should still take a bit of time

Podman is 95% syntactically equivalent to docker. it has podman build that does the same as docker build. Moreover, you can symlink/script/alias podman to docker and most projects will build fine.

The toolchains, for example, build fine on my system without modifying the Makefile’s docker-build and DOCKER_RUN definitions. Arch actually has a meta-package that does the docker<->podman magic for you, including re-writing all podman man files to man docker-xxxx.

Podman, in addition to having a podman build, has an extended build system called buildah that allows a much finer grained control on building. I use buildah ,for example, to update the toolchain image with new SDKs without re-building the whole thing (yes, 25 minutes is too much for me :grin:). I start an interactive toolchain container instance, make a change to the version inside the Makefile, delete the SDKs and run the toolchain-all target to get only the updated SDKs. I then stop the container, and with a single buildah commend I commit and squash the container into a new toolchain docker image. Takes me just about 5 minutes. I also prefer podman as its able run rootless containers and does not use a privileged central daemon as docker does.

2 Likes

I built the windows only tool chain in an Ubuntu VM under win10. Building the tool chain took, I think, a few hours. Once it’s built it’s pretty easy to build your plugins. Did not seem to take much longer than a native win build, so like a couple of minutes?

This was all with the v1 tool chain, but I don’t think it’s changed much.

Sorry to read you are having so much trouble getting systems to work.

But please remain your sanity :slight_smile:
No need to drive yourself up the wall into a burn out.

Yes the plugins in the library need a fix, but we will wait as long is takes for you to get it done right.

All is good :pray:t4:

6 Likes

Will use the toolchain to compile the linux versions from a linux VM… My virtual machine is so slow than I’m afraid yet by the announced “few hours”…

@Eurikon I shoud stop and take a break but I’ve a serious problem with failure acceptation :sweat_smile: and will probably only find tranquility when all will be done.

1 Like

OK make toolchain -lin doesn’t work here. I don’t want even to look why, 3 wasted days are enough for me. So, which ubuntu version do I have to install on my VM to be able to compile wtiheout the toolchain (and get the plugins working on old distros)?

Sorry to hear you’ve got such hard time building the toolchains. Use Ubuntu 16.04.7 LTS (Xenial Xerus) for best compatibility for Linux plugin users.

Is there a quick to build Docker for Ubuntu 16.04.7LTS that we can then use to build the SDK the same way we do on Mac or Win?

Yes, but not really quick. Ubuntu 16.04 Docker is available on Docker hub, so you can very quickly launch a 16.04 container. The issue is that the SDK is built as part of the Rack build process (it’s the “dist” target) and to build Rack on 16.04, you’ll need to upgrade cmake and gcc. But once you do that you should be able to build the SDK on 16.04. The linux toolchain is already equipped with a proper version of gcc and a new enough cmake (whatever is available on 20.04 - Focal). Why would you be interested in building a 16.04 linked SDK when you can just as easily download the packaged SDKs from https://vcvrack.com/downloads?

No I was suggesting using the RackSDK downloaded from the site, just starting from a basic Ubuntu 16.04 base. I may be solidly misunderstanding this so pardon me if I’m way wrong.

Oh I see. Yes, that would work. This is actually how I built plugins for distribution during the V1 porting days in 2019. I had a 16.04 container that mounted a directory with the plugin source and the SDK and built a distributable plugin. For Mac, I had a script that copied the plugin source tarball to my Mac, and built it over SSH, then copy it back to my workstation, and all of this was tied up with a master build script. All this mess came to an end once I setup the toolchain docker image. Anyways, the amount of work setting this up is similar to running Xenial in a VM, so it’s only a matter of what the dev is more comfortable with.

Thanks for the clarification! Oh and just in case it’s confusing as to why I’m chiming in - I already build the Mac versions of Hora and test them.

The only thing that I would caution with regarding building in a 16.04 Docker or VM is that the compiler version there is very old. In rare circumstances, you might end up with build errors as the dev uses code that either triggers a bug in GCC, or is not compliant with the code conventions at that time. I never experienced that, but it might happen (it happens if you try building Rack itself). The toolchain, though is based on 16.04 libraries, has a modern GCC that eliminates this issue.

@netboy3 The tools are probably pretty good, cross compiling isn’t something simple to implement. My lack of knowledges about linux is what to blame.

Thanks you and also to everyone for your answers and advices.

2 Likes

Is there a Ubuntu repository you could recommend to add in Ubuntu 16.04, so that one would get an adequate cmake and the gcc-11 compiler, when just doing an apt update ?

1 Like

For the GCC toolchain, you can use the Ubuntu Toolchain PPA. Latest for 16.04 is gcc-9 which should build Rack fine. Make sure to use update-alternatives to set the new version as default.

For CMake, you can use the official Kitware APT Repo, or build CMake from source - it only takes a few minutes. Either way, make sure to purge the standard cmake before installing the new one.

1 Like

Thanks!

Yeah, it was more for building plugins having a reasonable chance to work well for other people as well. Since the official build-system now uses gcc-11, both for Rack and plugins as I understand it, there’s already been reports in here of strange symbol mismatches because of this. But if 16.04 can’t go to eleven then that’s how it is I suppose.

16.04 can go to gcc-11, there are simply no credible PPAs I know of. This is why the crosstool-ng toolchain builder above is such an invaluable resource. You get the latest build tools that are linking to older core libraries.

2 Likes

Am I right in thinking you’re still working on the updates? I tried to use Detour in VST a few times and it crashes unfortunately. Using Bitwig on a Mac Mini M1 Big Sur.

Thanks in advance.

There is a big update for Hora on its way to the library, most likely being processed right now or in cue.

From what i know is that a lot of bugs that slipped in with the current release are fixed, as well as all PCM drum modules should now work correctly on the Mac.

Hope this counts too for Detour.

1 Like

@secretcinema Detour fixed and sent to VCV four days ago, I assume it should be added soon.

2 Likes