Re: URGENT: Undefined Symbols Using XCode 2.5 on Mac OS X 10.5 - Mailing list pgsql-interfaces

From Neil Tiffin
Subject Re: URGENT: Undefined Symbols Using XCode 2.5 on Mac OS X 10.5
Date
Msg-id 881E1475-B220-41D0-9DFF-98CAA41BD623@neiltiffin.com
Whole thread Raw
In response to Re: URGENT: Undefined Symbols Using XCode 2.5 on Mac OS X 10.5  (Keary Suska <hierophant@pcisys.net>)
Responses Re: URGENT: Undefined Symbols Using XCode 2.5 on Mac OS X 10.5  (Keary Suska <hierophant@pcisys.net>)
List pgsql-interfaces

On Dec 24, 2007, at 12:35 PM, Keary Suska wrote:

on 12/23/07 6:16 AM, jtv@xs4all.nl purportedly said:

I ha a perfectly functioning libpq before I upgraded my computer but for
some reason I am now getting undefined symbol errors in libpq.a:

AirBase:0: /Users/aksuska/Projects/FFSEmploy/AirBase
Project/AirBase/libpq.a(fe-secure.o) reference to undefined
_pthread_sigmask$UNIX2003
AirBase:0: _close$UNIX2003
AirBase:0: _fcntl$UNIX2003
[...]

This sounds more like a generic linking problem specific to your system
than a problem with postgres as such.  Your best bet may be to ask on
platform-specific forums.

That said, can't you build postgres from source and use the libpq you get?

Originally I was using a MacPorts install, but I compiled from source and
used that lipq.a, but without any difference in result.


To find out if the symbol is in the library use the following command "nm -A libpq.a | grep close".  Of course you will need to the in the same dir as libpq or use an absolute reference.  I get the following:

Macintosh:lib$ nm -A libpq.a | grep close
libpq.a:fe-auth.o:          U _krb5_cc_close
libpq.a:fe-connect.o:          U _close
libpq.a:fe-connect.o: 000004dc t _closePGconn
libpq.a:fe-connect.o:          U _fclose
libpq.a:fe-connect.o:          U _pqsecure_close
libpq.a:fe-misc.o:          U _close
libpq.a:fe-misc.o:          U _pqsecure_close
libpq.a:fe-print.o:          U _pclose
libpq.a:fe-lobj.o:          U _close
libpq.a:fe-lobj.o: 000009fa T _lo_close
libpq.a:fe-protocol3.o:          U _close
libpq.a:fe-protocol3.o:          U _pqsecure_close
libpq.a:fe-secure.o: 000000a1 t _close_SSL
libpq.a:fe-secure.o:          U _fclose
libpq.a:fe-secure.o: 000000f6 T _pqsecure_close

Now here you will see there is no "_close" related to "fe-secure.o".  Should you be using "_close_SSL" or "_fclose"?  For my projects using xCode I link against libpq.dylib.  Not sure if this makes any difference.


pgsql-interfaces by date:

Previous
From: Keary Suska
Date:
Subject: Re: URGENT: Undefined Symbols Using XCode 2.5 on Mac OS X 10.5
Next
From: Keary Suska
Date:
Subject: Re: URGENT: Undefined Symbols Using XCode 2.5 on Mac OS X 10.5