Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing _PQbackendPID symbol on m1 / big sur #44

Closed
sgrove opened this issue Feb 1, 2021 · 1 comment
Closed

Missing _PQbackendPID symbol on m1 / big sur #44

sgrove opened this issue Feb 1, 2021 · 1 comment

Comments

@sgrove
Copy link
Contributor

sgrove commented Feb 1, 2021

Sorry for the sparse report, I'm not sure where the issue is exactly at this point given there are quite a few pieces that changed all at once!

Running into a problem with a missing symbol, _PQbackendPID:

Error: Error on dynamically loaded library: /Users/s/.esy/3_______________________________________________________________________/i/opam__s__postgresql-opam__c__4.3.0-4180f521/lib/stublibs/dllpostgresql_stubs.so: dlopen(/Users/s/.esy/3_______________________________________________________________________/i/opam__s__postgresql-opam__c__4.3.0-4180f521/lib/stublibs/dllpostgresql_stubs.so, 10): Symbol not found: _PQbackendPID
  Referenced from: /Users/s/.esy/3_______________________________________________________________________/i/opam__s__postgresql-opam__c__4.3.0-4180f521/lib/stublibs/dllpostgresql_stubs.so
  Expected in: flat namespace
 in /Users/s/.esy/3_______________________________________________________________________/i/opam__s__postgresql-opam__c__4.3.0-4180f521/lib/stublibs/dllpostgresql_stubs.so

Looking at a list of the symbols in the .so:

❯ nm /Users/s/.esy/3_______________________________________________________________________/i/opam__s__postgresql-opam__c__4.3.0-4180f521/lib/stublibs/dllpostgresql_stubs.so
                 U _Caml_state
0000000000005ba0 T _PQCancel_stub
                 U _PQbackendPID
0000000000003b80 T _PQbackendPID_stub
0000000000003b90 T _PQbackendPID_stub_bc
                 U _PQbinaryTuples
0000000000004810 T _PQbinaryTuples_stub
                 U _PQcancel
                 U _PQclear
                 U _PQcmdStatus
0000000000005050 T _PQcmdStatus_stub
                 U _PQcmdTuples
00000000000050d0 T _PQcmdTuples_stub
00000000000030f0 T _PQconn_isnull
                 U _PQconndefaults
00000000000032c0 T _PQconndefaults_stub
                 U _PQconnectPoll
0000000000003610 T _PQconnectPoll_stub
                 U _PQconnectStart
                 U _PQconnectdb
0000000000003110 T _PQconnectdb_stub
                 U _PQconninfoFree
                 U _PQconsumeInput
0000000000005af0 T _PQconsumeInput_stub
0000000000005b00 T _PQconsumeInput_stub_bc
                 U _PQdb
0000000000003760 T _PQdb_stub
                 U _PQdescribePrepared
00000000000045d0 T _PQdescribePrepared_stub
                 U _PQendcopy
00000000000065c0 T _PQendcopy_stub
0000000000006640 T _PQendcopy_stub_bc
                 U _PQerrorMessage
0000000000003b00 T _PQerrorMessage_stub
                 U _PQescapeByteaConn
0000000000005da0 T _PQescapeByteaConn_stub
0000000000005e00 T _PQescapeByteaConn_stub_bc
                 U _PQescapeStringConn
0000000000005cf0 T _PQescapeStringConn_stub
0000000000005d80 T _PQescapeStringConn_stub_bc
                 U _PQexec
                 U _PQexecParams
0000000000003c00 T _PQexecParams_stub
                 U _PQexecPrepared
0000000000004190 T _PQexecPrepared_stub
                 U _PQfformat
0000000000004a40 T _PQfformat_stub
0000000000004a60 T _PQfformat_stub_bc
                 U _PQfinish
00000000000031c0 T _PQfinish_stub
                 U _PQflush
0000000000005b40 T _PQflush_stub
0000000000005b50 T _PQflush_stub_bc
                 U _PQfmod
0000000000004ac0 T _PQfmod_stub
0000000000004ae0 T _PQfmod_stub_bc
                 U _PQfname
0000000000004830 T _PQfname_stub
00000000000048b0 T _PQfname_stub_bc
                 U _PQfnumber
0000000000004a00 T _PQfnumber_stub
0000000000004a20 T _PQfnumber_stub_bc
                 U _PQfreeCancel
                 U _PQfreemem
                 U _PQfsize
0000000000004b00 T _PQfsize_stub
0000000000004b20 T _PQfsize_stub_bc
                 U _PQftype
0000000000004a80 T _PQftype_stub
0000000000004aa0 T _PQftype_stub_bc
                 U _PQgetCancel
                 U _PQgetResult
0000000000005a40 T _PQgetResult_stub
0000000000004c90 T _PQgetescval_stub
0000000000004fa0 T _PQgetescval_stub_bc
                 U _PQgetisnull
0000000000004fc0 T _PQgetisnull_stub
0000000000004fe0 T _PQgetisnull_stub_bc
                 U _PQgetlength
0000000000005010 T _PQgetlength_stub
0000000000005030 T _PQgetlength_stub_bc
                 U _PQgetline
                 U _PQgetlineAsync
0000000000006260 T _PQgetlineAsync_stub
0000000000006280 T _PQgetlineAsync_stub_bc
00000000000060d0 T _PQgetline_stub
0000000000006190 T _PQgetline_stub_bc
                 U _PQgetvalue
0000000000004b80 T _PQgetvalue_stub
0000000000004c70 T _PQgetvalue_stub_bc
                 U _PQhost
00000000000038e0 T _PQhost_stub
                 U _PQisBusy
0000000000005b20 T _PQisBusy_stub
                 U _PQisnonblocking
0000000000005270 T _PQisnonblocking_stub
                 U _PQmakeEmptyPGresult
0000000000005190 T _PQmakeEmptyPGresult_stub
                 U _PQnfields
00000000000047d0 T _PQnfields_stub
00000000000047f0 T _PQnfields_stub_bc
                 U _PQnotifies
0000000000005f50 T _PQnotifies_stub
                 U _PQnparams
00000000000049c0 T _PQnparams_stub
00000000000049e0 T _PQnparams_stub_bc
                 U _PQntuples
0000000000004790 T _PQntuples_stub
00000000000047b0 T _PQntuples_stub_bc
0000000000002f90 T _PQocaml_init
                 U _PQoidValue
0000000000005150 T _PQoidValue_stub
0000000000005170 T _PQoidValue_stub_bc
                 U _PQoptions
0000000000003a60 T _PQoptions_stub
                 U _PQparamtype
0000000000004b40 T _PQparamtype_stub
0000000000004b60 T _PQparamtype_stub_bc
                 U _PQpass
0000000000003860 T _PQpass_stub
                 U _PQport
0000000000003960 T _PQport_stub
                 U _PQprepare
0000000000004050 T _PQprepare_stub
                 U _PQputline
00000000000062b0 T _PQputline_stub
0000000000006370 T _PQputline_stub_bc
                 U _PQputnbytes
0000000000006430 T _PQputnbytes_stub
00000000000064f0 T _PQputnbytes_stub_bc
                 U _PQresStatus
00000000000046e0 T _PQresStatus_stub
0000000000003be0 T _PQres_isnull
                 U _PQreset
                 U _PQresetPoll
00000000000036f0 T _PQresetPoll_stub
                 U _PQresetStart
0000000000003680 T _PQresetStart_stub
0000000000003240 T _PQreset_stub
                 U _PQresultErrorField
0000000000004930 T _PQresultErrorField_stub
                 U _PQresultErrorMessage
0000000000004710 T _PQresultErrorMessage_stub
                 U _PQresultStatus
00000000000046c0 T _PQresultStatus_stub
                 U _PQsendDescribePortal
00000000000059e0 T _PQsendDescribePortal_stub
00000000000059f0 T _PQsendDescribePortal_stub_bc
                 U _PQsendDescribePrepared
00000000000059b0 T _PQsendDescribePrepared_stub
00000000000059c0 T _PQsendDescribePrepared_stub_bc
                 U _PQsendPrepare
0000000000005600 T _PQsendPrepare_stub
0000000000005620 T _PQsendPrepare_stub_bc
                 U _PQsendQuery
                 U _PQsendQueryParams
0000000000005290 T _PQsendQueryParams_stub
00000000000055f0 T _PQsendQueryParams_stub_bc
                 U _PQsendQueryPrepared
0000000000005640 T _PQsendQueryPrepared_stub
00000000000059a0 T _PQsendQueryPrepared_stub_bc
                 U _PQserverVersion
0000000000003bb0 T _PQserverVersion_stub
0000000000003bc0 T _PQserverVersion_stub_bc
                 U _PQsetNoticeProcessor
00000000000066c0 T _PQsetNoticeProcessor_stub
                 U _PQsetSingleRowMode
0000000000005a10 T _PQsetSingleRowMode_stub
0000000000005a20 T _PQsetSingleRowMode_stub_bc
                 U _PQsetnonblocking
0000000000005230 T _PQsetnonblocking_stub
0000000000005250 T _PQsetnonblocking_stub_bc
                 U _PQsocket
0000000000005b70 T _PQsocket_stub
0000000000005b80 T _PQsocket_stub_bc
                 U _PQstatus
0000000000003ae0 T _PQstatus_stub
                 U _PQtty
00000000000039e0 T _PQtty_stub
                 U _PQunescapeBytea
0000000000005e60 T _PQunescapeBytea_stub
                 U _PQuser
00000000000037e0 T _PQuser_stub
                 U __DefaultRuneLocale
                 U ___maskrune
                 U ___stack_chk_fail
                 U ___stack_chk_guard
000000000000c380 d __dyld_private
0000000000004df0 t _bytea_hex_pairs
                 U _caml_alloc_custom
                 U _caml_alloc_small
                 U _caml_alloc_string
                 U _caml_alloc_tuple
                 U _caml_callback
                 U _caml_copy_string
                 U _caml_enter_blocking_section
                 U _caml_failwith
                 U _caml_leave_blocking_section
                 U _caml_modify
                 U _caml_named_value
                 U _caml_raise_with_arg
                 U _caml_register_generational_global_root
                 U _caml_remove_generational_global_root
                 U _caml_stat_alloc
                 U _caml_stat_free
                 U _caml_string_length
0000000000004eb0 t _decode_bytea_hex
0000000000007f00 s _error_field_tbl
0000000000007770 t _free_result
0000000000002fe0 T _ftype_of_oid_stub
0000000000003040 T _ftype_of_oid_stub_bc
                 U _lo_close
0000000000006cb0 T _lo_close_stub
0000000000006d30 T _lo_close_stub_bc
                 U _lo_creat
0000000000006780 T _lo_creat_stub
0000000000006800 T _lo_creat_stub_bc
                 U _lo_export
0000000000006a00 T _lo_export_stub
0000000000006ac0 T _lo_export_stub_bc
                 U _lo_import
0000000000006880 T _lo_import_stub
0000000000006940 T _lo_import_stub_bc
                 U _lo_lseek
0000000000007600 T _lo_lseek_stub
00000000000076b0 T _lo_lseek_stub_bc
                 U _lo_open
0000000000006b90 T _lo_open_stub
0000000000006c20 T _lo_open_stub_bc
                 U _lo_read
0000000000007190 T _lo_read_ba_stub
0000000000007240 T _lo_read_ba_stub_bc
0000000000006fe0 T _lo_read_stub
00000000000070b0 T _lo_read_stub_bc
                 U _lo_tell
0000000000006dc0 T _lo_tell_stub
0000000000006e40 T _lo_tell_stub_bc
                 U _lo_unlink
0000000000006ed0 T _lo_unlink_stub
0000000000006f50 T _lo_unlink_stub_bc
                 U _lo_write
00000000000074a0 T _lo_write_ba_stub
0000000000007550 T _lo_write_ba_stub_bc
00000000000072f0 T _lo_write_stub
00000000000073c0 T _lo_write_stub_bc
                 U _memcpy
0000000000006740 t _notice_ml
00000000000030b0 T _oid_of_ftype_stub
00000000000030d0 T _oid_of_ftype_stub_bc
000000000000c3a0 d _oid_tbl
000000000000c498 d _result_ops
                 U _strlen
000000000000c390 d _v_empty_string
000000000000c4d8 b _v_exc_Oid
000000000000c4e0 b _v_null_param
                 U dyld_stub_binder

Appreciate any pointers you might have on how to start tracking this down!

@sgrove sgrove changed the title Missing symbol on m1 / big sur Missing _PQbackendPID symbol on m1 / big sur Feb 1, 2021
@mmottl
Copy link
Owner

mmottl commented Feb 12, 2021

I'm afraid, but I couldn't replicate this problem on Big Sur. I don't have an M1 platform though. You may want to check the installation of your PostgreSQL library. Mine was installed via MacPorts (postgresql13).

@mmottl mmottl closed this as not planned Won't fix, can't repro, duplicate, stale Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants