[Csnd] which version of MinGW is used for the Windows build?
Date | 2013-11-18 19:24 |
From | Rory Walsh |
Subject | [Csnd] which version of MinGW is used for the Windows build? |
I'm just spent the past few hours trying to get a MinGW build of Cabbage going. It's building Ok, but on startup I get a "lib entry point libintl_printf could not be located in intl.dll" error and the program quits. Could the problem be that I'm using a different version of MinGW than that used to build Csound? I'll keep digging, but thought I'd ask just in case someone might be able to offer some advice. |
Date | 2013-11-18 19:40 |
From | Michael Gogins |
Subject | Re: [Csnd] which version of MinGW is used for the Windows build? |
If Cabbage uses C++ linkage with Csound, you must follow these instructions exactly. If it uses C linkage with Csound, you do not need to be exact. It is necessary to add a bunch of stuff to the default MinGW. Also, these things keep changing all the time. The instructions are up to date. For your information, here is the part about the compiler, build shell, and GTK libs (intl is one of those, I think).
Csound 6 for Windows is built for the 32 bit architecture. Code is built optimized for release but also including debugging information. Code generation for all builds must be for release versions of all runtime libraries and all third party libraries.
Not only all components of Csound and CsoundAC, but also all third-party libraries that Csound links with dynamically – including Qt, FLTK, PortAudio, CsoundQt, and FluidSynth – must be built with code generated for propagating exceptions across image boundaries (dwarf2), and using the Posix threading model.
In general, at least the following compiler options should be used for building all Csound related code. The reason for the stack realignment option is given in:
C Options -g -O2 -fopenmp -march=nocona -mstackrealign -DNDEBUG -I/usr/local/include C++ Options -g -O2 -std=gnu++11 -fopenmp -march=nocona -mstackrealign -DNDEBUG -I/usr/local/include
Toolchain Tools are listed more or less in the order they should be installed. MinGW Compiler Updated 12 October 2013. All C++ binaries that are packaged with Csound must be built with the same C++ ABI. In practice, this means building everything with the same compiler. Download the MinGW-build installer from http://sourceforge.net/projects/mingwbuilds/files/latest/download?source=files and run it. Install to a directory such as D:/mingw32-4.8.1.
In 4.8.1, you must comment out, in cmath, the line using ::hypot as that function is actually a macro. MSys Checked 25 July 2013. In addition to the compiler, building Csound and its dependencies requires some other tools. Install MSys from http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/msys%2B7za%2Bwget%2Bsvn%2Bgit%2Bmercurial%2Bcvs-rev13.7z/download. This includes bison, flex, autotools and some other goodies.
Edit the MSys etc/fstab file to map the MinGW directory to /mingw. GTK+ Bundle Done 17 August 2013. Fluidsynth and perhaps some other third party packages require some GTK and GNU libraries not supplied with Msys.
Download the all-in-one GTK+ stack from http://www.gtk.org/download/index.php. Unzip it into the Msys directory so bin, lib, include, etc. all match. Regards, Mike ----------------------------------------------------- Michael GoginsIrreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Mon, Nov 18, 2013 at 2:24 PM, Rory Walsh <rorywalsh@ear.ie> wrote: I'm just spent the past few hours trying to get a MinGW build of |
Date | 2013-11-18 23:21 |
From | Rory Walsh |
Subject | Re: [Csnd] which version of MinGW is used for the Windows build? |
Success. It was the pd.dll that was messing things up. Reinstalling Csound6 without any of the 'extras' solved the problem. I have to do some more tests to see if this is the way to go. I might try a barebones Csound windows build. I don't need portaudio, portmidi, etc. As far as I can tell the only absolute dependency is libsndfile, is that correct? On 18 November 2013 20:40, Michael Gogins |
Date | 2013-11-18 23:54 |
From | Rory Walsh |
Subject | Re: [Csnd] which version of MinGW is used for the Windows build? |
Ok, that was short lived! After getting the initial build going I tried running Cabbage through gdb. It's horribly slow for some reason? It takes a good minute or two to load a process, and then everything runs very slow. I did manage to cause a segfault: Program received signal SIGSEGV, Segmentation fault. cs_cons_free (csound=csound@entry=0x49513e8, head=0x20202020) at c:/Users/mike/csound-csound6-git/Engine/csound_data_structures.c:72 72 c:/Users/mike/csound-csound6-git/Engine/csound_data_structures.c: No suc h file or directory. (gdb) So now I face a choice. 1) I can continue with MinGW with really slow debugging, or 2) move back to MSVC and get faster debugging but no debug info for Csound. Do you think debugging might be any faster if I was using my own build of Csound? On 19 November 2013 00:21, Rory Walsh |
Date | 2013-11-19 15:48 |
From | Rory Walsh |
Subject | Re: [Csnd] which version of MinGW is used for the Windows build? |
In the end I just did a minimal build of Csound and linked to that. It works fine and debugging is now much faster. I think that in future I might just bundle a minimal Csound with Cabbage just to make sure everything runs. I don't envy you Mike. This is the first stint of windows programming I've done in a while, argghhh!! On 18 November 2013 23:54, Rory Walsh |
Date | 2013-11-19 15:57 |
From | Michael Gogins |
Subject | Re: [Csnd] which version of MinGW is used for the Windows build? |
Please make your build of Cabbage for Csound 6 available to me, so that I can distribute it with the Windows installer. Regards, Mike ----------------------------------------------------- Michael GoginsIrreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Tue, Nov 19, 2013 at 10:48 AM, Rory Walsh <rorywalsh@ear.ie> wrote: In the end I just did a minimal build of Csound and linked to that. It |
Date | 2013-11-19 17:52 |
From | Rory Walsh |
Subject | Re: [Csnd] which version of MinGW is used for the Windows build? |
Well Cabbage is a pretty simple system to build so there shouldn't be any problems there :) On 19 November 2013 16:57, Michael Gogins |
Date | 2013-11-19 18:10 |
From | Michael Gogins |
Subject | Re: [Csnd] which version of MinGW is used for the Windows build? |
But I would need JUCE built with MinGW, correct? Regards, Mike -----------------------------------------------------
Michael GoginsIrreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Tue, Nov 19, 2013 at 12:52 PM, Rory Walsh <rorywalsh@ear.ie> wrote: Well Cabbage is a pretty simple system to build so there shouldn't be |
Date | 2013-11-19 18:18 |
From | Rory Walsh |
Subject | Re: [Csnd] which version of MinGW is used for the Windows build? |
No, Cabbage is completely self contained. All the JUCE stuff gets built with it. The latest version of Cabbage for windows and Csound6 is way to rough for inclusion with the current release, but hopefully it will be Ok for the next one. On 19 November 2013 19:10, Michael Gogins |
Date | 2013-11-19 18:26 |
From | Michael Gogins |
Subject | Re: [Csnd] which version of MinGW is used for the Windows build? |
So I just need the JUCE sources. Possibly, I could help smooth the rough edges. I think something like Cabbage is required for Csound to keep up with its competition. Regards, Mike
----------------------------------------------------- Michael GoginsIrreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Tue, Nov 19, 2013 at 1:18 PM, Rory Walsh <rorywalsh@ear.ie> wrote: No, Cabbage is completely self contained. All the JUCE stuff gets |
Date | 2013-11-19 18:53 |
From | Rory Walsh |
Subject | Re: [Csnd] which version of MinGW is used for the Windows build? |
There are plenty of rough edges but the code gets rewritten about twice a year! I don't mind the work though :) On 19 November 2013 19:26, Michael Gogins |