From: Keith Marshall [mailto:keithmarshall@...]
Sent: Monday, February 06, 2012 2:17 PM
Subject: Re: [Mingw-users] Problem installing MinGW on non-networked computer
On 05/02/12 17:02, Sinkler, Wharton wrote:
[Reformatted. Please set your mailer to wrap text at ~72 columns;
an entire paragraph on only one line is difficult to read, difficult to
quote, and likely to get you ignored]
> I have been trying to get mingw installed on a computer which is not
> networked. I get errors if I just copy the normal installation scripts
> (mingw-get), as these apparently execute downloads.
They don't, if you pre-populate the package cache.
> This is a WinXP 32 bit machine.
> 'CreateProcess: No such file or directory'.
> It seems like 'CreateProcess' is missing, ...
If it is, then the windows kernel itself is missing, because ...
> presumably part of the gcc compiler.
... nope; CreateProcess is one of the kernel services.
Okay. That's pedantic, and not especially helpful. You may wish to
file a bug report with the gcc/gfortran maintainers, because the error
message itself is unhelpful; it *should* tell you which process image
file the CreateProcess service was unable to find, but it omits this
important item of information, (which *must* be known at the point of
origin of the message).
> Downloaded items:
> - binutils-2.22-1-mingw32-src.tar.lzma
This is likely the cause of your problem. I'm guessing that the missing
file is one of the binutils -- ld.exe perhaps. That's provide by the
binutils pre-built binary package, but you've not downloaded that;
you've downloaded only the source code, instead.
> Is there a simpler way to do this?
Yes. Use mingw-get. You *must* have an internet connected host, to
perform your initial downloads anyway. Install mingw-get on that, (or
on a removable USB drive, initially mounted on it), and run:
mingw-get install --download-only gfortran
which will download everything you need, without actually installing it.
Then you copy the mingw-get installation, (or relocate the USB drive),
complete with the content of the var/lib/mingw-get and the
var/cache/mingw-get directory trees, to the offline host. This allows
you to run:
mingw-get install gfortran
offline, to complete the installation.
I installed the correct binutils-2.22-1-mingw32-bin.tar.lzma (this was my
bad - should have known anything with 'src' was not what I needed).
Now I am no longer getting the CreateProcess error, and msysinfo doesn't
indicate a problem finding the linker (ld).
Instead, when I invoke gfortran to compile a program the following
errors are generated:
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../mingw32/bin/ld.exe: cannot find -ladvapi32
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../mingw32/bin/ld.exe: cannot find -lshell32
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../mingw32/bin/ld.exe: cannot find -luser32
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../mingw32/bin/ld.exe: cannot find -lkernel32
collect2: ld returned 1 exit status
I also tried (on networked computer) your suggestion mingw-get install --download-only,
but got an error that this is an unrecognized option for mingw-get (I also did mingw-get
update and repeated so this doesn't appear to be due to my having an old
version of mingw-get).