octave-maintainers
[Top][All Lists]
Advanced

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

Re: GSoC project


From: Philip Nienhuis
Subject: Re: GSoC project
Date: Mon, 17 Jun 2013 23:36:32 +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

Michael Goffioul wrote:
On Sun, Jun 16, 2013 at 6:11 PM, PhilipNienhuis <address@hidden
<mailto:address@hidden>> wrote:

     >> jwe's update said that the dependencies missing in his fork of
    MXE are
     >> ghostscript, pstoedit, fig2dev, and Java. The dependency
    pstoedit has
     >> already been added (see the list of dependencies in my blog
    update [1]).
     >> Should I start my work on adding the remaining of these
    dependencies?

    After glancing through that list I have a few remarks:

    - There are a number of "of-***" dependencies which are octave-forge
    packages. Octave is not really depending on those, they're just add-ons.
    They do no harm but IMO you can ignore these for the time being, it
    is very
    easy to add more of those later on.


IMO octave forge packages should be part of the final binary. And some
packages will introduce additional non-trivial dependencies. It seems
that the core of native/MinGW is already done. Though a significant
amount of work is left to integrate all forge packages and build
everything into a nice installer.

    - I've been busy trying to add Java and LLVM in the MXE builds. The
    stumbling block is that changing configure options for Octave itself
    leads
    to build errors, maybe related to cross-compiling.
    Java had probably best be added once building with MinGW/MXE works
    natively
    on Windows. llvm is already built in MXE but somehow it doesn't get
    included
    in Octave itself.


IMO one should not try to include Java in the binaries. As a user, I'd
be upset to see octave binary install its own version of Java instead of
using the one already available on the system.

Yep, I meant "adding Java *support*" (i.e., getting core Java support to work).
Indeed, including a JRE would be ridiculous. We don't want to mimic Matlab.

 >> 2) implement a user-friendly installer for Windows; here my
suggestion is
 >>> to re-use (and re-engineer) the installer I used to use for my MSVC
 >>> binaries
 >>>
 >>
 >> Can you give me some resources of the installer you had used earlier?

In MXE there's already a basic installer (NSIS) built in (see #8051 in the
patch tracker). In Octave-Forge there's an older NSIS build script for the
3.2.4 Octave binary, see:
http://sourceforge.net/p/octave/code/HEAD/tree/trunk/octave-forge/admin/Windows/mingw32/octave.nsi.in

That's funny. The reference above is actually a rip-off my own installer
script... :)

Did Benjamin rework yours? (I assume the URL points to the script he used; that is, Jordi pointed me to it some years back when I mentioned Benjamin's installer to someone)
Wouldn't surprise me, your work is all over the place.

 > OK it takes up a bit of disk space [1] (should be no big deal these days)
 > but it is very convenient for the majority of potential Windows users to
 > have this build environment already present in their Octave installation.
 > For the developers there's an advantage too: user support, debugging and
 > solving problems gets a lot easier if the included build tools are
 > standardized.
 >
 > [1] Today's cross-compiled MXE binary takes up around 500 MB after
 > installation in Windows. This includes a build environment sufficiently
 > complete for binary octave-forge packages (provided these do not need
 > additional dependencies).

Well, if all developers are using the same reasoning, your HDD will
quickly get cluttered :). The fact that disk space is cheap these days
is not a reason to waste it.

200 MB for MSYS/MinGW is still better than 2.2 GB for MSVC. At least it would allow for installing binary packages without (hopefully) provoking too much user support requests ("How can I get package 'foo' installed?")

 As a user, if I already have MSYS installed
on my system, I'd rather have octave use it instead of installing its
own version. Octave should still be shipped with a stripped down version
of MSYS, but its installation should be optional.

Well, you are not quite a standard 'plain-vanilla' Windows user.

I suppose for the majority of Windows users-as-we-think-we-know-them it does make sense to include some basic standardized build tools to enable them to install/upgrade binary packages directly from Sourceforge, or from anywhere else for that matter. AFAICS the included build tools in mxe-octave suffice for just that. I tried doing more (i.e., building Octave) but to do so I needed to expand and augment it considerably to just get a first start (configure to run).

A main motive of the mxe build (as I understood it from jwe) was to offer a standardized environment so that support and assistance with debugging etc. would be simplified for the developers. It would also save developers the hassle of separately packaging OF packages, like you did for the MSVC binaries (although I know that e.g., several Linux distros have other opinions, or traditions).

Perhaps the build tools/MSYS could be an installation time choice that should explicitly be deselected to avoid installing them.

Philip


reply via email to

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