Building psycopg2 under cygwin

From: David Gilman <davidgilman1(at)gmail(dot)com>
To: psycopg(at)postgresql(dot)org
Subject: Building psycopg2 under cygwin
Date: 2013-04-11 20:52:09
Message-ID: CALBH9DAdGGG9ASBCgYWyS8AFkX6Sc6P-RJ8YXsmVL-bAgxUQcQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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<

Browse psycopg by date

  From Date Subject
Next Message Don Parris 2013-04-16 09:59:08 Question on Multi-Table Inserts
Previous Message Daniele Varrazzo 2013-04-10 00:04:27 Re: Psycopg 2.5 released