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                       [email protected]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to