Hi,

the first day of 0.9.8 in Cygwin resulted in the following bug report
on the Cygwin list:

> Have just done a fresh install of cygwin to compile a Linux app that uses 
> DES.
> 
> According to "man des",  I should still be able to include <openssl/des.h>, 
> but that
> file doesn't seem to exist in this release.

The reporter was right and I tried to figure out what has gone wrong so
that the des (and, FWIW, the bf) header files were missing.

The cause of these files missing is a "cleanup" in the Makefiles of
crypto/des and crypto/bf.  Both directories have a file called "INSTALL"
in them.  The Makefile rule is:

  install:
        @do something in a subshell

The problem only happens on filesystems which are not case-sensitive but
only case-preserving, like filesystems on Windows or MacOS.

What happens is that make(1) tries to find if the rule is up to date.
While doing this, make calls stat("install"), which returns with
success on case-preserving filesystems!  As a result, the install rule
is "up to date" and the make action will never be called.

This did *not* happen in 0.9.7, which had the "install" rule created
so that the above install bug couldn't happen:

  install: installs

  installs:
        @do something in a subshell

This circumvents the above problem on case-preserving filesystems.

I would like to ask for reverting this change in the affected directories
crypto/des and crypto/bf.  The patch is below.  I'm going to release a new
Cygwin version of OpenSSL 0.9.8 today which has this fix applied and which
installs the des and bf header files correctly.


Thanks for considering,
Corinna


--- crypto/des/Makefile.save    2005-07-05 22:33:16.046875000 +0200
+++ crypto/des/Makefile 2005-07-07 10:24:53.312500000 +0200
@@ -88,7 +88,9 @@ links:
        @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
        @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
 
-install:
+install: installs
+
+installs:
        @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
        @headerlist="$(EXHEADER)"; for i in $$headerlist ; \
        do  \
--- crypto/bf/Makefile.save     2005-07-05 22:33:19.531250000 +0200
+++ crypto/bf/Makefile  2005-07-07 10:24:40.781250000 +0200
@@ -62,7 +62,9 @@ links:
        @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
        @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
 
-install:
+install: installs
+
+installs:
        @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
        @headerlist="$(EXHEADER)"; for i in $$headerlist ; \
        do  \



-- 
Corinna Vinschen
Cygwin Project Co-Leader
Red Hat, Inc.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to