delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2000/04/10/08:05:02

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT sourceware DOT cygnus DOT com>
List-Archive: <http://sourceware.cygnus.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT sourceware DOT cygnus DOT com>
List-Help: <mailto:cygwin-developers-help AT sourceware DOT cygnus DOT com>, <http://sourceware.cygnus.com/ml/#faqs>
Sender: cygwin-developers-owner AT sourceware DOT cygnus DOT com
Delivered-To: mailing list cygwin-developers AT sourceware DOT cygnus DOT com
X-Authentication-Warning: abomination.cygnus.com: mdejong owned process doing -bs
Date: Mon, 10 Apr 2000 06:04:45 -0700 (PDT)
From: Mo DeJong <mdejong AT cygnus DOT com>
To: cygwin-developers AT sourceware DOT cygnus DOT com
Subject: More fun testing the net release
Message-ID: <Pine.LNX.4.10.10004100541490.21753-100000@abomination.cygnus.com>
MIME-Version: 1.0

Hi all.

I have been having some fun testing the new net release
of cygwin on a win 95 box, and I have run into some
problems that I thought I would share.

Right off the bat, I ran into trouble because cygwin
does not seem to include autoconf in the default install.
Personally, I think it would be a mistake to release
cygwin without autoconf and cvs as part of the "core tools".

At any rate, I decided to install autoconf from the source
tar ball from the sourceware site.

Unfortunately, I found that tar does not seem to like the -z option.

BASH.EXE-2.03$ tar -xzvf autoconf-2.13.tar.gz
tar (child): Cannot exec gzip: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error exit delayed from previous errors

What is strange about this is that gzip can be run by itself.

BASH.EXE-2.03$ gzip -d autoconf-2.13.tar.gz
BASH.EXE-2.03$ ls
TCL8.3             TK8.3              autoconf-2.13.tar


So I configured and installed autoconf and I thought I was
ready to rock. Unfortunatly, I soon discovered that the
default install directory /usr/local/bin was NOT in the
default PATH (from the cygwin installer).

I have to go set the PATH again by hand which is a real
pain because I need to edit autoexec.bat and reboot to
change the PATH (Still waiting on Ron's env space solution!).

At the very least the following dirs need to be on the PATH
created by the installer. (assuming that C:\Cygwin is mounted / )

C:\Cygwin\bin
C:\Cygwin\usr\bin
C:\Cygwin\usr\local\bin


Now on to the fun stuff.
When I try to run gcc it core dumps.

BASH.EXE-2.03$ gcc
C:\CYGWIN\USR\BIN\GCC.EXE: *** conflicting versions of cygwin1.dll
detected.
Use only the most recent version.

      0 [unknown (0xFFF13285)] ? 0 lpfu: void pinfo::record_death
(int):374 having problems getting lock
  12544 [unknown (0xFFF13285)] ? 0 lpfu: *** , rc -1, Win32 error 6
  16895 [unknown (0xFFF13285)] ? 0 unlock_pinfo: ReleaseMutext
(pinfo_mutex<0x0>) failed, Win32 error 6


These seem to be the only cygwin1.dll files on the system.
/bin/cygwin1.dll
/usr/bin/cygwin1.dll

BASH.EXE-2.03$ ls -la /bin/cygwin1.dll
-rw-r--r--   1 administ unknown    804728 Sep 13  1999 /bin/cygwin1.dll
BASH.EXE-2.03$ ls -la /usr/bin/cygwin1.dll
-rw-r--r--   1 administ unknown    600576 Feb 29 22:23
/usr/bin/cygwin1.dll

The /usr/bin/cygwin1.dll dll seems to be newer so I moved /bin/cygwin1.dll
to C:\Temp to see if that fixed the gcc crash. It did.

BASH.EXE-2.03$ gcc
gcc: No input files

Why does the default install include that old dll? Did it slip in with
some old package, I installed all the packages on the web site if that
helps.

So now to do a quick sanity check on gcc.

BASH.EXE-2.03$ echo "#include <stdio.h>
int main() {
fprintf(stdout,\"hello world\n\");
}" > hello.c

BASH.EXE-2.03$ gcc -o hello hello.c
BASH.EXE-2.03$ ./hello
hello world

That works just fine, but if I try to put this same
sequence of commands into a Makefile and run it with
make, it fails. Here are the makefile contents and
the output I get when I run it at the command line.

all:
	gcc -o hello hello.c

BASH.EXE-2.03$ make
gcc -o hello hello.c
make: gcc: Command not found
make: *** [all] Error 127

What's the deal? Why does a makefile refuse to run?
I tried hacking around this by adding a SHELL var
and that seemed to work, but why should I
need to do this? I would expect existing makefiles
to run without special hacking.

SHELL=/bin/sh
all:
	gcc -o hello hello.c

BASH.EXE-2.03$ make
gcc -o hello hello.c

BASH.EXE-2.03$ ./hello.exe
hello world


So the results were fairly good, but there still seem
to be some gotchas that will have new users throwing
up their hands in disgust.

I hope that helps
Mo Dejong
Red Hat Inc.


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019