This is the mail archive of the
mailing list for the Cygwin project.
[ANNOUNCEMENT] Updated: stable compiler package gcc4-4.3.4-4
- From: Dave Korn <dave dot korn dot cygwin at gmail dot com>
- To: cygwin at cygwin dot com
- Date: Wed, 23 Mar 2011 17:12:57 +0000
- Subject: [ANNOUNCEMENT] Updated: stable compiler package gcc4-4.3.4-4
- Reply-to: cygwin at cygwin dot com
-----BEGIN PGP SIGNED MESSAGE-----
I have just uploaded an updated GCC-4 package to cygwin.com. It will be
arriving at your favourite mirror next time it synchronizes itself with the
official Cygwin repository.
This release is a trivial rebuild of the current stable release, done
against the latest Cygwin environment in order to pick up support for recent
additions to the Cygwin C runtime - in particular, the new fenv.h header and
related functions, which the C++ compiler needs to know about.
As with the previous release, the Java and Ada compilers are known to have
some bugs, but the core compiler and primary languages (C, C++ and Fortran)
are all working well enough to be considered stable, conformant to the
relevant language specs, and production-ready.
**** IMPORTANT NOTE ON THE ALTERNATIVES SYSTEM:
The alternatives system (see 'man alternatives') is used with this package
to select the default system compiler that is invoked under the plain 'gcc'
(or 'g++', etc.) name without any -3 or -4 suffix.
Since the last release, the default system compiler (previously gcc-3)
is now switched to gcc-4 permanently. All future distro packages will
be built with this compiler, and indeed many already have been for some time,
so no significant disruption should arise. However, for those who would
prefer to retain gcc-3 as their system default compiler, it is easy to change
the alternatives selection.
Generally, you should switch all the compiler packages simultaneously to
either -3 or -4 versions; mixed usages aren't guaranteed to work. To this
end, two shell scripts are installed by this release:
These can be invoked to switch all the alternatives for the compiler en
masse. Note that not all language compilers exist in both -3 and -4 versions;
fortran changes names between the two versions, so doesn't clash, and D and
Pascal only exist in -3 versions currently.
**** IMPORTANT NOTE FOR GNAT USERS:
The GNAT tools do not understand the version-suffix system used by the other
gcc compilers in the package. If you attempt to invoke gnatmake-4, for
example, it will attempt to invoke plain unsuffixed names like "gnatchop",
"gnatbind" as subexecutables. In consequence, only the currently-selected
version of gnat chosen by the alternatives system can run correctly at any
given time; you should always configure the GNAT alternatives to select as
default the version you wish to use, by invoking one of the two scripts
**** COMING NEXT:
This will almost certainly be the final gcc-4.3 series release. In the near
future the stable compiler will be promoted to 4.5 series and a test release
of 4.6 made available.
PLEASE SEND BUG REPORTS, PROBLEMS, ETC. TO THE CYGWIN MAILING LIST.
OBTAINING THE RELEASE
To update your installation, click on the "Install Cygwin now" link on the
http://cygwin.com/ web page. This downloads setup.exe to your system. Then,
run setup.exe, fill in all of the options, and make appropriate choices on the
"Select Packages" screen. Because this is a full "current" version release,
any gcc packages you currently have installed will be automatically selected
to update, but you'll need to select the Devel category to see gcc and friends
if you don't have them already installed.
> From the README:
This is the third full stable production release of the GCC 4 compiler
package for Cygwin. All the major runtime libraries are implemented
as DLLs as well as static archives. It can fully co-exist side-by-side
with the older Cygwin gcc-3.4.4 series compiler. All languages are
supported, although Ada and Java remain works-in-progress.
End-of-life for Cygwin-1.5.
This version is not released for the Cygwin-1.5 series. All future effort
will go into developing the compiler for Cygwin-1.7 and beyond. Building
the compiler from source under 1.5 is unsupported and unmaintained, but
possible; however, you would need to build yourself an updated version of
binutils from the sourceware.org CVS repository, and you would need to
apply the modern-binutils-on-cygwin-1.5-default-pseudo-reloc-fix.diff patch
found in the CYGWIN-PATCHES directory of this source release. Also it
would be unsupported and unmaintained, so if you're not comfortable doing
this sort of thing on your own, you probably don't want to start.
Now would be a good time to try 1.7, anyway :) It works really well.
What happened to gcc4-4.3.4-2?
I skipped a release number. The -2 release is reserved for any theoretical
upgrade to the 1.5 compiler that might ever be needed somewhere sometime.
Java users need an additional download to compile source to bytecode.
As part of its infrastructure, GCJ uses the Eclipse Compiler for Java (ECJ)
to compile .java sources files to bytecode .class files. ECJ is shipped as
a JAR file, and is not supplied in this distribution (pending resolution of
licensing status and any self-hosting issues). It can be downloaded after
installation by running the supplied "/usr/sbin/download_ecj.sh" script, or
can be manually downloaded from ftp://sourceware.org/pub/java/ecj-latest.jar,
and moved and renamed to /usr/share/java/ecj.jar, which is where GCJ expects
to find it.
Known issues in Ada and Java.
The Ada compiler is currently implemented as a Frankenstein-like hybrid of
Cygwin/POSIX and MinGw/w32api code. This just barely hangs together, but
does not play nicely with Cygwin's pthread library functions; the outcome
is problems in the tasking implementation, including race conditions that
may lead to failure in early startup or termination.
There are problems with the Java compiler that are less well understood,
but also manifest themselves as testsuite failures in the thread- and
These issues will be addressed in a future release of the compiler; for
now, Java and Ada cannot be considered first-class languages, but remain
somewhat experimental. It is likely however that both perform better than
the old 3.4 series compilers.
Static and shared linking of applications.
By default, user applications will be linked against these DLLs. unless the
option '-static' is supplied to GCC during the build. If linking statically
against libstdc++, you should also use '-static-libgcc' to link likewise
against libgcc, or you will experience segfaults on program termination.
This compiler should be stable and production-ready, but as is always the
case with software, there may yet be bugs. Anything abnormal should be
reported, in the first instance, to the main Cygwin mailing list.
Cygwin port maintained by: Dave Korn <dave.korn.cygwin AT gmail DOT com BUT
Please address all questions to the Cygwin mailing list at <cygwin AT cygwin
DOT com>, except for packaging issues which should be reported to the
cygwin-apps mailing list. See http://cygwin.com/lists.html for full details.
This is the key used for signing Cygwin GCC releases:
pub 1024D/6A388C3E 2008-05-31
uid Dave Korn (release signing key) <dave.korn.cygwin AT gmail.com>
sub 4096g/D4E41590 2008-05-31
Also available at a key-server near you!
- -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.9 (Cygwin)
- -----END PGP PUBLIC KEY BLOCK-----
If you have questions or comments, please send them to the cygwin mailing
list at: <cygwin AT cygwin DOT com>.
*** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***
If you want to unsubscribe from the cygwin-announce mailing list, look at the
"List-Unsubscribe: " tag in the email header of this message. Send email to
the address specified there. It will be in the format:
If you need more information on unsubscribing, start reading here:
Please read *all* of the information on unsubscribing that is available
starting at this URL.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
-----END PGP SIGNATURE-----
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple