Subject: Re: CVS commit: src/gnu/usr.sbin/postfix/tlsmgr
To: Havard Eidnes <he@NetBSD.org>
From: Bernd Ernesti <netbsd@lists.veego.de>
List: source-changes
Date: 09/04/2005 12:12:21
On Sun, Aug 21, 2005 at 08:26:39PM +0000, Havard Eidnes wrote:
> 
> Module Name:	src
> Committed By:	he
> Date:		Sun Aug 21 20:26:39 UTC 2005
> 
> Modified Files:
> 	src/gnu/usr.sbin/postfix/tlsmgr: Makefile
> 
> Log Message:
> LIBCRYPTO is also needed, fixes build on sun2 (static link only, so far).

Could you please tell me where LIBCRYPTO gets defined?
I can't find it in src/share/mk 
IMHO it needs to be added to bsd.hostprog.mk

I'm asking because I get the following error:

#      link  tlsmgr/tlsmgr
cc    -o tlsmgr  -Wl,-rpath-link,/lib:/usr/lib  -L/lib tlsmgr.o /usr/obj/src/gnu/usr.sbin/postfix/masterlib/libmaster.a /usr/obj/src/gnu/usr.sbin/postfix/global/libglobal.a /usr/obj/src/gnu/usr.sbin/postfix/tls/libtls.a /usr/lib/libcrypto.a /usr/obj/src/gnu/usr.sbin/postfix/util/libutil.a -lssl 
/usr/lib/libssl.so: undefined reference to `EVP_enc_null'
/usr/lib/libssl.so: undefined reference to `EVP_CIPHER_CTX_init'
/usr/lib/libssl.so: undefined reference to `X509_NAME_dup'
/usr/lib/libssl.so: undefined reference to `COMP_compress_block'
/usr/lib/libssl.so: undefined reference to `EVP_rc2_cbc'
/usr/lib/libssl.so: undefined reference to `X509_STORE_get_by_subject'
/usr/lib/libssl.so: undefined reference to `EVP_VerifyFinal'
/usr/lib/libssl.so: undefined reference to `COMP_CTX_new'
/usr/lib/libssl.so: undefined reference to `X509_STORE_CTX_set_ex_data'
/usr/lib/libssl.so: undefined reference to `X509_free'
/usr/lib/libssl.so: undefined reference to `PEM_read_bio_RSAPrivateKey'
/usr/lib/libssl.so: undefined reference to `EVP_aes_128_cbc'
/usr/lib/libssl.so: undefined reference to `BIO_s_socket'
/usr/lib/libssl.so: undefined reference to `d2i_RSAPrivateKey'
/usr/lib/libssl.so: undefined reference to `X509_STORE_new'
/usr/lib/libssl.so: undefined reference to `EVP_md5'
/usr/lib/libssl.so: undefined reference to `EVP_get_cipherbyname'
/usr/lib/libssl.so: undefined reference to `EVP_rc4'
/usr/lib/libssl.so: undefined reference to `EVP_add_cipher'
/usr/lib/libssl.so: undefined reference to `COMP_expand_block'
/usr/lib/libssl.so: undefined reference to `d2i_RSAPrivateKey_bio'
/usr/lib/libssl.so: undefined reference to `PEM_read_bio_PrivateKey'
/usr/lib/libssl.so: undefined reference to `X509_get_pubkey'
/usr/lib/libssl.so: undefined reference to `EVP_aes_192_cbc'
/usr/lib/libssl.so: undefined reference to `EVP_aes_256_cbc'
/usr/lib/libssl.so: undefined reference to `X509_verify_cert_error_string'
/usr/lib/libssl.so: undefined reference to `X509_STORE_CTX_purpose_inherit'
/usr/lib/libssl.so: undefined reference to `EVP_dss1'
/usr/lib/libssl.so: undefined reference to `d2i_PrivateKey'
/usr/lib/libssl.so: undefined reference to `X509_STORE_set_default_paths'
/usr/lib/libssl.so: undefined reference to `COMP_CTX_free'
/usr/lib/libssl.so: undefined reference to `X509_STORE_CTX_init'
/usr/lib/libssl.so: undefined reference to `i2d_DHparams'
/usr/lib/libssl.so: undefined reference to `EVP_PKEY_assign'
/usr/lib/libssl.so: undefined reference to `OBJ_NAME_add'
/usr/lib/libssl.so: undefined reference to `EVP_PKEY_type'
/usr/lib/libssl.so: undefined reference to `X509_verify_cert'
/usr/lib/libssl.so: undefined reference to `d2i_X509_bio'
/usr/lib/libssl.so: undefined reference to `X509_check_private_key'
/usr/lib/libssl.so: undefined reference to `EVP_CIPHER_CTX_cleanup'
/usr/lib/libssl.so: undefined reference to `EVP_PKEY_copy_parameters'
/usr/lib/libssl.so: undefined reference to `X509_get_subject_name'
/usr/lib/libssl.so: undefined reference to `EVP_PKEY_new'
/usr/lib/libssl.so: undefined reference to `i2d_X509_NAME'
/usr/lib/libssl.so: undefined reference to `i2d_X509'
/usr/lib/libssl.so: undefined reference to `PEM_read_bio_X509'
/usr/lib/libssl.so: undefined reference to `RSAPrivateKey_dup'
/usr/lib/libssl.so: undefined reference to `EVP_des_cbc'
/usr/lib/libssl.so: undefined reference to `EVP_EncryptInit_ex'
/usr/lib/libssl.so: undefined reference to `EVP_PKEY_missing_parameters'
/usr/lib/libssl.so: undefined reference to `EVP_DecryptInit_ex'
/usr/lib/libssl.so: undefined reference to `X509_STORE_CTX_cleanup'
/usr/lib/libssl.so: undefined reference to `EVP_SignFinal'
/usr/lib/libssl.so: undefined reference to `X509_certificate_type'
/usr/lib/libssl.so: undefined reference to `d2i_DHparams'
/usr/lib/libssl.so: undefined reference to `BIO_f_buffer'
/usr/lib/libssl.so: undefined reference to `X509_STORE_CTX_get_ex_new_index'
/usr/lib/libssl.so: undefined reference to `X509_NAME_cmp'
/usr/lib/libssl.so: undefined reference to `EVP_CipherInit_ex'
/usr/lib/libssl.so: undefined reference to `EVP_PKEY_size'
/usr/lib/libssl.so: undefined reference to `EVP_add_digest'
/usr/lib/libssl.so: undefined reference to `X509_get_issuer_name'
/usr/lib/libssl.so: undefined reference to `EVP_idea_cbc'
/usr/lib/libssl.so: undefined reference to `X509_get_ext_count'
/usr/lib/libssl.so: undefined reference to `EVP_des_ede3_cbc'
/usr/lib/libssl.so: undefined reference to `X509_STORE_free'
/usr/lib/libssl.so: undefined reference to `X509_STORE_load_locations'
/usr/lib/libssl.so: undefined reference to `X509_NAME_free'
/usr/lib/libssl.so: undefined reference to `X509_PURPOSE_set'
/usr/lib/libssl.so: undefined reference to `d2i_X509_NAME'
/usr/lib/libssl.so: undefined reference to `d2i_X509'
/usr/lib/libssl.so: undefined reference to `BIO_s_connect'
/usr/lib/libssl.so: undefined reference to `EVP_PKEY_free'
/usr/lib/libssl.so: undefined reference to `X509_TRUST_set'
/usr/lib/libssl.so: undefined reference to `X509_STORE_CTX_set_verify_cb'
/usr/lib/libssl.so: undefined reference to `EVP_md2'
/usr/lib/libssl.so: undefined reference to `EVP_get_digestbyname'
*** Error code 1

Changing it to the diff below fixed the problem on i386.

Index: Makefile
===================================================================
RCS file: /cvsroot/src/gnu/usr.sbin/postfix/tlsmgr/Makefile,v
retrieving revision 1.2
diff -b -u -r1.2 Makefile
--- Makefile	21 Aug 2005 20:26:39 -0000	1.2
+++ Makefile	4 Sep 2005 10:09:52 -0000
@@ -12,6 +12,6 @@
 BINDIR=	${PFIX_LIBEXECDIR}
 
 DPADD+= ${LIBPMASTER} ${LIBPGLOBAL} ${LIBPTLS} ${LIBCRYPTO} ${LIBPUTIL}
-LDADD+= ${LIBPMASTER} ${LIBPGLOBAL} ${LIBPTLS} ${LIBCRYPTO} ${LIBPUTIL} -lssl
+LDADD+= ${LIBPMASTER} ${LIBPGLOBAL} ${LIBPTLS} -lcrypto ${LIBPUTIL} -lssl
 
 .include <bsd.prog.mk>

Bernd