Re: unable to build postgres-9.4 in os x 10.9 with python

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: unable to build postgres-9.4 in os x 10.9 with python
Дата
Msg-id 7540.1401475968@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: unable to build postgres-9.4 in os x 10.9 with python  (Asif Naeem <anaeem.it@gmail.com>)
Ответы Re: unable to build postgres-9.4 in os x 10.9 with python
Список pgsql-general
Asif Naeem <anaeem.it@gmail.com> writes:
> On Fri, May 30, 2014 at 9:49 PM, reiner peterke <zedaardv@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.soplpy_cursorobject.o plpy_elog.o plpy_exec.o plpy_main.o plpy_planobject.o plpy_plpymodule.o
plpy_procedure.oplpy_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.oplpy_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


В списке pgsql-general по дате отправления:

Предыдущее
От: Edoardo Panfili
Дата:
Сообщение: Re: unable to build postgres-9.4 in os x 10.9 with python
Следующее
От: Merlin Moncure
Дата:
Сообщение: Re: row_to_json on a subset of columns.