[racket] Racket spamming with "undefined symbol"

14 views
Skip to first unread message

Lars Engblom

unread,
Oct 2, 2012, 8:34:55 AM10/2/12
to d...@racket-lang.org, us...@racket-lang.org
Environment: OpenBSD 5.1 amd64

Problem: Many racket programs spams with "undefined symbol" for openssl.
This makes it almost impossible to to read outputs in the console.

**$ drracket
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_EXTENSION_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'X509_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'OCSP_RESPID_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_NAME_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_DigestInit'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'BIO_find_type'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_enc_null'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_CIPHER_CTX_init'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'BUF_strndup'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_NAME_dup'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'COMP_compress_block'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_rc2_cbc'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'sk_new_null'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'lh_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'd2i_X509_EXTENSIONS'
/usr/local/bin/gracket:/usr/lib/l/usr/local/bin/gracket:/usr/lib/libssl.so.17.1:
undefined symbol 'EVP_PKEY_bits'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'EVP_md5'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'ASN1_object_size'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_get_cipherbyname'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'PEM_ASN1_read_bio'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'BIO_dump_indent'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EC_KEY_get0_public_key'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'EVP_rc4'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_add_cipher'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'ASN1_get_object'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_rc2_40_cbc'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_MD_CTX_destroy'
/usr/local/bin/gra/usr/local/bin/gracket:/usr/lib/libssl.so.17.1:
undefined symbol 'COMP_zlib'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'ERR_load_crypto_strings'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_DigestSignFinal'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'BUF_MEM_grow'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'lh_insert'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_STORE_load_locations'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_NAME_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'd2i_ASN1_OCTET_STRING'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_PKEY_encrypt_init'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'BIO_test_flags'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'lh_delete'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'CRYPTO_malloc'
/usr/lo/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_EXTENSION_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'X509_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'OCSP_RESPID_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_NAME_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_DigestInit'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'BIO_find_type'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_enc_null'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_CIPHER_CTX_init'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'BUF_strndup'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_NAME_dup'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'COMP_compress_block'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_rc2_cbc'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'sk_new_null'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'lh_free'
/usr/local/bin/gracket:/usr/lib/libs/usr/local/bin/gracket:/usr/lib/libssl.so.17.1:
undefined symbol 'BIO_s_socket'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_PKEY_decrypt'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_VERIFY_PARAM_set_purpose'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'asn1_add_error'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'ENGINE_get_ssl_client_cert_function'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'BUF_MEM_grow_clean'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'pqueue_next'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_DigestSignInit'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'd2i_RSAPrivateKey'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_PKEY_derive_set_peer'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'sk_num'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_CipherInit_ex'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_PKEY_size'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_add_digest'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EC_KEY_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_EncryptUpdate'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'ASN1_const_check_infinite_end'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_PKEY_CTX_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_MD_CTX_create'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'i2d_OCSP_RESPID'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'BIO_push'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'CRYPTO_mem_ctrl'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'BIO_s_mem'
/usr/local/bin/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined
symbol 'X509_EXTENSION_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'X509_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'OCSP_RESPID_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_NAME_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_DigestInit'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'BIO_find_type'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_enc_null'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_CIPHER_CTX_init'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'BUF_strndup'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_NAME_dup'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'COMP_compress_block'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_rc2_cbc'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'sk_new_null'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'lh_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'd2i_X509_EXTENSIONS'
/usr/local/bin/gracket:/usr/lib/l/usr/local/bin/gracket:/usr/lib/libssl.so.17.1:
undefined symbol 'X509_STORE_new'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'HMAC_Final'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'HMAC_Init_ex'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_PKEY_bits'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'EVP_md5'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'ASN1_object_size'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_get_cipherbyname'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'PEM_ASN1_read_bio'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'BIO_dump_indent'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EC_KEY_get0_public_key'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'EVP_rc4'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_add_cipher'
/usr/local/bin/gracket:/usr/l/usr/local/bin/gracket:/usr/lib/libssl.so.17.1:
undefined symbol 'EC_KEY_get0_private_key'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_PKEY_decrypt_init'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_PKEY_CTX_ctrl'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_PKEY_new_mac_key'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EC_GROUP_new_by_curve_name'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'OPENSSL_DIR_end'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_PKEY_sign_init'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_des_ede3_cbc'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_STORE_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'COMP_zlib'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'ERR_load_crypto_strings'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined
symb/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_EXTENSION_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'X509_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'OCSP_RESPID_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_NAME_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_DigestInit'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'BIO_find_type'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_enc_null'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_CIPHER_CTX_init'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'BUF_strndup'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_NAME_dup'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'COMP_compress_block'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_rc2_cbc'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'sk_new_null'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'lh_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'd2i_X509_EXTENSIONS'
/usr/local/bin/gracket:/usr/lib/l/usr/local/bin/gracket:/usr/lib/libssl.so.17.1:
undefined symbol 'X509_STORE_new'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'HMAC_Final'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'HMAC_Init_ex'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_PKEY_bits'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'EVP_md5'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'ASN1_object_size'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_get_cipherbyname'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'PEM_ASN1_read_bio'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'BIO_dump_indent'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EC_KEY_get0_public_key'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'EVP_rc4'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_add_cipher'
/usr/local/bin/gracket:/usr/l/usr/local/bin/gracket:/usr/lib/libssl.so.17.1:
undefined symbol 'EVP_PKEY_new_mac_key'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EC_GROUP_new_by_curve_name'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'OPENSSL_DIR_end'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_PKEY_sign_init'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_des_ede3_cbc'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_STORE_free'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'COMP_zlib'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'ERR_load_crypto_strings'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'EVP_DigestSignFinal'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'BUF_MEM_grow'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol 'lh_insert'
/usr/local/bin/gracket:/usr/lib/libssl.so.17.1: undefined symbol
'X509_STORE_load_l

Regards,
Lasse
____________________
Racket Users list:
http://lists.racket-lang.org/users

Matthew Flatt

unread,
Oct 2, 2012, 11:41:42 AM10/2/12
to Lars Engblom, d...@racket-lang.org, us...@racket-lang.org
It looks like this is a result of the way that "libssl" is linked on
OpenBSD. In particular, it seems to not refer to "libcrypto" directly,
and instead depends on "libcrypto" supplying it exports in the global
namespace. Although the Racket `openssl' library does load "libcrypto"
in advance, it does so without making exported symbols global within
the process, and so "libssl" doesn't see them when it's loaded.

The `openssl' library could open "libcrypto" in a way that makes its
exports global, but I'm pretty sure that's the wrong thing for all
other platforms that I've tried. Also, the fact that you can start
DrRacket suggests that libraries such as Gtk (which I do not have
installed in my OpenBSD image) are linked in the usual way.

Is special-casing "libcrypto" on OpenBSD really the right thing?
Reply all
Reply to author
Forward
0 new messages