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