[RESOLVED, in 'findssl.sh'] Re: openssh-4.1p1 on OSX 10.4.1 w/ openssl-0.9.8 NOT FINDING -lcrypto

OpenMacNews OpenMacNews at speakeasy.net
Mon Jul 11 07:15:39 EST 2005


hi all,

> configure fails w/:
>
> 	...
> 	checking whether getpgrp requires zero arguments... yes
> 	checking OpenSSL header version... not found
> 	configure: error: OpenSSL version header not found.

i first suspected the 'culprit' to be the following stanza in 
"contrib/findssl.sh":

	...
	echo Searching for OpenSSL header files.
	if [ -x "`which locate`" ]
	then
		headers=`locate opensslv.h`
	else
		headers=`find / -name opensslv.h -print 2>/dev/null`
	fi
	...
    for header in $headers
    do
        ver=`awk '/OPENSSL_VERSION_NUMBER/{printf \$3}' $header`
    ...

though it is, in my own experience, uncommon to use 'locate', rather than 
simply traversing the def'd ENV path and checking for existence of the file(s) 
in question, given that i *do* have a 'locate' on OSX, it'll obviously search 
for opensslv.h ...

on my 'errant' system, checking:

	% locate opensslv.h
		/usr/include/openssl/opensslv.h
		/Developer/SDKs/MacOSX10.3.9.sdk/usr/include/openssl/opensslv.h
		/Developer/SDKs/MacOSX10.4.0.sdk/usr/include/openssl/opensslv.h
		/Developer/SDKs/MacOSX10.4u.sdk/usr/include/openssl/opensslv.h
		/usr/include/openssl/opensslv.h
		/usr/ports/openssl-0.9.7g/crypto/opensslv.h
		/usr/ports/openssl-0.9.7g/include/openssl/opensslv.h
		/usr/local/ssl/include/openssl/opensslv.h


its finding /usr/local/ssl/include/openssl/opensslv.h where it should ... just 
'late' in the result.

as it's not immediately clear to me how to CHANGE that locate result search 
path ... iiuc, it seems that the env var DEFAULT_LIBPATH may be the key ...

so, setting:

	setenv DEFAULT_LIBPATH "(stuff):/usr/local/ssl/lib:( ... before 
...):/usr/lib:(... more stuff ...)"

to override findssl.sh's 'internal':

	#
	# Set default library paths if not already set
	#
	DEFAULT_LIBPATH=/usr/lib:/usr/local/lib

and checking: configure, make & install are all, now, OK, resulting in:

    which ssh
    	/usr/local/openssh/bin/ssh
    ssh -V
    	OpenSSH_4.1p1, OpenSSL 0.9.8 05 Jul 2005
    otool -L /usr/local/openssh/bin/ssh
        /usr/local/openssh/bin/ssh:
            libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 
0.9.8)
            /usr/local/lib/libz.1.2.2.dylib (compatibility version 1.2.0, 
current version 1.2.2)
            /usr/lib/libmx.A.dylib (compatibility version 1.0.0, current 
version 92.0.0)
            /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 88.0.0)

so, it seems to me that, in addition to, or for that matter -- inspite of,

    ./configure \
    ...
    --with-ssl-dir=/usr/local/ssl \
    --with-ldflags="-L/usr/local/ssl/lib" \
    --with-cppflags="-I/usr/local/ssl/include" \
    ...

findssl.sh ALSO needs the ENV var set.

imho, it would be nice if it picked up the 'right' loc'n from the cmd line ... 
preferably JUST from the " --with-ssl-dir" spec'n ...

cheers,

richard






More information about the openssh-unix-dev mailing list