hi all,

building openssl-0.9.8 on OSX 10.4.1, with:

% ./Configure --prefix=/usr/local/ssl --openssldir=/usr/local/ssl \
darwin-ppc-cc -DUSE_TOD shared threads enable-rc5 enable-mdc2 -DOPENSSL_USE_GMP
-lgmp

% make depend
% make
% make test

all are error free ...

but,

% make install

fails with:

making install in engines...
installing 4758cca
cp: lib4758cca.so: No such file or directory
installing aep
cp: libaep.so: No such file or directory
installing atalla
cp: libatalla.so: No such file or directory
installing cswift
cp: libcswift.so: No such file or directory
installing gmp
cp: libgmp.so: No such file or directory
installing chil
cp: libchil.so: No such file or directory
installing nuron
cp: libnuron.so: No such file or directory
installing sureware
cp: libsureware.so: No such file or directory
installing ubsec
cp: libubsec.so: No such file or directory
make[1]: *** [install] Error 1
make: *** [install_sw] Error 1

looking in:

%ls ./engines/*.dylib
./engines/lib4758cca.dylib
./engines/libaep.dylib
./engines/libatalla.dylib
./engines/libchil.dylib
./engines/libcswift.dylib
./engines/libgmp.dylib
./engines/libnuron.dylib
./engines/libsureware.dylib
./engines/libubsec.dylib

shows that, altho, the ".dylib" engine libs were built ... the Makefile is
trying to "cp" '*.so' files.

checking in "engines/Makefile" i find:

...
links:

# XXXXX This currently only works on systems that use .so as suffix
# for shared libraries as well as for Cygwin which uses the
# dlfcn_name_converter and therefore stores the engines with .so suffix, too.
install:
@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
@if [ -n "$(SHARED_LIBS)" ]; then \
set -e; \
for l in $(LIBNAMES); do \
( echo installing $$l; \
if [ "$(PLATFORM)" != "Cygwin" ]; then \
cp lib$$l.so
$(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new; \
else \
cp cyg$$l.dll
$(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new; \
fi; \
chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new; \
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new
$(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so ); \
done; \
fi
...

where the ".so" references need to change to the ".dylib" extensions ...

so, the following:

% perl -pi -e 's/lib\$\$l.so/lib\$\$l.dylib/g'
/usr/ports/openssl-0.9.8/engines/Makefile

does the trick, and, now, a subsequent

% make install

completes successfully, resulting in:


% ls -al /usr/local/ssl/bin/openssl
-rwxr-xr-x 1 root staff 1581760 Jul 10 10:00 /usr/local/ssl/bin/openssl

% openssl version
OpenSSL 0.9.8 05 Jul 2005


hence, a conditional change for the install of .dylib's on OSX 10.4.1 may be
called for.

comments?

cheers,

richard

__________________________________________________ ____________________
OpenSSL Project http://www.openssl.org
Development Mailing List openssl-dev@openssl.org
Automated List Manager majordomo@openssl.org