From: Erik Toussaint on
On 11-8-2010 5:22, user1 wrote:
> It is quite difficult to get a working gcc/gfortran installation with
> files downloaded directly from the Mingw site. Even if you manually
> download and unpack things exactly as recommended, there are still
> missing pieces.

Not in my experience. At least, until I realised that the instructions
on the MinGW site are outdated, and should only be taken as a first
pointer to search for what you need. It's been a couple of months since
I did it, but if I remember correctly, it's as "simple" as:

- go to the sourceforge downloads page (on www.mingw.org, in the left
side Navigation menu, click on 'About -> Downloads')

- navigate to 'MinGW -> BaseSystem -> GCC -> Version4 -> gcc-4.5.0-1',
and get the file 'gcc-4.5.0-1-mingw32.RELEASE_NOTES.txt'

- scroll down this file to the section 'Package Description' to see
which files you need for your purpose (at least gcc-core, because it is
required, and gcc-gfortran, because that's the whole point of this)

- scroll down a bit further to the 'Runtime requirements' to see which
other files are required

- search the downloads page for all the files you need, download them,
and unpack them into one directory

- add the \bin subdir in this directory to your path, and you're good to go

Erik.
From: Uno on
On 8/13/2010 7:29 AM, Erik Toussaint wrote:

> Not in my experience. At least, until I realised that the instructions
> on the MinGW site are outdated, and should only be taken as a first
> pointer to search for what you need. It's been a couple of months since
> I did it, but if I remember correctly, it's as "simple" as:
>
> - go to the sourceforge downloads page (on www.mingw.org, in the left
> side Navigation menu, click on 'About -> Downloads')
>
> - navigate to 'MinGW -> BaseSystem -> GCC -> Version4 -> gcc-4.5.0-1',
> and get the file 'gcc-4.5.0-1-mingw32.RELEASE_NOTES.txt'
>
> - scroll down this file to the section 'Package Description' to see
> which files you need for your purpose (at least gcc-core, because it is
> required, and gcc-gfortran, because that's the whole point of this)
>
> - scroll down a bit further to the 'Runtime requirements' to see which
> other files are required
>
> - search the downloads page for all the files you need, download them,
> and unpack them into one directory
>
> - add the \bin subdir in this directory to your path, and you're good to go

Erik, thanks so much for this description of what I would otherwise not
have found in a million years.

It's very enlightening to see the categories. What the hell, bytes are
cheap; here's gcc-4.5.0-1-mingw32.RELEASE_NOTES.txt:


mingw32 gcc
========================================================================
GCC is the GNU Compiler Collection, a fairly portable optimizing
compiler.

This MinGW port generates code for 32-bit versions of Windows, and should
run on any 32- or 64-bit Windows operating system.

No local patches were used.

Local customizations were limited to:
* Specific command-line options for configure and make,
* moving a few files after "make install",
* replacing redundant executables by a wrapper.
For details, see the build script.

New features:
-------------

* New TLS support: thread local variables work without the
need for external DLLs.

See also: http://gcc.gnu.org/gcc-4.5/changes.html

General Notes:
--------------

* Shared libgcc: If all modules are linked with -shared-libgcc,
exceptions can be thrown across DLL boundaries. Note that this is
the default for all languages other than C. To disable this, use
-static-libgcc.

* Shared libstdc++: By default, C++ modules are linked with a DLL version
of libstdc++. To use the static version, use the -static-libstdc++ flag.

* Translations into your language! See share\locale for a list of
codes. Unpack the translation archive in c:\MinGW and set the LANG
environment variable to the code of your preferred language.

* Inline functions decorated with __declspec(dllexport) are now always
generated and included in object files. This also applies to methods
defined in classes decorated with __declspec(dllexport).
This may cause a general increase in object size, since gcc generates
copies of each dllexport'd inline function in all object files whose
source includes the header defining the function.

Known Issues:
-------------

* The Java language is absent, pending resolution of build issues.

* When linking C++ modules with shared libstdc++ (the default), the
linker may warn about activating auto-import. The workaround is to
add one of the following flags:
a) -Wl,--enable-runtime-pseudo-reloc-v2
The warning is still printed, but is now harmless.
b) -Wl,--enable-auto-import
Actually does what the warning suggests.
c) -static-libstdc++
Avoids creating the issue in the first place.
d) none of the above.
You may get a 0xc0000005 error at runtime.

* The translation archive, when used, must be unpacked in c:\MinGW.

* The path "\mingw\include" on the current drive is always searched for
header files, regardless of where the compiler is installed. So, if
you want to keep multiple installations separated, better not to use
"\mingw" on any drive.

Testsuite results:
------------------

The result of the testsuite run for this compiler was submitted to the
GCC project. It is available at:
http://gcc.gnu.org/ml/gcc-testresults/2010-04/msg01614.html

Some notes:
1) The -Wl,-enable-auto-import flag was passed to the c++ tests to
avoid spurious failures due to the auto-import linker warning.
2) The above creates spurious failures on the pre-compiled header
tests.

========================================================================

Package Description:

C Language (required)
gcc-core-4.5.0-1-mingw32-bin.tar.lzma

C++ Language
gcc-c++-4.5.0-1-mingw32-bin.tar.lzma

Ada Language
gcc-ada-4.5.0-1-mingw32-bin.tar.lzma

Fortran Language
gcc-fortran-4.5.0-1-mingw32-bin.tar.lzma

Objective C/C++ Language
gcc-objc-4.5.0-1-mingw32-bin.tar.lzma

Shared C Runtime
libgcc-4.5.0-1-mingw32-dll-1.tar.lzma

Shared C++ Runtime
libstdc++-4.5.0-1-mingw32-dll-6.tar.lzma

Shared Ada Runtime
libgnat-4.5.0-1-mingw32-dll-4.5.tar.lzma

Shared Fortran Runtime
libgfortran-4.5.0-1-mingw32-dll-3.tar.lzma

Shared Objective C/C++ Runtime
libobjc-4.5.0-1-mingw32-dll-2.tar.lzma

Shared library for OpenMP support
libgomp-4.5.0-1-mingw32-dll-1.tar.lzma

Shared library for stack protection support
libssp-4.5.0-1-mingw32-dll-0.tar.lzma

GCC Documentation
gcc-4.5.0-1-mingw32-doc.tar.lzma

Translations
gcc-4.5.0-1-mingw32-lang.tar.lzma

License Information
gcc-4.5.0-1-mingw32-lic.tar.lzma

========================================================================

Runtime requirements:
binutils-2.20.1-2-mingw32-bin.tar.gz
libmpc-0.8.1-1-mingw32-dll-2.tar.lzma
libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma
libgmp-5.0.1-1-mingw32-dll-10.tar.lzma
libpthread-2.8.0-3-mingw32-dll-2.tar.lzma (for OpenMP)
mingwrt-3.18-mingw32-dev.tar.gz
w32api-3.14-mingw32-dev.tar.gz

Build requirements:
MinGW Compiler
binutils-2.20.1-2-mingw32-bin.tar.gz
gcc-ada-4.5.0_20100311-2-mingw32-bin.tar.lzma
gcc-core-4.5.0_20100311-2-mingw32-bin.tar.lzma
libgcc-4.5.0_20100311-2-mingw32-dll-1.tar.lzma
libgmp-5.0.1-1-mingw32-dll-10.tar.lzma
libgnat-4.5.0_20100311-2-mingw32-dll-4.5.tar.lzma
libmpc-0.8.1-1-mingw32-dll-2.tar.lzma
libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma
libpthread-2.8.0-3-mingw32-dll-2.tar.lzma
mingwrt-3.18-mingw32-dev.tar.gz
w32api-3.14-mingw32-dev.tar.gz

Devel Tools and Dependent Libraries
gettext-0.17-1-mingw32-dev.tar.lzma
gmp-5.0.1-1-mingw32-dev.tar.lzma
libgettextpo-0.17-1-mingw32-dll-0.tar.lzma
libiconv-1.13.1-1-mingw32-dev.tar.lzma
libiconv-1.13.1-1-mingw32-dll-2.tar.lzma
libintl-0.17-1-mingw32-dll-8.tar.lzma
mpc-0.8.1-1-mingw32-dev.tar.lzma
mpfr-2.4.1-1-mingw32-dev.tar.lzma
pthreads-w32-2.8.0-3-mingw32-dev.tar.lzma

MSYS Environment
bash-3.1.17-2-msys-1.0.11-bin.tar.lzma
bison-2.4.1-1-msys-1.0.11-bin.tar.lzma
bzip2-1.0.5-1-msys-1.0.11-bin.tar.gz
coreutils-5.97-2-msys-1.0.11-bin.tar.lzma
diffutils-2.8.7.20071206cvs-2-msys-1.0.11-bin.tar.lzma
findutils-4.4.2-1-msys-1.0.11-bin.tar.lzma
flex-2.5.35-1-msys-1.0.11-bin.tar.lzma
gawk-3.1.7-1-msys-1.0.11-bin.tar.lzma
grep-2.5.4-1-msys-1.0.11-bin.tar.lzma
libbz2-1.0.5-1-msys-1.0.11-dll-1.tar.gz
libcrypt-1.1_1-2-msys-1.0.11-dll-0.tar.lzma
liblzma-4.999.9beta_20091209-1-msys-1.0.12-dll-1.tar.gz
libregex-1.20090805-1-msys-1.0.11-dll-1.tar.lzma
m4-1.4.13-1-msys-1.0.11-bin.tar.lzma
make-3.81-2-msys-1.0.11-bin.tar.lzma
msysCORE-1.0.14-1-msys-1.0.14-bin.tar.lzma
perl-5.6.1_2-1-msys-1.0.11-bin.tar.lzma
sed-4.2.1-1-msys-1.0.11-bin.tar.lzma
tar-1.22-1-msys-1.0.11-bin.tar.lzma
termcap-0.20050421_1-1-msys-1.0.11-bin.tar.lzma
texinfo-4.13a-1-msys-1.0.11-bin.tar.lzma
xz-4.999.9beta_20091209-1-msys-1.0.12-bin.tar.gz

Canonical homepage:
http://gcc.gnu.org/

Canonical download:
ftp://ftp.gnu.org/gnu/gcc/

License:
GPLv3+, LGPLv3+, GPLv3+ plus runtime exception

Languages:
C/C++/Ada/Fortran/Objective-C

========================================================================

Build instructions:

1) Install the build requirements.
2) Unpack gcc-4.5.0-X-mingw32-src.tar.lzma
3) In a MSYS shell, run <path-to-source>/pkgbuild

See <path-to-source>/pkgbuild -h for further options.

========================================================================

---------- gcc-4.5.0-1 ----------- 2010 Apr 19 -----------
* New upstream release.

---------- gcc-4.5.0_20100311-2 -- 2010 Mar 18 -----------
* Fixed a missing include path.

---------- gcc-4.5.0_20100311-1 -- 2010 Mar 13 -----------
* New snapshot.

! end listing

The problem?

I search for
gcc-fortran-4.5.0-1-mingw32-bin.tar.lzma
and get nothing.

Furthermore, this site dumped me into advertising quicksand until I
killed my browser 3 times.
--
Uno
From: user1 on
Erik Toussaint wrote:
> On 11-8-2010 5:22, user1 wrote:
>> It is quite difficult to get a working gcc/gfortran installation with
>> files downloaded directly from the Mingw site. Even if you manually
>> download and unpack things exactly as recommended, there are still
>> missing pieces.
>
> Not in my experience. At least, until I realised that the instructions
> on the MinGW site are outdated, and should only be taken as a first
> pointer to search for what you need. It's been a couple of months since
> I did it, but if I remember correctly, it's as "simple" as:
>

Oh, I got it to work eventually. But I still think the MinGW site is a
mess, and you really need some luck in stumbling on reasonable
installation instructions.