Ardour probably isn’t the best choice of software to try compiling for your first project to compile honestly. It is a fairly complex build and having a firm grasp on understanding of compilation is probably a good idea before doing so, especially on non-linux platforms.
@gylotip - are you aware of detailed C++ concepts such as name-mangling? Among other things it means that you’ll need to build all your C++ libraries using the same compiler. If MSYS is currently using mingw, you won’t be able to use your support libs with a version of Ardour built with MSVC - but as Robin hinted earlier, obtaining the correct support libs and building them with MSVC is near enough impossible now.
Okay, I installed all of the packages (some of them didn’t work) on https://github.com/msys2/MINGW-packages, and currently, I am at 4. Build Ardour step. Now, I have issues with
./waf distclean, because it gives an error
Error: run waf-light from a folder containing waflib. The Ardour folder is at
C:\Program Files\msys64\usr\src and the waflib is at
C:\Program Files\msys64\mingw64\lib\waf, and I cannot access that directory with mingw64, since it says that there are no such file directories. Moving that waflib folder to the ardour folder, and running
./waf distclean will gives this error
Waf script '2.0.23' and library '2.0.20' do not match (directory 'C:/Program Files/msys64/usr/src/ardour'). Now what am I supposed to do? Since I have issues with waf situation.
I do not know of any Ardour developers who use ./waf distclean. However, it does run normally here.
So, what am I supposed to do instead? Since this error seems like it cannot be fixed.
Generally I just use
rm -rf build/ but the error would suggest that there is something else wrong with the setup. I don’t know what, because we’ve not seen that error before.
On the first run of waf, it “unpacks itself” into a subfolder with a name like
.waf-<VERSION>-<HASH> You may want to check that this exists - if not that would be a clue.
Here are all of the folders containing
The one that would matter should be in /usr/src/ardour
There isn’t any waf files at usr/src/ardour directory.
Your image paste above shows cd’ing into /usr/src/ardour, patching the code and then running ./waf
What do you mean with that? I don’t understand.
There are currently these things that are not folders:
Currently, my situation is now like this:
But I still experience issues with compiling, and I don’t know what the issue is.
You seem to have attempted to install waf as a system-wide tool. That is not how waf works. It is included inside a project that uses it. There is never any reason to have waf “installed on your system”.
That said, your image paste showed you using
./waf which ought to work. At this point, I don’t have any advice on how to proceed.
Hmm, now I get a different error. Also, I am using Discord, so where can I ask about issues with compiling? Like, which server is suitable for asking help with compiling?
I can’t remember his name but didn’t there used to be an Australian guy who was building successfully using MinGW? Maybe that was before the days of waf though??
Based on the directory /usr/src/ardour/waf-master I would guess that it is configuring waf, i.e. attempting to rebuild waf rather than build ardour.
The “./waf configure” command should be run in /usr/src/ardour.
If I try to attempt that, then it gives an error like
Error: run waf-light from a folder containing waflib
Why do you have a waf-master directory inside the ardour directory? Why are you not just using waf which is already in the ardour source tree?