Snow Leopard and plpython problem - Mailing list pgsql-general

From Jerry LeVan
Subject Snow Leopard and plpython problem
Date
Msg-id A1371B4D-A897-451F-9A43-E4E130E7C1BB@eku.edu
Whole thread Raw
Responses Re: Snow Leopard and plpython problem
Re: Snow Leopard and plpython problem
List pgsql-general
Hi I am having a problem building Postgresql 8.4.0 in Snow Leopard.

I cannot get plpython to build...

I have installed MacPython 2.6.2 in /Library/Frameworks/Python.framework

The binary:

mbp:postgresql-8.4.0 postgres$ which python
/Library/Frameworks/Python.framework/Versions/Current/bin/python

mbp:postgresql-8.4.0 postgres$ file `which python`
/Library/Frameworks/Python.framework/Versions/Current/bin/python: Mach-
O universal binary with 2 architectures
/Library/Frameworks/Python.framework/Versions/Current/bin/python (for
architecture ppc):    Mach-O executable ppc
/Library/Frameworks/Python.framework/Versions/Current/bin/python (for
architecture i386):    Mach-O executable i386

mbp:postgresql-8.4.0 postgres$ echo $PATH
/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/bin:/
bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
mbp:postgresql-8.4.0 postgres$ python
Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39)
[GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
Type "help", "copyright", "credits" or "license" for more information

I use the following config params:

mbp:postgresql-8.4.0 postgres$ cat configJHL
./configure --bindir=/usr/local/bin --mandir=/usr/local/share/man  \
  --enable-thread-safety \
  --with-python \
  --with-perl --with-tcl \
  --with-libedit-preferred \
   --with-openssl --with-bonjour

Configure completes ok.

When I do a "make 2>mylog.log"

The build fails on
gcc -no-cpp-precomp -O2 -Wall -Wmissing-prototypes -Wpointer-arith -
Wdeclaration-after-statement
-Wendif-labels -fno-strict-aliasing -fwrapv  -bundle -multiply_defined
suppress  plpython.o
-bundle_loader ../../../src/backend/postgres  -L../../../src/port -
framework Python  -o plpython.so

The contents of mylog.log are:
postmaster.c: In function ‘PostmasterMain’:
postmaster.c:859: warning: ‘DNSServiceRegistrationCreate’ is
deprecated (declared at /usr/include/DNSServiceDiscovery/
DNSServiceDiscovery.h:139)
pgc.c:4363: warning: ‘yy_flex_realloc’ defined but not used
ld: warning: in ../../../src/backend/postgres, file is not of required
architecture
ld: warning: in plperl.o, file is not of required architecture
ld: warning: in spi_internal.o, file is not of required architecture
ld: warning: in SPI.o, file is not of required architecture
ld: warning: in ../../../src/backend/postgres, file is not of required
architecture
ld: warning: in plperl.o, file is not of required architecture
ld: warning: in spi_internal.o, file is not of required architecture
ld: warning: in SPI.o, file is not of required architecture
ld: warning: in /Library/Frameworks//Python.framework/Python, missing
required architecture x86_64 in file
Undefined symbols:
   "_PyDict_DelItemString", referenced from:
       _PLy_function_delete_args in plpython.o
   "_PyIter_Next", referenced from:
       _PLy_function_handler in plpython.o
   "_PyFloat_FromDouble", referenced from:
       _PLyFloat_FromString in plpython.o
   "_PyErr_Fetch", referenced from:
       _PLy_elog in plpython.o
   "_PyErr_NewException", referenced from:
       __PG_init in plpython.o
       __PG_init in plpython.o
       __PG_init in plpython.o
   "_PyErr_GivenExceptionMatches", referenced from:
       _PLy_elog in plpython.o
       _PLy_elog in plpython.o
   "_PyDict_GetItemString", referenced from:
       _PLy_modify_tuple in plpython.o
       _PLy_procedure_get in plpython.o
   "_Py_Initialize", referenced from:
       __PG_init in plpython.o
   "_PyArg_ParseTuple", referenced from:
       _PLy_plan_status in plpython.o
       _PLy_spi_prepare in plpython.o
       _PLy_spi_execute in plpython.o
       _PLy_spi_execute in plpython.o
   "_PyList_New", referenced from:
       _PLy_trigger_build_args in plpython.o
       _PLy_function_build_args in plpython.o
       _PLy_spi_execute_fetch_result in plpython.o
       _PLy_spi_execute_fetch_result in plpython.o
   "_PyCObject_FromVoidPtr", referenced from:
       _PLy_procedure_create in plpython.o
   "_PyRun_StringFlags", referenced from:
       _PLy_procedure_create in plpython.o
   "_PyDict_GetItem", referenced from:
       _PLy_modify_tuple in plpython.o
   "_PyObject_GetIter", referenced from:
       _PLy_function_handler in plpython.o
   "_PySequence_Check", referenced from:
       _PLy_function_handler in plpython.o
       _PLy_spi_prepare in plpython.o
       _PLy_spi_execute_plan in plpython.o
   "_PyMapping_GetItemString", referenced from:
       _PLyMapping_ToTuple in plpython.o
   "_PySequence_Size", referenced from:
       _PLySequence_ToTuple in plpython.o
       _PLy_spi_prepare in plpython.o
       _PLy_spi_execute_plan in plpython.o
   "_PyErr_NormalizeException", referenced from:
       _PLy_elog in plpython.o
   "_PySequence_GetItem", referenced from:
       _PLySequence_ToTuple in plpython.o
       _PLy_spi_prepare in plpython.o
       _PLy_spi_execute_plan in plpython.o
   "_PyObject_GetAttrString", referenced from:
       _PLyObject_ToTuple in plpython.o
   "_PyBool_FromLong", referenced from:
       _PLyBool_FromString in plpython.o
       _PLyBool_FromString in plpython.o
   "_PyObject_Str", referenced from:
       _PLy_elog in plpython.o
       _PLy_elog in plpython.o
       _PLy_modify_tuple in plpython.o
       _PLySequence_ToTuple in plpython.o
       _PLyMapping_ToTuple in plpython.o
       _PLyObject_ToTuple in plpython.o
       _PLy_function_handler in plpython.o
       _PLy_output in plpython.o
       _PLy_spi_execute_plan in plpython.o
       _PLy_spi_execute_plan in plpython.o
   "_PyDict_SetItemString", referenced from:
       __PG_init in plpython.o
       __PG_init in plpython.o
       __PG_init in plpython.o
       __PG_init in plpython.o
       __PG_init in plpython.o
       _PLyDict_FromTuple in plpython.o
       _PLyDict_FromTuple in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_procedure_call in plpython.o
       _PLy_procedure_create in plpython.o
       _PLy_procedure_create in plpython.o
       _PLy_function_build_args in plpython.o
   "_PyObject_Init", referenced from:
       _PLy_spi_prepare in plpython.o
       _PLy_spi_execute_fetch_result in plpython.o
   "_PyCObject_AsVoidPtr", referenced from:
       _PLy_procedure_get in plpython.o
   "_PyErr_SetString", referenced from:
       _PLy_exception_set_plural in plpython.o
       _PLy_exception_set in plpython.o
       _PLy_output in plpython.o
   "_PyCObject_Type", referenced from:
       _PLy_procedure_get in plpython.o
   "_PyLong_FromString", referenced from:
       _PLyLong_FromString in plpython.o
   "_PyString_FromString", referenced from:
       _PLyString_FromString in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
   "_PyString_AsString", referenced from:
       _PLy_elog in plpython.o
       _PLy_elog in plpython.o
       _PLy_modify_tuple in plpython.o
       _PLy_modify_tuple in plpython.o
       _PLy_modify_tuple in plpython.o
       _PLy_trigger_handler in plpython.o
       _PLySequence_ToTuple in plpython.o
       _PLyMapping_ToTuple in plpython.o
       _PLyObject_ToTuple in plpython.o
       _PLy_function_handler in plpython.o
       _PLy_spi_prepare in plpython.o
       _PLy_output in plpython.o
       _PLy_spi_execute_plan in plpython.o
       _PLy_spi_execute_plan in plpython.o
   "_PyImport_AddModule", referenced from:
       __PG_init in plpython.o
       __PG_init in plpython.o
       __PG_init in plpython.o
   "_PyErr_Clear", referenced from:
       _plpython_call_handler in plpython.o
       _PLy_spi_execute in plpython.o
   "_Py_InitModule4_64", referenced from:
       __PG_init in plpython.o
   "_PyObject_Malloc", referenced from:
       _PLy_spi_prepare in plpython.o
       _PLy_spi_execute_fetch_result in plpython.o
   "_PyList_GetSlice", referenced from:
       _PLy_result_slice in plpython.o
   "_PyList_SetSlice", referenced from:
       _PLy_result_ass_slice in plpython.o
   "__Py_TrueStruct", referenced from:
       _PLy_plan_status in plpython.o
   "_Py_CompileStringFlags", referenced from:
       _PLy_procedure_create in plpython.o
   "_PyList_Size", referenced from:
       _PLy_result_length in plpython.o
       _PLy_modify_tuple in plpython.o
   "_PyModule_GetDict", referenced from:
       __PG_init in plpython.o
       __PG_init in plpython.o
       __PG_init in plpython.o
   "_PyInt_FromLong", referenced from:
       _PLyInt_FromString in plpython.o
       _PLy_spi_execute_fetch_result in plpython.o
       _PLy_spi_execute_fetch_result in plpython.o
       _PLy_spi_execute_fetch_result in plpython.o
       _PLy_spi_execute_fetch_result in plpython.o
   "_PyDict_Copy", referenced from:
       _PLy_procedure_create in plpython.o
   "_PyErr_Occurred", referenced from:
       __PG_init in plpython.o
       __PG_init in plpython.o
       __PG_init in plpython.o
       __PG_init in plpython.o
       _PLy_procedure_call in plpython.o
       _PLy_procedure_create in plpython.o
       _PLy_procedure_create in plpython.o
       _PLy_function_handler in plpython.o
       _PLy_spi_prepare in plpython.o
       _PLy_spi_execute_fetch_result in plpython.o
       _PLy_spi_execute_plan in plpython.o
       _PLy_spi_execute_query in plpython.o
   "_PyDict_Keys", referenced from:
       _PLy_modify_tuple in plpython.o
   "_PyList_GetItem", referenced from:
       _PLy_result_item in plpython.o
       _PLy_modify_tuple in plpython.o
   "_PyList_SetItem", referenced from:
       _PLy_result_ass_item in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_function_build_args in plpython.o
       _PLy_spi_execute_fetch_result in plpython.o
   "_PyType_Ready", referenced from:
       __PG_init in plpython.o
       __PG_init in plpython.o
   "_PyEval_EvalCode", referenced from:
       _PLy_procedure_call in plpython.o
   "_PyDict_New", referenced from:
       __PG_init in plpython.o
       __PG_init in plpython.o
       _PLyDict_FromTuple in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_procedure_create in plpython.o
   "_Py_FindMethod", referenced from:
       _PLy_result_getattr in plpython.o
       _PLy_plan_getattr in plpython.o
   "__Py_NoneStruct", referenced from:
       _PLyDict_FromTuple in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_trigger_build_args in plpython.o
       _PLy_modify_tuple in plpython.o
       _PLy_trigger_handler in plpython.o
       _PLy_function_build_args in plpython.o
       _PLySequence_ToTuple in plpython.o
       _PLyMapping_ToTuple in plpython.o
       _PLyObject_ToTuple in plpython.o
       _PLy_function_handler in plpython.o
       _PLy_function_handler in plpython.o
       _PLy_output in plpython.o
       _PLy_spi_execute_fetch_result in plpython.o
       _PLy_spi_execute_plan in plpython.o
   "_PyMapping_Check", referenced from:
       _PLy_function_handler in plpython.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [plpython.so] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all] Error 2
make: *** [all] Error 2
mbp:postgresql-8.4.0 postgres$
***********************************************
If I change my PATH:

mbp:postgresql-8.4.0 postgres$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

This will cause the 2.6.1 Snow Leopard version of python to be used.
mbp:postgresql-8.4.0 postgres$ python
Python 2.6.1 (r261:67515, Jul  7 2009, 23:51:51)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

Doing a make clean and a rm config.status and starting over results in
the identical Python errors.

Does plpython not work with python2.6.x ?

Thanks,

Jerry

pgsql-general by date:

Previous
From: Richard Broersma
Date:
Subject: Re: [Q] optmizing postgres for 'single client' / many small queries
Next
From: Emanuel Calvo Franco
Date:
Subject: Re: Snow Leopard and plpython problem