Subject: Announcing Cygwin B20!
From: [email-masked] (Geoffrey Noer)

1 Nov 1998 03:43:06 -0800
Message-ID: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
To: [email-masked]

Greetings!

I'm pleased to announce the immediate availability of the Cygwin Beta
20 release for Windows NT, 95, and 98!  Appended to this message is
the README for this release.

*Please* use the mirror closest to you to download the release.  It
may take a day or two for them to be updated.  If you cannot wait
until then, it is available from the primary ftp server in

	ftp://go.cygnus.com/pub/sourceware.cygnus.com/cygwin/latest

as well as from the secondary ftp server sourceware.cygnus.com.

Please read the README, especially the section describing the
differences between this release and the last one!  If you don't, you
won't know to rename the CYGWIN32 environment variable to CYGWIN,
among other things.

Note that the Cygwin project WWW site has moved to:

     http://sourceware.cygnus.com/cygwin/

Look there for additional information about the Cygwin!

I would like to take a couple of paragraphs to thank the many other
people who made this release possible:

At Cygnus, the other members of the Win32 engineering team:
Christopher Faylor, DJ Delorie, and our manager Eric Bachalo.  Also,
Tobin Brockett, who whipped out the InstallShield installers for us.
Finally, Cygnus management for its commitment to free software.

On the Net, Mumit Khan provided a lot of valuable patches to dlltool,
Cygwin, and the Mingw header files for the B20 release.  He also wrote
the new dllwrap program.  Sergey Okhapkin, Andy Piper, Ernie Boyd, and
Corinna Vinschen all gave us valuable feedback prior to this release.
Special thanks go to Sergey in particular -- as of this release, he
has submitted close to a hundred fixes/improvements to the Cygwin
library!  Thanks to our many other contributors for their
patches, and to everyone on the project mailing lists for their
valuable feedback/suggestions!

Enjoy!

Geoffrey Noer
[email-masked]

------------------------------- README.TXT --------------------------

                    README 20.0 for Cygwin B20 Release

Cygwin Resources on the Internet
********************************

FTP Sites
=========

   The primary ftp site is
`ftp://go.cygnus.com/pub/sourceware.cygnus.com/cygwin/'.  There are
also several mirrors:

   * North America:
        * Alberta: `ftp://ftp.reversion.ca/pub/mirrors/gnu-win32/'

        * Arizona: `ftp://ftp.ninemoons.com/pub/gnu-win32/'

        * California:
          `ftp://go.cygnus.com/pub/ftp.cygnus.com/gnu-win32/'

        * California:
          `ftp://ftp.yggdrasil.com/mirrors/site/ftp.cygnus.com/pub/gnu-win32/'

        * California (secondary):
          `ftp://sourceware.cygnus.com/pub/cygwin/'

        * Kansas: `ftp://ftp.the-b.org/pub/gnu-win32/'

        * Tennessee: `ftp://sunsite.utk.edu/pub/gnu-win32/'

   * Central America:
        * Costa Rica: `ftp://sunsite.ulatina.ac.cr/gnu-win32/'

   * South America:
        * Brazil: `ftp://ftp.unicamp.br/pub/gnu/=EXTRA=/cygnus/win32/'

   * Africa:
        * South Africa:
          `ftp://ftp.sun.ac.za/sites/ftp.cygnus.com/pub/gnu-win32/'

   * Asia:
        * Japan: `ftp://ftp.crl.go.jp/pub/GNU/cygnus/gnu-win32/'

        * Japan: `ftp://sysg.kek.jp/cygnus/'

        * Japan: `ftp://ftp.u-aizu.ac.jp/pub/gnu/gnu-win32/'

        * Korea: `ftp://cair-archive.kaist.ac.kr/pub/gnu/gnu-win32/'

   * Australasia:
        * Australia: `ftp://mirror.aarnet.edu.au/pub/gnu-win32/'

   * Europe:
        * Austria: `ftp://gd.tuwien.ac.at/pub/gnu/gnu-win32/'

        * Czech Republic:
          `ftp://sunsite.ms.mff.cuni.cz/MIRRORS/ftp.cygnus.com/pub/gnu-win32/'

        * Denmark: `ftp://sunsite.auc.dk/pub/gnu-win32/'

        * France: `ftp://ftp.fwntug.org/gnu/'

        * France:
          `ftp://ftp.inria.fr/INRIA/Projects/Meta2/Scilab/Windows/cygwin/'

        * Germany:
          `ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin32/mirrors/cygnus/'

        * Greece: `ftp://ftp.ntua.gr/pub/pc/gnu-win32/'

        * Hungary: `ftp://ftp.szrmkk.hu/pub/gnu-win32/ftp.cygnus.com/'

        * Italy: `ftp://aaue.matrice.it/pub/gnu-win32/'

        * Poland: `ftp://sunsite.icm.edu.pl/pub/cygnus/gnu-win32/'

        * Slovenia: `ftp://sunsite.fri.uni-lj.si/pub/gnu-win32/'

        * Spain: `ftp://ftp.rediris.es/mirror/gnu-win32/'

        * Sweden: `ftp://ftp.sunet.se/pub/gnu/gnu-win32/'

        * Switzerland: `ftp://sunsite.cnlab-switch.ch/mirror/gnu-win32/'

        * UK:
          `ftp://sunsite.doc.ic.ac.uk/packages/gnu/cygnus/gnu-win32/'

        * UK:
          `ftp://ftp.ccp14.dl.ac.uk/ccp14/ftp-mirror/programming/cygnus-gnu-win32/pub/gnu-win32/'

        * Ukraine:
          `ftp://ftp.ics-co.kiev.ua/pub/mirror/ftp.cygnus.com/pub/gnu-win32/'

The Cygwin Project WWW Site
===========================

   The main WWW page for the Cygwin project is
`http://sourceware.cygnus.com/cygwin/'.

   A page containing tool-specific information is
`http://www.cygnus.com/pubs/gnupro/'.

   Links to additional documentation are accessible from the main web
page.

Installation Instructions
*************************

Contents
========

   The following packages are included in the full release:

   Development tools: binutils, bison, byacc, dejagnu, diff, expect,
flex, gas, gcc, gdb, itcl, ld, libstdc++, make, patch, tcl, tix, tk

   User tools: ash, bash, bzip2, diff, fileutils, findutils, gawk,
grep, gzip, m4, sed, shellutils, tar, textutils, time

   The user tools release only contains the user tools.

   Full source code is available for these tools.  It is split into
these two units.

Installing the binary release:
==============================

   Important!  Be sure to remove any older versions of the Cygwin tools
from your PATH environment variable so you do not execute them by
mistake.

   Connect to one of the ftp servers listed above and cd to the
directory containing the latest release.  On our primary server, that
would be:

   `ftp://go.cygnus.com/pub/sourceware.cygnus.com/cygwin/latest/'.

   If you want the development tools and the programs necessary to run
the GNU configure mechanism, you should download the full binary release
called `full.exe'.  If you only care about the user tools listed above,
download `user.exe' instead.

   If you have an unreliable connection, download the appropriate
binary in smaller chunks instead.  For the split cdk installer, get the
files in the `full-split' subdirectory.  Once downloaded, combine the
split files at the command prompt by doing a:

     copy /b xaa + xab + xac + ... + xai + xaj full.exe
     del xa*.*

   A similar process can be used for the user tools.

   Once you have an install executable on your system, run it.  First
off, the installer will prompt you for a location to extract the
temporary files it needs to install the release on your system.  The
default should be fine for most people.

   Next it will ask you to choose an install location.  The default is
`<system-drive>:\cygnus\cygwin-b20'.  Feel free to choose another
location if you would prefer.

   Finally, it will ask you for the name of the Program Files folder
shortcut to add.  By default, the installer will create a `Cygwin B20'
entry in a folder called `Cygnus Solutions'.  When this step is
completed, it will install the tools and exit.

   At this point, you should be able to look under the start menu and
select "Cygwin B20".  This will pop up a bash shell with all special
environment variables set up for you.  If you are running Windows 95 or
98 and are faced with the error message "Out of environment space", you
need to increase the amount of environment space in your config.sys and
try again.  Adding the line `shell=C:\command.com /e:4096 /p' should do
the trick if `C:' is your system drive letter.

   There are two remaining thing you should do from this prompt.
First, you need to type `mkdir -p /tmp' to ensure that a directory for
temporary files exists for programs that expect to find one there.

   Second, if you are installing the full distribution (`full.exe'),
various programs will need to be able to find `/bin/sh'.  You should
`mkdir -p /bin' and put a copy of `sh.exe' there, removing the older
version, if present.  You can use the `mount' utility to select which
drive letter is mounted as `/'. See the Frequently Asked Questions
(FAQ) file for more information on `mount'.

   If you should ever want to uninstall the tools, you may do so via
the "Add/Remove Programs" control panel.

Installing the source code
==========================

   Before downloading the source code corresponding to the release, you
should install the latest release of the tools (either the full release
or just the user tools).

   Create the directory that will house the source code.  `cd' there.

   Connect to one of the ftp servers listed above and cd to the
directory containing the latest release.  On our primary server, that
would be:

   `ftp://go.cygnus.com/pub/sourceware.cygnus.com/cygwin/latest/'.

   If you want the user tools source code, `cd' into the
`user-src-split' subdirectory.  Download the files there.  If you want
the development tools sources, `cd' into the `dev-src-split'
subdirectory.  Download the files there.

   Back in the Windows command shell, for the user tools source:

     copy /b xba + xbb + xbc + xbd + xbe + xbf + xbg user-src.tar.bz2
     del xb*.*
     bunzip2 user-src.tar.bz2
     tar xvf user-src.tar

   For the development tools source:

     copy /b xca + xcb + xcc + xcd + ... + xck + xcl dev-src.tar.bz2
     del xc*.*
     bunzip2 dev-src.tar.bz2
     tar xvf dev-src.tar

   Both expand into a directory called `src'.

   And you should be done...

Release Beta 20 (Oct 30 1998)
*****************************

   This is a significant update to the Beta 19 release.  In addition to
an EGCS-based compiler and updated tools, this release includes a new
version of the Cygwin library that contains many improvements and
bugfixes over the last one.

The project has a new name!
---------------------------

   Starting with this release, we are retiring the "GNU-Win32" name for
the releases.  We have also dropped the "32" from Cygwin32.  This means
that you should now refer to the tools as "the Cygwin toolset", the
library as "the Cygwin library" or "the Cygwin DLL", and the library's
interface as "the Cygwin API".

   Because of this name change, we have changed any aspects of the
library that involved the name "Cygwin32".  For example, the CYGWIN32
environment variable is now the CYGWIN environment variable.  API
functions starting with cygwin32_ are still available under that form
for backwards-compatibility as well as under the new cygwin_-prefixed
names.  The same goes for the change of preprocessor define from
__CYGWIN32__ to __CYGWIN__.  We will remove the old names in a future
release so please take the minute or two that it will take to remove
those "32"s.  Thanks and I apologize for the hassle this may cause
people.  We would have changed the name to "Bob" but that name's already
taken by Microsoft...  :-)

   Why change it?  For one thing, not all of the software included in
the distributions is GNU software, including the Cygwin library itself.
So calling the project "GNU-Win32" has always been a bit of a
misnomer.  In addition, we think that calling the tools the "Cygwin
tools" that use the "Cygwin library" will be less confusing to people.

   Also notice that we are now on the spiffy new sourceware.cygnus.com
web/ftp site.  The old address will work for some unknown period of
time (hopefully at least until we get all of the mirrors adjusted).

Changes in specific tools:
--------------------------

   The latest public EGCS release is now the basis for the compiler used
in Cygwin distributions.  As a result, EGCS 1.1 is the compiler in this
release, with a few additional x86/Cygwin-related patches.

   Those of you who are more interested in native Windows development
than in porting Unix programs will be glad to know that a new gcc flag
"-mno-cygwin" will link in the latest Mingw32 libs and produce an
executable that does not use Cygwin.

   All of the other development tools have been updated to their latest
versions.  The linker (ld) includes many important bug fixes.  It is now
possible to safely strip a DLL with a .reloc section.  The windres
resource compiler is significantly improved.

   Beta 20 also includes upgrades to a number of packages: ash-0.3.2-4,
bash 2.02.1, grep-2.2, ncurses 4.2, and less 332.  We have added bzip2
0.9.0 to the distribution.  And you'll now find that the df utility has
joined its other friends from the fileutils package.

   The sh executable is still ash from the Debian Linux distribution
but no longer has the problematic quoting bug that was present in the
Beta 19 release.  Control-Cs in the bash shell no longer kill
background tasks.

   Tcl/tk are upgraded to version 8.1a2 (with additional patches).
Compatible versions of tix and itcl are included.  These all include
Cygwin-compatible configury files so you can do a Unix-style build of
the Win32 ports of tcl/tk.  expect has been upgraded to 5.26 with some
additional Cygwin patches.

   In response to customer requests and feedback, Cygnus has developed a
better graphical front end to GDB than GDBtk or WinGDB.  This tcl-based
GUI is shipping today to customers of the GNUPro Toolkit.  The
instrumentation changes to GDB and the tcl interpreter that was built
into GDB are part of the GPL'd source base.  But the tcl scripts are not
being made available to the net at this time.  For this reason, you will
only find a command-line version of gdb in this Cygwin release.

   DJ Delorie has written a new "cygcheck" program that will print out
useful information about how your Cygwin environment is set up, what
DLLs a named executable is loading from where, etc.  We hope this will
make it easier to help diagnose common setup problems.

   The ps utility has been upgraded.  It now has several options
including shorter and longer output formats.

Changes in the Cygwin API (cygwin.dll):
---------------------------------------

   This version of Cygwin is backwards-compatible with the beta 19
release.  If you rename the cygwin1.dll included as part of B20 to
"cygwinb19.dll", the old executables should be able to function with the
new version of the library.

   Quite a lot of the Cygwin internals have been rewritten or modified
to address various issues.  If you have a question about specific
changes, the winsup/ChangeLog file in the development tools sources
lists all changes made to the DLL over the last three years.  Following
are a few highlights:

   We are now using a new versioning scheme for Cygwin.  There is now a
separate version number for the DLL, the API, the shared memory region
interfaces, and the registry interface.  This will hopefully make it
easier for multiple Cygwin toolsets to coexist in one user environment.

   Windows 98 is now supported (it is like Windows 95 from Cygwin's
perspective).  We still recommend upgrading to Windows NT.

   While there is still a lot left to do in improving Cygwin's runtime
performance, we have put some effort into this prior to the B20 release.
Hopefully you will find that the latest version of Cygwin is faster than
ever.  In addition, we have plugged several nasty handle leaks
associated with opening/closing files and with using ttys.

   The lseek call now uses WriteFile to fill gaps with zeros whenever a
write is done past an EOF, rather than leaving "undefined" data as Win32
specifies.

   Significant work has been done to improve the Cygwin header files.

   The Cygwin Support for Unix-style serial I/O is much improved.

   Path handling has had another round of fixes/rewrites.  We no longer
use NT Extended Attributes for storing Unix permissions/execute status
because the file NT creates on FAT partitions is not scalable to
thousands of files (everything slows to a crawl).

   Signal handling has also gotten a fair amount of attention.
Unfortunately, there are still some problems combining itimers and
Windows 9x.

   The number of ttys has been upped from 16 to 128.

   New API calls included in the DLL: sethostent, endhostent.

   As mentioned earlier, all cygwin32_-prefixed functions are now
exported with a cygwin_ prefix instead.  Please adjust your code to
call the newly named functions.

Known/potential Problems in the B20 Release
*******************************************

Configures in Windows 95/98 not completing
==========================================

   B20's configure setup does not yet work reliably under Windows 95/98
(it returns after configuring the top level directory of the compiler
tools without recursing into subdirectories).  We will release an
update to address this problem as soon as we have a fix.

Windows 95 freezing up
======================

   While this problem may have been worse under B19, Control-c's in bash
under Win 95 can lock up the Win 95 kernel, freezing your machine.  This
problem can be fixed if you are running the OSR2 version of Win 95 by
installing the USB patch available on OSR2 CDs or on MSDN subscription
CDs.  More information about OSR2 and the USB patch is available from
`http://www.compuclinic.com/osr2faq/index.html'.

Some programs can't deal with // pathname scheme in arguments
=============================================================

   gcc and other tools aren't fully compatible with the current pathname
scheme: it can't grok an argument of -I//d/foo which means it is vital
that when attempting to configure/build UNIX packages, that only normal
paths with single slashes are used.

-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".