Problem building on Windows

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Problem building on Windows

Thompson, Nigel (Colorado Springs)

I’m having a problem building OpenSSL 0.9.8 on Windows. This is a problem I’ve had before but I can’t remember what caused it.

 

I’m using the Perl from the Cygwin distribution.

 

After unpacking the OPenSSL tar file, I make sure all files are not read-only and then execute the following commands from a Visual Studio .NET 2003 command window:

 

perl Configure VC-WIN32 no-idea no-rc5 no-krb5

ms\do_masm

make -f ms\nt.mak

 

When the last command executes, I get the following:

 

 

Microsoft (R) Program Maintenance Utility Version 7.10.3077

Copyright (C) Microsoft Corporation.  All rights reserved.

 

Building OpenSSL

        copy nul+ .\crypto\buildinf.h tmp32\buildinf.h

nul

.\crypto\buildinf.h

        1 file(s) copied.

NMAKE : fatal error U1073: don't know how to make '.\apps\\'

Stop.

 

The problem seems to be that the nt.mak makefile contains some invalid entries like:

 

$(INCL_D)\apps\\: $(SRC_D)\apps\\

      $(CP) $(SRC_D)\apps\\ $(INCL_D)\apps\\

 

Note the ‘\\’ chars.

 

The MINFO file generated for the apps section looks like this:

 

RELATIVE_DIRECTORY=apps

ALL=Makefile makeapps.com install.com verify.c asn1pars.c req.c dgst.c dh.c enc.c passwd.c gendh.c errstr.c ca.c \ apps.h progs.h s_apps.h \

A_OBJ=apps.o

A_SRC=apps.c

CC=cc

CFLAG=-g -static

CFLAGS=-DMONOLITH -I.. -I../include  -g -static

DIR=apps

DLIBCRYPTO=../libcrypto.a

DLIBSSL=../libssl.a

EXE=openssl

EXE_EXT=

EXHEADER=

EX_LIBS=

E_EXE=verify asn1pars req dgst dh dhparam enc passwd gendh errstr \

E_OBJ=verify.o asn1pars.o req.o dgst.o dh.o dhparam.o enc.o passwd.o gendh.o errstr.o \

E_SRC=verify.c asn1pars.c req.c dgst.c dh.c enc.c passwd.c gendh.c errstr.c ca.c \

GENERAL=Makefile makeapps.com install.com

HEADER=apps.h progs.h s_apps.h \

INCLUDES=-I.. -I../include

KRB5_INCLUDES=

LIBCRYPTO=-L.. -lcrypto

LIBKRB5=

LIBSSL=-L.. -lssl

MAKEFILE=Makefile

PERL=perl

PEX_LIBS=

PROGRAM=openssl

PROGS=openssl.c

RAND_OBJ=app_rand.o

RAND_SRC=app_rand.c

RM=rm -f

SCRIPTS=CA.sh CA.pl

SHLIB_TARGET=

SRC=verify.c asn1pars.c req.c dgst.c dh.c enc.c passwd.c gendh.c errstr.c ca.c \

S_OBJ=s_cb.o s_socket.o

S_SRC=s_cb.c s_socket.c

TOP=..

RELATIVE_DIRECTORY=

 

The problem seems to be related to parsing the ALL= line which contains a ‘\’ character after the c file list. This problem occurs for many of the directories in the distribution.

 

Some months ago, I had the same problem and found a workaround but I have no idea what it was. (So much for documenting the process).

 

If anyone can help me, I’d appreciate it.

 

Regards,

 

Nigel