Building on Windows from scratch - follow up
Geert Janssens
janssens-geert at telenet.be
Tue Apr 29 03:24:56 EDT 2014
On Monday 28 April 2014 14:23:55 John Ralls wrote:
> On Apr 28, 2014, at 1:10 PM, Geert Janssens <janssens-
geert at telenet.be> wrote:
> > I don't know if you have started this already but meanwhile I found
> > a
> > couple of bugs still (I pushed my most recent fix about 45 mins
> > ago).
> >
> > You may want to pull my most recent changes, remove the generated
> > custom.sh file and then rerun the bootstrap script.
> >
> > There was a bug in the generated custom.sh and apparently the libdbi
> > patches lost some critical whitespace somewhere in my git
> > manipulations.
> >
> > Both should be fixed now. My test machine is currently in the
> > inst_gnucash step. It got past qof already meaning the new build
> > system is happy with your c++ patches. Nice :)
>
> I hadn’t, yet, so I tried. I had to fiddle around a bit to get it to
> work in one of my “alternate” MinGW installations, but once that was
> working OK, I got a bunch of errors:
>
> configuring msys to use c:/FooMinGWBar/mingw.
> mingw-get.exe: *** ERROR *** there is no release matching
> mingw32-mingwrt-dev=4.0.3-1 mingw-get.exe: *** ERROR *** available
<snip>
> there is no release matching mingw32-libgcc-dll=4.8.1-3
<snip>
> *** ERROR *** there
> is no release matching mingw32-gcc=4.8.1-3 mingw-get.exe: *** ERROR
Clearly your mingw configuration is not being upgraded to gcc 4.8.1 and
its dependencies. I actually never tested "upgrading" an existing mingw
install. I always let the bootstrap script install a fresh one.
I think that makes most sense. My new scripts use mingw's package
manager (mingw-get) to install mingw and msys. This was not the case
with the old scripts. So it think it's better to start from scratch
once.
>
> After which is proceeded on to regex. It’s happily downloading stuff,
> we’ll see what happens when it gets around to actually building
> something.
>
Since gcc didn't get updated to 4.8, there's not much sense in
continuing... That was the point of the exercise.
> Perhaps I’m not starting with a new enough mingw? It’s from a year or
> so ago IIRC. What version are you using?
>
The bootstrap script is written to allow users to start from scratch.
You don't need to have mingw installed at all. It will download all the
necessary components to get started. mingw-get is currently at version
0.6.2 which will install fairly recent components.
By default it will install in c:\gcdev. If you want another location you
can tweak the parameters at the beginning of the script.
To avoid any confusion let me state this explicitly: the bootstrap
script (bootstrap_win_dev.vbs) is a windows visual basic script. It
doesn't have any dependencies on anything mingw or msys related. To get
bootstrapped you should only download this single script and run it. Not
from msys but either
- double click in the windows explorer
- from a windows cmd prompt by entering the path to the script
- with persistent console, also from a cmd prompt but this time entering
cscript <path to the bootstrap script>
Finally a few powertweaks you may be interested in:
- the bootstrap script also installs git in the default location. If you
want to reuse an already existing git installation, modify the GIT_DIR
parameter at the beginning of the script to point at the existing
installation. The chosen location will also be added to custom.sh so the
actual build scripts will pick it up as well.
- Similarly if you want to reuse other components like the html-help or
iss installer builder, you can add paths to their respective directories
in the generated custom.sh script after bootstrap has run.
Geert
More information about the gnucash-devel
mailing list