unable to build Rack from source

Hello, I’m trying to build Rack from source to be able to debug plugins I’m currently working on more effectively. Most of the dependencies build went ok, but I sadly, I’m hitting an error. Any Ideas how to solve that?

loren@DESKTOP-2OQJVBI MINGW64 /c/users/loren/documents/dev/rack
# make dep
make -C dep
make[1]: Entering directory '/c/users/loren/documents/dev/rack/dep'
cd speexdsp && ./autogen.sh
Updating build configuration files, please wait....
' is already registered with AC_CONFIG_FILES.
../autoconf-2.71/lib/autoconf/status.m4:289: AC_CONFIG_FILES is expanded from...
configure.ac:317: the top level
autom4te-2.71: error: /usr/bin/m4 failed with exit status: 1
aclocal-1.16: error: /usr/bin/autom4te-2.71 failed with exit status: 1
autoreconf-2.71: error: aclocal failed with exit status: 1
make[1]: *** [Makefile:172: lib/libspeexdsp.a] Error 1
make[1]: Leaving directory '/c/users/loren/documents/dev/rack/dep'
make: *** [Makefile:109: dep] Error 2

Thanks a Lot!

Edit: I’m on Win10 and I’ve done all the Windows setup instructions I want to build the latest version:

git clone https://github.com/VCVRack/Rack.git
cd Rack
git submodule update --recursive --init
make dep

Hi @LorenzNew! Maybe I can help. I have built Rack from source on Linux, but not Windows like you are doing. Did you follow the Windows setup instructions? Specifically, I wonder if you have installed the required tools like m4 correctly. I don’t know if you really have /usr/bin/m4 for example on a Windows system. From your shell, what happens when you do this?

ls -l /usr/bin/m4

on Windows 11, I do this:

in a MSYS2 MINGW64 shell:

pacman -Syu

git clone https://github.com/VCVRack/Rack.git
cd Rack
git submodule update --recursive --init
RTAUDIO_ASIO=1 make -j8 dep
make -j8
cd plugins
git clone https://github.com/VCVRack/Fundamental.git
cd Fundamental
make -j8 dist
cd ../..
make -j8 dist

ls -l dist

vcvrack.com: VCV Manual - Building

did you do git submodule update --recursive --init ?

@LorenzNew It’s easier to help if you give as more information, e.g. what OS are you using and which Rack version are you going to build?

1 Like

You might need to run pacman -Su pkg-config.

(Please let me know if that works.)

All the suggestions so far are reasonable. don’t think we can do much until OP gives more info…

1 Like

Thanks a lot! Yes I did that, several time actually :slight_smile:

loren@DESKTOP-2OQJVBI MINGW64  ~ 
# ls -l /usr/bin/m4
-rwxr-xr-x 1 loren loren 263912 Dec 29  2021 /usr/bin/m4

I updated my first post with more Information on my system.

Thanks for your fast support!

I executed that command, but I still get the error.

Is this a new install of msys2 or and old one? I’ve had problems before where I installed the wrong things with Pacman and eventually had to delete my msys2 and start over. Also, could you correct the spelling in the topic of this thread? That extra ‘t’ in “unable” is distracting.

btw, this isn’t “support”, this is just random ppl trying to help.

1 Like

In my first attempt, I stupidly installed msysy2 into “Program Files” which broke a lot because of the space in that path. So I reinstalled it into C:/

I think this was the solution. After executing the command, I had to start from a freshly cloned repository, but now I got a finished dependencies build.

Thanks a lot!!

So if anyone comes here in the future, try

pacman -Su pkg-config.

and run make dep on a fresh repo

5 Likes

@Richie what does that magic incantation do? Should it be in the instructions?

1 Like

It installs a tool that’s used by the libspeexdsp build script, and yes - I’ve asked Andrew to add it to the instructions.

2 Likes

I’m having the same issue, and installing pkg-config didn’t solve it.

make -C dep
make[1]: Entering directory '/d/music/dev/Rack/dep'
cd speexdsp && ./autogen.sh
Updating build configuration files, please wait....
' is already registered with AC_CONFIG_FILES.
../autoconf-2.71/lib/autoconf/status.m4:289: AC_CONFIG_FILES is expanded from...
configure.ac:317: the top level
autom4te-2.71: error: /usr/bin/m4 failed with exit status: 1
aclocal-1.16: error: /usr/bin/autom4te-2.71 failed with exit status: 1
autoreconf-2.71: error: aclocal failed with exit status: 1
make[1]: *** [Makefile:172: lib/libspeexdsp.a] Error 1
make[1]: Leaving directory '/d/music/dev/Rack/dep'
make: *** [Makefile:109: dep] Error 2

I’m on Windows 11, MSYS2 installed from msys2-x86_64-20230718.exe. The MINGW-64 shell is located inside C:\msys64\mingw64.exe I’ve tried cleaning the dep/speexdsp folder end cloning the submodule again, but the error is still there.

Any help would much appreciated. Thanks!

EDIT: For anyone with the same issue, the problem was that I used Git for WIndows to checkout Rack and the submodules, which uses a different line ending then Unix. I checked out again the deps using the git from MINGW itself and now it builds fine.

1 Like

That’s… totally unobvious (laugh). Line endings shouldn’t matter for tools/scripts in a cross-platform build environment. There is a broken tool or script in there somewhere. Of course, getting that limitation fixed could be a difficult, so we must apply voodoo.

There should be a note somewhere that tells us what git line ending settings must be configured for Rack to build.

To be clear, Git for Windows (or whatever other git you may be using) can be configured for the line endings that Rack builds expect – we just need to be informed what that is.

I just ran into the same problem with speexdsp and ended up with a complete reinstall of MSYS2. I must have done the git ops in the MINGW console this time.

2 Likes