|
From: | Philip Nienhuis |
Subject: | Re: Building snapshot versions for Windows |
Date: | Mon, 06 May 2013 00:50:49 +0200 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.11) Gecko/20100701 SeaMonkey/2.0.6 |
Clemens Buchacher wrote:
On Sun, May 05, 2013 at 11:31:35AM -0700, PhilipNienhuis wrote:I managed to complete the build by applying the attached patch to mxe-octave. I had to upgrade to gcc 4.8.0, because gcc 4.7.2 does not build with texinfo 5.0, which is the current version installed by Arch Linux. Backporting the fix needed to 4.7.2 is a much larger patch than the one needed to get gcc 4.8.0 to build with mxe-octave. But gcc 4.8.0 currently breaks C++ mex files [2], so you may want to wait until that bug is fixed.Sorry I got lost here. Didn't you mix up MinGW and MXE? MXE is for cross-compiling a Windows build in Linux; AFAIK it still invokes gcc 4.7.2.Maybe I am confused about something, but it is my impression that the gcc for Windows built by MXE _is_ the MinGW gcc. Normally, MXE builds gcc 4.7.2. That is not possible on my machine because gcc's build system as of that version breaks with texinfo version 5.0 installed on the host.
Am I still missing something? I'm at loss what a locally installed texinfo 5.0 has to do with an MXE build.
MXE-octave downloads and installs texinfo 4.13a and uses that for the MXE build. In fact MXE downloads & builds all dependencies needed for the Windows build; it's a fairly closed system, separate from your native Linux. It has to be, otherwise MXE will break on the plethora of natively installed SW versions on each and every development box. Just have a look in ./mxe-octave/pkg/ or ./mxe-octave/index.html to see what dependencies are downloaded, built and invoked to build Octave.
Anyway trying the example in bug #37122 with tonight's MXE build on Windows XP gets you this:
>> cd c:/tmp/mex >> mex mex_test.c subdir/f.c subdir/g.c mex_test.c:3:36: error: declaration of 'plhs' as array of voids mex_test.c:3:68: error: declaration of 'prhs' as array of voids g++: error: mex_test.o: No such file or directorywarning: unable to find mkoctfile in expected location: 'X:\Octave\octave-3.7.3+_MXE\bin\mkoctfile-3.7.3+'
warning: mkoctfile exited with failure status >> Apparently there are errors in the example itself.The mkoctfile warning is a bit misleading, AFAICS it always occurs when there are compile errors.
<snip>
Unfortunately, I can only test the Windows build at work, since I do not have any Windows machines at home. How do you guys test your Windows builds?VirtualBox?I only have OEM versions, and I don't think I am allowed to install those in VirtualBox. Oh well, I guess I'll test it at work then.
Ah there's the problem. Non-free operating system.One can legally buy second hand Windows licenses for a very small price on e.g., eBay. Although MS forbids that in the EULA, that clause has been overturned in European courts. If you care you could try ReactOS, that project even has complete virtual machines for download; but I wonder if it could run a big program like Octave at all (I never tried).
I'm away next week, so I'm afraid I have very little opportunity to help you further until mid-May.
Philip
[Prev in Thread] | Current Thread | [Next in Thread] |