Subject: win32-b17.1 -- getting it going on NT4.0
From: [email-masked] (Jayasooriah)

30 Dec 1996 00:36:51 -0800
Sender: [email-masked]
Approved: [email-masked]
Distribution: cygnus
Message-ID: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
X-Sender: [email-masked]
X-Mailer: Windows Eudora Pro Version 2.2 (32)
Original-To: [email-masked]
Original-Sender: [email-masked]

The latest release beta 17.1 says (about beta 17)

>   This is a major release.  In particular, it is now possible to
>rebuild the tools natively under x86 NT when the full Cygnus
>Developers' Kit (CDK) and the User Tools are both installed correctly.

I tried installing the port over the weekend.  The following is the list of
problems (and fixes) to build the release (based on my building it on NT4.0
Build 1381: Service Pack 2) on X86.  The scripts below run in cygnus release
of bash and utliities.

1.  Extract all.tar.gz to /usr/local and answer YES to:

        Replace: include/g++/Complex.h?
        Old: 07/12/96 10:32 147 bytes
        New: 07/12/96 10:36 200 bytes

2.  Extract cdksrc.tar.gz to /usr/local/src/win32-b17.1 and answer NO to: 

        Replace: include/g++/Complex.h?
        Old: 07/12/96 10:32 147 bytes
        New: 07/12/96 10:36 200 bytes

* These will not cause any serious problems -- I am listing them just for
completeness.

3.  Obtain and extract grep-2.0.tar.gz (ftp://prep.ai.mit.edu/pub/gnu) to
/usr/local/src, and build grep (which has not been packaged in b17.1
distribution, and which is required to build gcc).  All you have to do:

        cd /usr/local/gcc-2.0
        ./configure
        make
        /usr/local/H-i386-cygwin32/bin/install -c \
                grep.exe /usr/local/bin/grep.exe
        rm -f /usr/local/bin/egrep.exe
        ln /usr/local/bin/grep.exe /usr/local/bin/egrep.exe
        rm -f /usr/local/bin/fgrep.exe
        ln /usr/local/bin/grep.exe /usr/local/bin/fgrep.exe
        /usr/local/H-i386-cygwin32/bin/install -c -m 644 \
                ./grep.man /usr/local/man/man1/grep.1

    **** NOTE: I am installing in standard path, not cygnus path.

4.  Create glue.h in modify times.cc (to fix utimes() bug) and build:

        cd /usr/local/source/win32-b17.1
        echo >newlib/libc/stdio/glue.h
        [ edit winsup/times.cc ]
        [ append "LL" to "#define NSPERSEC 10000000" at line 25 ]
        [ delete line "return 0" (line 438) - end of utimes() ]
        ./configure
        make

    **** NOTE: Makefile needs glue.h, but an empty glue.h is sufficient.

5.  Get out of bash (so that cygwin.dll is not busy and update new dll):

        cp winsup/new-cygwin.dll /usr/local/H-i386-cygwin32/bin/cygwin.dll

You now have a working build of gcc for i386-pc-cygwin32.  Now, 'cp -p' will
work as expected (it did not because of a bug in utimes() in cygwin.dll).

The 'touch -f' still does not work because someone had thought fit to ignore
the '-f' flag despite parsing and accepting it.

Questions:

a:  Does anyone know where else in the distribution should one look for work
arounds for the utimes() bug (now that I got utimes() and related routines
to do the right thing)?

b:  I can get fileutils-3.1.4 to compile but the new 'cp' somehow truncates
all files it copies (as if the stat/lstat returned the wrong size).  Has
anyone tried this?

c:  Has anyone done any cross development environment build using the cygnus
port?   I am about to do a couple of ports (mainly mircos/embedded systems)
and would like to know of experiences).

I got bison-1.2.5, rcs-5.7 etc to work properly (so it seems for now).  Is
there any indication of what I should and should not work in this release as
it stands?

Cheers

Jaya

PS Would the people at cygnus make a new release available with the utimes()
fixed -- the port is really difficult to use (with rcs etc) without this.
Thanks.
--------------------------------------------------------------------------
 _--_|\   Jayasooriah        Head, Dept of Computer and Systems Technology
/      \  School of Computer Science and Engineering  Tel: +61 2 9385-4021
\_.--._*  The University of New South Wales           Fax: +61 2 9385-5995
      v   Sydney 2052, AUSTRALIA            EMail: [email-masked]
--------------------------------------------------------------------------

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