Israel Brewster
2008-02-06 19:40:42 UTC
I am developing an application that links against libpq on Mac OS
10.5. I want this application to be able to run on both 10.4 and 10.5.
So far I have it working fine on my 10.5 build machine. However, when
I try moving it to a 10.4 machine, I run into problems apparently
related to the libpq build.
My first attempt was with a "standard" universal binary build of
postgresql (CFLAGS="-O -g -arch i386 -arch ppc" ./configure; make;
make install ) This produced a .dylib file that my application happily
linked against, and ran fine on 10.5. When I move the library and
application to 10.4, however, while the application will still launch
and run, as soon as I try to use anything from libpq, the program
crashes with the following error:
dyld: lazy symbol binding failed: Symbol not found: _fcntl$UNIX2003
Referenced from: /Volumes/MIS/AssetTracker/AssetTracker.app/
Contents/MacOS/../Frameworks/libpq.5.dylib
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _fcntl$UNIX2003
Referenced from: /Volumes/MIS/AssetTracker/AssetTracker.app/
Contents/MacOS/../Frameworks/libpq.5.dylib
Expected in: /usr/lib/libSystem.B.dylib
It would appear that libpq is looking for something in the libSystem
library that apparently exists on 10.5, but not 10.4. I figured that a
static build of libpq should fix this problem, so I did a make
distclean, and then re-ran the configure command with the --disable-
shared flag to generate a static-only build. Unfortunately, this
resulted in a slew of "undefined symbol" errors when I tried to
compile my app. It would appear that when I don't build the shared
libraries, my app can no longer link against libpq properly. Now,
granted, that could be an issue with my application and not postgres
at all, but I thought I'd ask here and see if maybe there is something
wrong with the way I am building postgres. Thanks for any help that
can be provided.
-----------------------------------------------
Israel Brewster
Computer Support Technician
Frontier Flying Service Inc.
5245 Airport Industrial Rd
Fairbanks, AK 99709
(907) 450-7250 x293
-----------------------------------------------
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to ***@postgresql.org so that your
message can get through to the mailing list cleanly
10.5. I want this application to be able to run on both 10.4 and 10.5.
So far I have it working fine on my 10.5 build machine. However, when
I try moving it to a 10.4 machine, I run into problems apparently
related to the libpq build.
My first attempt was with a "standard" universal binary build of
postgresql (CFLAGS="-O -g -arch i386 -arch ppc" ./configure; make;
make install ) This produced a .dylib file that my application happily
linked against, and ran fine on 10.5. When I move the library and
application to 10.4, however, while the application will still launch
and run, as soon as I try to use anything from libpq, the program
crashes with the following error:
dyld: lazy symbol binding failed: Symbol not found: _fcntl$UNIX2003
Referenced from: /Volumes/MIS/AssetTracker/AssetTracker.app/
Contents/MacOS/../Frameworks/libpq.5.dylib
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _fcntl$UNIX2003
Referenced from: /Volumes/MIS/AssetTracker/AssetTracker.app/
Contents/MacOS/../Frameworks/libpq.5.dylib
Expected in: /usr/lib/libSystem.B.dylib
It would appear that libpq is looking for something in the libSystem
library that apparently exists on 10.5, but not 10.4. I figured that a
static build of libpq should fix this problem, so I did a make
distclean, and then re-ran the configure command with the --disable-
shared flag to generate a static-only build. Unfortunately, this
resulted in a slew of "undefined symbol" errors when I tried to
compile my app. It would appear that when I don't build the shared
libraries, my app can no longer link against libpq properly. Now,
granted, that could be an issue with my application and not postgres
at all, but I thought I'd ask here and see if maybe there is something
wrong with the way I am building postgres. Thanks for any help that
can be provided.
-----------------------------------------------
Israel Brewster
Computer Support Technician
Frontier Flying Service Inc.
5245 Airport Industrial Rd
Fairbanks, AK 99709
(907) 450-7250 x293
-----------------------------------------------
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to ***@postgresql.org so that your
message can get through to the mailing list cleanly