Building psycopg2 under cygwin - Mailing list psycopg

From David Gilman
Subject Building psycopg2 under cygwin
Date
Msg-id CALBH9DAdGGG9ASBCgYWyS8AFkX6Sc6P-RJ8YXsmVL-bAgxUQcQ@mail.gmail.com
Whole thread Raw
List psycopg
Hi there, I'm attempting to build psycopg2 under cygwin.  I've got
libpq5 and its devel packages installed.  The cygwin repo is up to
date with postgres 9.2.  When trying to build with a `pip install
psycopg2` it ultimately dies when linking with the errors posted at
the end of this message.

The errors are all coming from within libpq.a so I can totally
understand if this is not a psycopg2 error.  However, I think it could
also be possible that psycopg2 is forgetting to link against some
library.  I'm not familiar with libpq at all and I'd appreciate any
feedback any list members could have.  If the maintainers of psycopg2
are confident this is a problem on the cygwin side please give me a
heads up so I can cross-post over to the cygwin maintainers.  Thanks!

gcc -shared -Wl,--enable-auto-image-base -L.
build/temp.cygwin-1.7.17-i686-2.7/psycopg/psycopgmodule.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/green.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/pqpath.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/utils.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/bytes_format.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/connection_int.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/connection_type.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/cursor_int.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/cursor_type.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/diagnostics_type.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/error_type.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/lobject_int.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/lobject_type.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/notify_type.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/xid_type.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/adapter_asis.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/adapter_binary.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/adapter_datetime.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/adapter_list.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/adapter_pboolean.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/adapter_pdecimal.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/adapter_pint.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/adapter_pfloat.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/adapter_qstring.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/microprotocols.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/microprotocols_proto.o
build/temp.cygwin-1.7.17-i686-2.7/psycopg/typecast.o
-L/home/David_G/test/venv/lib/python2.7/config -L/usr/lib -lpython2.7
-lpq -o build/lib.cygwin-1.7.17-i686-2.7/psycopg2/_psycopg.dll

/usr/lib/libpq.a(fe-connect.o): In function `ldapServiceLookup':

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3541:
undefined reference to `_ldap_init'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3553:
undefined reference to `_ldap_simple_bind'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3563:
undefined reference to `_ldap_result'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3576:
undefined reference to `_ldap_msgfree'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3580:
undefined reference to `_ldap_search_st'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3584:
undefined reference to `_ldap_msgfree'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3585:
undefined reference to `_ldap_err2string'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3588:
undefined reference to `_ldap_unbind'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3594:
undefined reference to `_ldap_count_entries'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3622:
undefined reference to `_ldap_msgfree'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3623:
undefined reference to `_ldap_unbind'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3569:
undefined reference to `_ldap_msgfree'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3573:
undefined reference to `_ldap_unbind'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3606:
undefined reference to `_ldap_first_entry'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3618:
undefined reference to `_ldap_get_values_len'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3628:
undefined reference to `_ldap_msgfree'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3648:
undefined reference to `_ldap_value_free_len'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3649:
undefined reference to `_ldap_unbind'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3661:
undefined reference to `_ldap_value_free_len'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-connect.c:3662:
undefined reference to `_ldap_unbind'

/usr/lib/libpq.a(fe-misc.o): In function `libpq_gettext':

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-misc.c:1202:
undefined reference to `_libintl_bindtextdomain'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-misc.c:1210:
undefined reference to `_libintl_dgettext'

/usr/lib/libpq.a(fe-misc.o): In function `pqSocketCheck':

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-misc.c:1025:
undefined reference to `_SSL_pending'

/usr/lib/libpq.a(fe-secure.o): In function `SSLerrmessage':

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1512:
undefined reference to `_ERR_get_error'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1518:
undefined reference to `_ERR_reason_error_string'

/usr/lib/libpq.a(fe-secure.o): In function `initialize_SSL':

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1094:
undefined reference to `_SSL_CTX_use_certificate_chain_file'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1104:
undefined reference to `_SSL_use_certificate_file'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1140:
undefined reference to `_ENGINE_by_id'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1153:
undefined reference to `_ENGINE_init'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1167:
undefined reference to `_ENGINE_load_private_key'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1183:
undefined reference to `_SSL_use_PrivateKey'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1253:
undefined reference to `_SSL_check_private_key'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1281:
undefined reference to `_SSL_CTX_load_verify_locations'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1292:
undefined reference to `_SSL_CTX_get_cert_store'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1322:
undefined reference to `_SSL_set_verify'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1239:
undefined reference to `_SSL_use_PrivateKey_file'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1357:
undefined reference to `_SSL_ctrl'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1303:
undefined reference to `_X509_STORE_load_locations'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1307:
undefined reference to `_X509_STORE_set_flags'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1177:
undefined reference to `_ENGINE_finish'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1178:
undefined reference to `_ENGINE_free'

/usr/lib/libpq.a(fe-secure.o): In function `init_ssl_system':

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:946:
undefined reference to `_TLSv1_method'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:946:
undefined reference to `_SSL_CTX_new'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:965:
undefined reference to `_SSL_CTX_ctrl'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:929:
undefined reference to `_CRYPTO_set_id_callback'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:930:
undefined reference to `_CRYPTO_set_locking_callback'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:940:
undefined reference to `_OPENSSL_config'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:942:
undefined reference to `_SSL_library_init'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:943:
undefined reference to `_SSL_load_error_strings'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:908:
undefined reference to `_CRYPTO_num_locks'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:914:
undefined reference to `_CRYPTO_num_locks'

/usr/lib/libpq.a(fe-secure.o): In function `destroySSL':

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:999:
undefined reference to `_CRYPTO_set_locking_callback'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1000:
undefined reference to `_CRYPTO_set_id_callback'

/usr/lib/libpq.a(fe-secure.o): In function `pqsecure_write':

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:490:
undefined reference to `_SSL_write'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:491:
undefined reference to `_SSL_get_error'

/usr/lib/libpq.a(fe-secure.o): In function `pqsecure_read':

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:329:
undefined reference to `_SSL_read'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:330:
undefined reference to `_SSL_get_error'

/usr/lib/libpq.a(fe-secure.o): In function `close_SSL':

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1466:
undefined reference to `_SSL_shutdown'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1467:
undefined reference to `_SSL_free'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1477:
undefined reference to `_X509_free'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1484:
undefined reference to `_ENGINE_finish'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1485:
undefined reference to `_ENGINE_free'

/usr/lib/libpq.a(fe-secure.o): In function `open_client_SSL':

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1378:
undefined reference to `_SSL_connect'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1432:
undefined reference to `_SSL_get_peer_certificate'

/usr/lib/libpq.a(fe-secure.o): In function
`verify_peer_name_matches_certificate':

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:756:
undefined reference to `_X509_get_subject_name'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:756:
undefined reference to `_X509_NAME_get_text_by_NID'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:772:
undefined reference to `_X509_get_subject_name'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:772:
undefined reference to `_X509_NAME_get_text_by_NID'

/usr/lib/libpq.a(fe-secure.o): In function `open_client_SSL':

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:1381:
undefined reference to `_SSL_get_error'

/usr/lib/libpq.a(fe-secure.o): In function `pqsecure_open_client':

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:258:
undefined reference to `_SSL_new'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:259:
undefined reference to `_SSL_set_ex_data'

/pub/devel/postgresql/postgresql-9.2.4-1/src/postgresql-9.2.4/src/interfaces/libpq/fe-secure.c:260:
undefined reference to `_SSL_set_fd'

/usr/lib/libpq.a(chklocale.o): In function `pg_get_encoding_from_locale':

/pub/devel/postgresql/postgresql-9.2.4-1/build/src/interfaces/libpq/chklocale.c:269:
undefined reference to `_libintl_setlocale'

/pub/devel/postgresql/postgresql-9.2.4-1/build/src/interfaces/libpq/chklocale.c:277:
undefined reference to `_libintl_setlocale'

/pub/devel/postgresql/postgresql-9.2.4-1/build/src/interfaces/libpq/chklocale.c:292:
undefined reference to `_libintl_setlocale'

/pub/devel/postgresql/postgresql-9.2.4-1/build/src/interfaces/libpq/chklocale.c:298:
undefined reference to `_libintl_setlocale'

/pub/devel/postgresql/postgresql-9.2.4-1/build/src/interfaces/libpq/chklocale.c:351:
undefined reference to `_libintl_gettext'

collect2: ld returned 1 exit status

error: command 'gcc' failed with exit status 1

--
David Gilman
:DG<


psycopg by date:

Previous
From: Daniele Varrazzo
Date:
Subject: Re: Psycopg 2.5 released
Next
From: Don Parris
Date:
Subject: Question on Multi-Table Inserts