Asif Naeem <anaeem...@gmail.com> writes:
> On Fri, May 30, 2014 at 9:49 PM, reiner peterke <zedaa...@drizzle.com>
> wrote:
>> Since upgrading my mac from os x 10.8 to 10.9, i can no long build
>> postgres with '--with-python’.

> Latest PG 9.4 source code seems building fine with --with-python option on
> my OS X 10.9.3 box  i.e.

[ please don't top-post in PG mailing lists ]

I can reproduce the failure as described, not only in 9.4 but the back
branches too; I would've noticed sooner except I don't build plpython
routinely.

It looks to me like Apple broke something in the build toolchain.
If you add -v as suggested, what you see is

$ make PROFILE="-v" 
gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith 
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute 
-Wformat-security -fno-strict-aliasing -fwrapv -g -v  -bundle -multiply_defined 
suppress -o plpython2.so plpy_cursorobject.o plpy_elog.o plpy_exec.o 
plpy_main.o plpy_planobject.o plpy_plpymodule.o plpy_procedure.o 
plpy_resultobject.o plpy_spi.o plpy_subxactobject.o plpy_typeio.o plpy_util.o 
-L../../../src/port -L../../../src/common -Wl,-dead_strip_dylibs  -v  
-F/System/Library/Frameworks -framework Python   -bundle_loader 
../../../src/backend/postgres
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.2.0
Thread model: posix
 
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld"
 -demangle -dynamic -arch x86_64 -bundle -bundle_loader 
../../../src/backend/postgres -macosx_version_min 10.9.0 -multiply_defined 
suppress -syslibroot 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
 -o plpython2.so -L../../../src/port -L../../../src/common plpy_cursorobject.o 
plpy_elog.o plpy_exec.o plpy_main.o plpy_planobject.o plpy_plpymodule.o 
plpy_procedure.o plpy_resultobject.o plpy_spi.o plpy_subxactobject.o 
plpy_typeio.o plpy_util.o -dead_strip_dylibs -framework Python -lSystem 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/lib/darwin/libclang_rt.osx.a
 -F/System/Library/Frameworks
ld: framework not found Python
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [plpython2.so] Error 1

The problem is that that -syslibroot option modifies where to look for
frameworks; "man ld" quoth

     -syslibroot rootdir
                 Prepend rootdir to all search paths when searching for
                 libraries or frameworks.

If you do the ld call by hand without the -syslibroot option, it works.
AFAICS it could never have worked with such an option, so I'm thinking
this is some new misbehavior in the latest version of Xcode.

                        regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to