[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