octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Building snapshot versions for Windows


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 directory
warning: 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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]