octave-maintainers
[Top][All Lists]
Advanced

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

Re: update: cross compiling Octave for MinGW systems


From: Mike Miller
Subject: Re: update: cross compiling Octave for MinGW systems
Date: Wed, 12 Dec 2012 20:46:14 -0500

On Wed, Dec 12, 2012 at 4:18 PM, John W. Eaton wrote:
>
> Last month I posted some info about cross compiling Octave for Windows
> systems with MinGW using MXE (http://mxe.cc).  I now have nearly all
> the Octave dependencies building this way, along with a recent
> snapshot of the current Octave development sources.
>
> To see the current state of the project, here is what you need to do
> (on a GNU/Linux system; I've used Debian, it should also work on
> Fedora and the other systems listed on the MXE requirements page):
>
>   * install the required packages as described here:
>     http://mxe.cc/#requirements
>
>   * clone my fork of mxe:
>
>       hg clone http://hg.octave.org/mxe-octave
>
>   * build the cross tools and Octave:
>
>       cd mxe-octave
>       make octave
>
>     If you have more than one core available, you can run
>
>       make octave JOBS=4
>
>     or similar to do parallel builds.

Awesome! Sadly...

I get the following error (also on Debian):

Makefile:160: src/coreutils.mk: No such file or directory
make: *** No rule to make target `src/coreutils.mk'.  Stop.

> You'll end up with an almost complete version of Octave built for
> Windows with MinGW.  At this point, you can run
>
>   ./mk-dist
>
> to build the a version of GCC that can run on Windows and create a
> file dist/octave.tar.bz2 that includes Octave and all its
> dependencies.  You can copy this file over to a Windows system.  Start
> a MinGW/MSys or Cygwin shell and unpack it with

Are there any free software tools for creating an "installer" that a
Windows user would be more familiar with? I have used Inno Setup in
the past, but I'm not sure how libre it is.

> If this is to be made truly stand alone and independent of MinGW/MSys
> or Cygwin, then the dependencies would also need to include things
> like less, Texinfo, make, bison, flex, etc. and other tools that might
> be needed to either build packages that contain C++, C, or Fortran
> files, or to build Octave itself on Windows systems.  I'm not sure it
> whether to go that far, or just require that people install MinGW if
> they want to do development.

That's a lot to take on for what will probably be a small population
of users. I'd say the latter, if someone wants to build Octave or
develop packages for Octave, then defer to MinGW or to a free OS.

> I'm also thinking about distributing the dependency libraries that I
> build with this system so that people who have no way of cross
> compiling Octave but want to build it with MinGW running on a Windows
> system can easily do so without having to build everything from
> source.

Does this go along with your point above about including the
development tools with the package? I.e. if you choose not to
distribute bison with Octave then there's no point to distributing
dependency headers and libraries with Octave?

Combining both of those, development tools and development
dependencies, into an "Octave Developer Edition" premium package might
be a good follow-on project.

> I don't recall seeing any responses to the last post I made about this
> topic.  Is anyone else interested in it?  Has anyone tried using my
> fork of MXE to build Octave?

I don't currently have easy access to any Windows, so the build stage
is as far as I can go at this point. But I would like to try it at
least once. Can I run the result under wine...?

Aside from that, for my part I am interested, getting a reliable
cross-compile for Windows from a free OS sounds like a great step in
the right direction. I've dealt with setting up MinGW and building
libraries and a Qt application under Windows before and it was a lot
of work to get everything just right.

Philip Nienhuis wrote:
> Do you think building a 64-bit version would be possible using MXE?

Ditto, does MXE do mingw64?

Does it support using mingw tools installed from the Debian repos? I
see that Debian already provides mingw32 and mingw64 packages, could
MXE be coerced into using those?

-- 
mike


reply via email to

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