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? At Tue, 2 Oct 2012 08:34:55 -0400, Lars Engblom wrote: > 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 ____________________ Racket Users list: http://lists.racket-lang.org/users