List Info

Thread: pysvn on AIX - almost there...




pysvn on AIX - almost there...
user name
2006-09-01 23:35:56
Hi,

I was trying to get pysvn to work under AIX 5.3 in May
and I failed. See this thread:

http://pysvn.tigris.org/servlets/ReadMsg?li
stName=users&msgNo=356

I have looked into the problem again and I found out
what happened in May: Since I had gotten "Undefined
symbol"
errors for the python2.4 library, I had also put a
"-lpython2.4"
parameter on the link line. This is incorrect. It does not
allow
the pysvn module to access exported symbols from the
interpreter
binary, but it adds another copy of the interpreter to the
pysvn module.
That's why pysvn crashed with a "Interpreter not
initialized"
error message.

As I found out from the python build itself, the correct way
under AIX is to make the global symbols available to the
linker
via a symbol file (the python build calls that file
python.exp).
This file is supplied to the AIX linker via a
"-Wl,-bI:./python.exp"
parameter.

Without this parameter, the linker issues many error
messages:

g++ -shared -o pysvn/_pysvn.so pysvn.o pysvn_callbacks.o
pysvn_client.o pysvn_entry.o pysvn_enum_string.o
pysvn_transaction.o pysvn_revision.o pysvn_status.o
pysvn_docs.o pysvn_path.o pysvn_arg_processing.o
pysvn_converters.o pysvn_svnenv.o pysvn_profile.o
cxxsupport.o cxx_extensions.o cxxextensions.o
IndirectPythonInterface.o -pthread -L$PREFIX/lib
-lsvn_client-1 -lsvn_repos-1 -lsvn_subr-1 -lsvn_delta-1
-lsvn_fs_fs-1 -lsvn_fs-1 -lsvn_ra_svn-1 -lsvn_repos-1
-lsvn_ra_local-1 -lsvn_ra_dav-1 -lsvn_diff-1 -lsvn_ra-1
-lsvn_wc-1 -lapr-0 -lneon -laprutil-0 -liconv -lexpat -lintl
ld: 0711-224 WARNING: Duplicate symbol: thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: .global destructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: .global constructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: global constructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: global destructors
keyed to thread_creds_t
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain
more information.
ld: 0711-317 ERROR: Undefined symbol: .PyErr_SetObject
ld: 0711-317 ERROR: Undefined symbol: .PyErr_SetString
ld: 0711-317 ERROR: Undefined symbol: PyExc_ArithmeticError
ld: 0711-317 ERROR: Undefined symbol: PyExc_AssertionError
ld: 0711-317 ERROR: Undefined symbol: PyExc_AttributeError
ld: 0711-317 ERROR: Undefined symbol: PyExc_EnvironmentError
ld: 0711-317 ERROR: Undefined symbol: PyExc_EOFError
ld: 0711-317 ERROR: Undefined symbol: PyExc_Exception
ld: 0711-317 ERROR: Undefined symbol:
PyExc_FloatingPointError
ld: 0711-317 ERROR: Undefined symbol: PyExc_ImportError
ld: 0711-317 ERROR: Undefined symbol: PyExc_IndexError
ld: 0711-317 ERROR: Undefined symbol: PyExc_IOError
ld: 0711-317 ERROR: Undefined symbol:
PyExc_KeyboardInterrupt
ld: 0711-317 ERROR: Undefined symbol: PyExc_KeyError
ld: 0711-317 ERROR: Undefined symbol: PyExc_LookupError
ld: 0711-317 ERROR: Undefined symbol: PyExc_MemoryError
ld: 0711-317 ERROR: Undefined symbol: PyExc_MemoryErrorInst
ld: 0711-317 ERROR: Undefined symbol: PyExc_NameError
ld: 0711-317 ERROR: Undefined symbol:
PyExc_NotImplementedError
ld: 0711-317 ERROR: Undefined symbol: PyExc_OSError
ld: 0711-317 ERROR: Undefined symbol: PyExc_OverflowError
ld: 0711-317 ERROR: Undefined symbol: PyExc_RuntimeError
ld: 0711-317 ERROR: Undefined symbol: PyExc_StandardError
ld: 0711-317 ERROR: Undefined symbol: PyExc_SyntaxError
ld: 0711-317 ERROR: Undefined symbol: PyExc_SystemError
ld: 0711-317 ERROR: Undefined symbol: PyExc_SystemExit
ld: 0711-317 ERROR: Undefined symbol: PyExc_TypeError
ld: 0711-317 ERROR: Undefined symbol: PyExc_ValueError
ld: 0711-317 ERROR: Undefined symbol:
PyExc_ZeroDivisionError
ld: 0711-317 ERROR: Undefined symbol: PyExc_IndentationError
ld: 0711-317 ERROR: Undefined symbol: PyExc_TabError
ld: 0711-317 ERROR: Undefined symbol:
PyExc_UnboundLocalError
ld: 0711-317 ERROR: Undefined symbol: PyExc_UnicodeError
ld: 0711-317 ERROR: Undefined symbol: _Py_NoneStruct
ld: 0711-317 ERROR: Undefined symbol: PyBuffer_Type
ld: 0711-317 ERROR: Undefined symbol: PyCFunction_Type
ld: 0711-317 ERROR: Undefined symbol: PyClass_Type
ld: 0711-317 ERROR: Undefined symbol: PyCObject_Type
ld: 0711-317 ERROR: Undefined symbol: PyComplex_Type
ld: 0711-317 ERROR: Undefined symbol: PyDict_Type
ld: 0711-317 ERROR: Undefined symbol: PyFile_Type
ld: 0711-317 ERROR: Undefined symbol: PyFloat_Type
ld: 0711-317 ERROR: Undefined symbol: PyFunction_Type
ld: 0711-317 ERROR: Undefined symbol: PyInstance_Type
ld: 0711-317 ERROR: Undefined symbol: PyInt_Type
ld: 0711-317 ERROR: Undefined symbol: PyList_Type
ld: 0711-317 ERROR: Undefined symbol: PyLong_Type
ld: 0711-317 ERROR: Undefined symbol: PyMethod_Type
ld: 0711-317 ERROR: Undefined symbol: PyModule_Type
ld: 0711-317 ERROR: Undefined symbol: PyRange_Type
ld: 0711-317 ERROR: Undefined symbol: PySlice_Type
ld: 0711-317 ERROR: Undefined symbol: PyString_Type
ld: 0711-317 ERROR: Undefined symbol: PyTraceBack_Type
ld: 0711-317 ERROR: Undefined symbol: PyTuple_Type
ld: 0711-317 ERROR: Undefined symbol: PyType_Type
ld: 0711-317 ERROR: Undefined symbol: PyUnicode_Type
ld: 0711-317 ERROR: Undefined symbol: Py_DebugFlag
ld: 0711-317 ERROR: Undefined symbol: Py_InteractiveFlag
ld: 0711-317 ERROR: Undefined symbol: Py_OptimizeFlag
ld: 0711-317 ERROR: Undefined symbol: Py_NoSiteFlag
ld: 0711-317 ERROR: Undefined symbol: Py_TabcheckFlag
ld: 0711-317 ERROR: Undefined symbol: Py_VerboseFlag
ld: 0711-317 ERROR: Undefined symbol: Py_UnicodeFlag
ld: 0711-317 ERROR: Undefined symbol: _Py_PackageContext
ld: 0711-317 ERROR: Undefined symbol: _Py_RefTotal
ld: 0711-317 ERROR: Undefined symbol: ._Py_NegativeRefcount
ld: 0711-317 ERROR: Undefined symbol: ._Py_Dealloc
ld: 0711-317 ERROR: Undefined symbol: .PyErr_Occurred
ld: 0711-317 ERROR: Undefined symbol: .PyErr_NewException
ld: 0711-317 ERROR: Undefined symbol: .PySequence_SetItem
ld: 0711-317 ERROR: Undefined symbol: .PySequence_GetItem
ld: 0711-317 ERROR: Undefined symbol: .PySequence_Size
ld: 0711-317 ERROR: Undefined symbol: .PyString_Size
ld: 0711-317 ERROR: Undefined symbol: .PySequence_Check
ld: 0711-317 ERROR: Undefined symbol: .PyString_AsString
ld: 0711-317 ERROR: Undefined symbol: .PyCObject_AsVoidPtr
ld: 0711-317 ERROR: Undefined symbol: .PyTuple_SetItem
ld: 0711-317 ERROR: Undefined symbol: .PyDict_New
ld: 0711-317 ERROR: Undefined symbol: .PyObject_SetItem
ld: 0711-317 ERROR: Undefined symbol:
.PyMapping_SetItemString
ld: 0711-317 ERROR: Undefined symbol: .PyMapping_Size
ld: 0711-317 ERROR: Undefined symbol: .PyMapping_Check
ld: 0711-317 ERROR: Undefined symbol: ._PyObject_DebugFree
ld: 0711-317 ERROR: Undefined symbol: .PyModule_GetDict
ld: 0711-317 ERROR: Undefined symbol: .PyImport_AddModule
ld: 0711-317 ERROR: Undefined symbol: .PyTuple_New
ld: 0711-317 ERROR: Undefined symbol: .PyList_New
ld: 0711-317 ERROR: Undefined symbol: .PyList_SetItem
ld: 0711-317 ERROR: Undefined symbol: .PyList_Append
ld: 0711-317 ERROR: Undefined symbol:
.PyString_FromStringAndSize
ld: 0711-317 ERROR: Undefined symbol: .PyCFunction_NewEx
ld: 0711-317 ERROR: Undefined symbol: .PyString_FromString
ld: 0711-317 ERROR: Undefined symbol: ._Py_NewReference
ld: 0711-317 ERROR: Undefined symbol:
.Py_InitModule4TraceRefs
ld: 0711-317 ERROR: Undefined symbol: .PyEval_RestoreThread
ld: 0711-317 ERROR: Undefined symbol: .PyEval_SaveThread
ld: 0711-317 ERROR: Undefined symbol: .PyCallable_Check
ld: 0711-317 ERROR: Undefined symbol: .PyInt_FromLong
ld: 0711-317 ERROR: Undefined symbol: .PyObject_CallObject
ld: 0711-317 ERROR: Undefined symbol: .PyNumber_Int
ld: 0711-317 ERROR: Undefined symbol: .PyInt_AsLong
ld: 0711-317 ERROR: Undefined symbol: .PyErr_Clear
ld: 0711-317 ERROR: Undefined symbol: .PyErr_Print
ld: 0711-317 ERROR: Undefined symbol:
.PyUnicodeUCS2_AsEncodedString
ld: 0711-317 ERROR: Undefined symbol:
.PyString_AsEncodedObject
ld: 0711-317 ERROR: Undefined symbol: .PyMapping_HasKey
ld: 0711-317 ERROR: Undefined symbol: .PyObject_GetItem
ld: 0711-317 ERROR: Undefined symbol: .PyObject_Hash
ld: 0711-317 ERROR: Undefined symbol: .PyNumber_Float
ld: 0711-317 ERROR: Undefined symbol: .PyFloat_AsDouble
ld: 0711-317 ERROR: Undefined symbol: .PyFloat_FromDouble
ld: 0711-317 ERROR: Undefined symbol:
.PyObject_DelItemString
ld: 0711-317 ERROR: Undefined symbol:
.PyMapping_HasKeyString
ld: 0711-317 ERROR: Undefined symbol:
.PyMapping_GetItemString
ld: 0711-317 ERROR: Undefined symbol: .PyObject_CallMethod
ld: 0711-317 ERROR: Undefined symbol: .PyUnicodeUCS2_Decode
ld: 0711-317 ERROR: Undefined symbol: .PyNumber_Long
ld: 0711-317 ERROR: Undefined symbol: .PyObject_Compare
ld: 0711-317 ERROR: Undefined symbol: .PyCObject_FromVoidPtr
ld: 0711-317 ERROR: Undefined symbol: .PyObject_Repr
ld: 0711-317 ERROR: Undefined symbol: .PyObject_Str
ld: 0711-317 ERROR: Undefined symbol: .PyObject_Type
collect2: ld returned 8 exit status


Unfortunately, a few errors remain even with the export
file:

g++ -shared -o pysvn/_pysvn.so pysvn.o pysvn_callbacks.o
pysvn_client.o pysvn_entry.o pysvn_enum_string.o
pysvn_transaction.o pysvn_revision.o pysvn_status.o
pysvn_docs.o pysvn_path.o pysvn_arg_processing.o
pysvn_converters.o pysvn_svnenv.o pysvn_profile.o
cxxsupport.o cxx_extensions.o cxxextensions.o
IndirectPythonInterface.o -pthread -L$PREFIX/lib
-lsvn_client-1 -lsvn_repos-1 -lsvn_subr-1 -lsvn_delta-1
-lsvn_fs_fs-1 -lsvn_fs-1 -lsvn_ra_svn-1 -lsvn_repos-1
-lsvn_ra_local-1 -lsvn_ra_dav-1 -lsvn_diff-1 -lsvn_ra-1
-lsvn_wc-1 -lapr-0 -lneon -laprutil-0 -liconv -lexpat -lintl
-Wl,-bI:./python.exp
ld: 0711-224 WARNING: Duplicate symbol: thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: .global destructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: .global constructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: global constructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: global destructors
keyed to thread_creds_t
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain
more information.
ld: 0711-317 ERROR: Undefined symbol: _Py_RefTotal
ld: 0711-317 ERROR: Undefined symbol: ._Py_NegativeRefcount
ld: 0711-317 ERROR: Undefined symbol: ._Py_Dealloc
ld: 0711-317 ERROR: Undefined symbol: ._PyObject_DebugFree
ld: 0711-317 ERROR: Undefined symbol: ._Py_NewReference
ld: 0711-317 ERROR: Undefined symbol:
.Py_InitModule4TraceRefs
collect2: ld returned 8 exit status

I assumed that these symbols were simply missing from the
export file,
so I added them.
Now the link works fine, but I am getting the following
messages
at run time:

python
Python 2.4.2 (#1, Sep  2 2006, 00:51:24)
[GCC 4.1.1] on aix5
Type "help", "copyright",
"credits" or "license" for more
information.
>>> import pysvn
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "pysvn/__init__.py", line 12, in ?
    from _pysvn import *
ImportError:    0509-130 Symbol resolution failed for
pysvn/_pysvn.so because:
        0509-136   Symbol _Py_NegativeRefcount (number 173)
is not exported from
                   dependent module python.
        0509-136   Symbol _Py_Dealloc (number 174) is not
exported from
                   dependent module python.
        0509-136   Symbol _PyObject_DebugFree (number 175)
is not exported from
                   dependent module python.
        0509-136   Symbol _Py_NewReference (number 176) is
not exported from
                   dependent module python.
        0509-136   Symbol Py_InitModule4TraceRefs (number
177) is not exported from
                   dependent module python.
        0509-136   Symbol _Py_RefTotal (number 178) is not
exported from
                   dependent module python.
        0509-192 Examine .loader section symbols with the
                 'dump -Tv' command.
>>>

Barry, what is the difference between the symbols listed
only in the
first (long) error list and the symbols listed only in the
second
(short) error list?

What can I do to make them accessible?

Thanks and Cheers,
Carsten.

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribepysvn.tigris.org
For additional commands, e-mail: dev-helppysvn.tigris.org

pysvn on AIX - almost there...
user name
2006-09-02 12:24:28
On Sep 2, 2006, at 00:35, Carsten Koch wrote:

>
> Unfortunately, a few errors remain even with the export
file:
>
> g++ -shared -o pysvn/_pysvn.so pysvn.o
pysvn_callbacks.o  
> pysvn_client.o pysvn_entry.o pysvn_enum_string.o  
> pysvn_transaction.o pysvn_revision.o pysvn_status.o
pysvn_docs.o  
> pysvn_path.o pysvn_arg_processing.o pysvn_converters.o 

> pysvn_svnenv.o pysvn_profile.o cxxsupport.o
cxx_extensions.o  
> cxxextensions.o IndirectPythonInterface.o -pthread
-L$PREFIX/lib - 
> lsvn_client-1 -lsvn_repos-1 -lsvn_subr-1 -lsvn_delta-1
- 
> lsvn_fs_fs-1 -lsvn_fs-1 -lsvn_ra_svn-1 -lsvn_repos-1 - 
> lsvn_ra_local-1 -lsvn_ra_dav-1 -lsvn_diff-1 -lsvn_ra-1
-lsvn_wc-1 - 
> lapr-0 -lneon -laprutil-0 -liconv -lexpat -lintl
-Wl,-bI:./python.exp
> ld: 0711-224 WARNING: Duplicate symbol: thread_creds_t
> ld: 0711-224 WARNING: Duplicate symbol: .global
destructors keyed  
> to thread_creds_t
> ld: 0711-224 WARNING: Duplicate symbol: .global
constructors keyed  
> to thread_creds_t
> ld: 0711-224 WARNING: Duplicate symbol: global
constructors keyed  
> to thread_creds_t
> ld: 0711-224 WARNING: Duplicate symbol: global
destructors keyed to  
> thread_creds_t

Try link without -pthread and see if this gets better.

> ld: 0711-345 Use the -bloadmap or -bnoquiet option to
obtain more  
> information.

link again using the suggested options to see more info.
What we need to know is where the references come from.
May attention to where it says the libs are coming from as
well.
I seem to remember that the linker outputs lots of info when
you
get the reporting verbosity high enough.

> ld: 0711-317 ERROR: Undefined symbol: _Py_RefTotal
> ld: 0711-317 ERROR: Undefined symbol:
._Py_NegativeRefcount
> ld: 0711-317 ERROR: Undefined symbol: ._Py_Dealloc
> ld: 0711-317 ERROR: Undefined symbol:
._PyObject_DebugFree
> ld: 0711-317 ERROR: Undefined symbol: ._Py_NewReference
> ld: 0711-317 ERROR: Undefined symbol:
.Py_InitModule4TraceRefs
> collect2: ld returned 8 exit status
>
> I assumed that these symbols were simply missing from
the export file,
> so I added them.

My guess is that you have two versions of python installed
and the  
compile
used one version and the link used another older version.

A long time ago I worked on AIX and it was hell to get the
linker to  
work
correctly then.

Barry

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribepysvn.tigris.org
For additional commands, e-mail: dev-helppysvn.tigris.org

pysvn on AIX - almost there...
user name
2006-09-04 15:21:32
Barry Scott wrote:
...
>> g++ -shared -o pysvn/_pysvn.so pysvn.o
pysvn_callbacks.o
>> pysvn_client.o pysvn_entry.o pysvn_enum_string.o
pysvn_transaction.o
>> pysvn_revision.o pysvn_status.o pysvn_docs.o
pysvn_path.o
>> pysvn_arg_processing.o pysvn_converters.o
pysvn_svnenv.o
>> pysvn_profile.o cxxsupport.o cxx_extensions.o
cxxextensions.o
>> IndirectPythonInterface.o -pthread -L$PREFIX/lib
-lsvn_client-1
>> -lsvn_repos-1 -lsvn_subr-1 -lsvn_delta-1
-lsvn_fs_fs-1 -lsvn_fs-1
>> -lsvn_ra_svn-1 -lsvn_repos-1 -lsvn_ra_local-1
-lsvn_ra_dav-1
>> -lsvn_diff-1 -lsvn_ra-1 -lsvn_wc-1 -lapr-0 -lneon
-laprutil-0 -liconv
>> -lexpat -lintl -Wl,-bI:./python.exp
>> ld: 0711-224 WARNING: Duplicate symbol:
thread_creds_t
>> ld: 0711-224 WARNING: Duplicate symbol: .global
destructors keyed to
>> thread_creds_t
>> ld: 0711-224 WARNING: Duplicate symbol: .global
constructors keyed to
>> thread_creds_t
>> ld: 0711-224 WARNING: Duplicate symbol: global
constructors keyed to
>> thread_creds_t
>> ld: 0711-224 WARNING: Duplicate symbol: global
destructors keyed to
>> thread_creds_t
> 
> Try link without -pthread and see if this gets better.

The warnings do not go away, but I am getting different
errors:


g++ -shared -o pysvn/_pysvn.so pysvn.o pysvn_callbacks.o
pysvn_client.o pysvn_entry.o pysvn_enum_string.o
pysvn_transaction.o pysvn_revision.o pysvn_status.o
pysvn_docs.o pysvn_path.o pysvn_arg_processing.o
pysvn_converters.o pysvn_svnenv.o pysvn_profile.o
cxxsupport.o cxx_extensions.o cxxextensions.o
IndirectPythonInterface.o -L$PREFIX/lib -lsvn_client-1
-lsvn_repos-1 -lsvn_subr-1 -lsvn_delta-1 -lsvn_fs_fs-1
-lsvn_fs-1 -lsvn_ra_svn-1 -lsvn_repos-1 -lsvn_ra_local-1
-lsvn_ra_dav-1 -lsvn_diff-1 -lsvn_ra-1 -lsvn_wc-1 -lapr-0
-lneon -laprutil-0 -liconv -lexpat -lintl
-Wl,-bI:./python.exp
ld: 0711-224 WARNING: Duplicate symbol: thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: .global destructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: .global constructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: global constructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: global destructors
keyed to thread_creds_t
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain
more information.
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_destroy
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_unlock
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_trylock
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_lock
ld: 0711-317 ERROR: Undefined symbol:
.pthread_mutexattr_init
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_init
ld: 0711-317 ERROR: Undefined symbol:
.pthread_mutexattr_settype
ld: 0711-317 ERROR: Undefined symbol:
.pthread_mutexattr_destroy
ld: 0711-317 ERROR: Undefined symbol: .pthread_sigmask
ld: 0711-317 ERROR: Undefined symbol:
.pthread_mutexattr_setpshared
collect2: ld returned 8 exit status


HOWEVER, the next thing I tried now was to replace -pthread
with
-lpthread. Here is the result:


dagobert:cko[40] g++ -shared -o pysvn/_pysvn.so pysvn.o
pysvn_callbacks.o pysvn_client.o pysvn_entry.o
pysvn_enum_string.o pysvn_transaction.o pysvn_revision.o
pysvn_status.o pysvn_docs.o pysvn_path.o
pysvn_arg_processing.o pysvn_converters.o pysvn_svnenv.o
pysvn_profile.o cxxsupport.o cxx_extensions.o
cxxextensions.o IndirectPythonInterface.o -L$PREFIX/lib
-lsvn_client-1 -lsvn_repos-1 -lsvn_subr-1 -lsvn_delta-1
-lsvn_fs_fs-1 -lsvn_fs-1 -lsvn_ra_svn-1 -lsvn_repos-1
-lsvn_ra_local-1 -lsvn_ra_dav-1 -lsvn_diff-1 -lsvn_ra-1
-lsvn_wc-1 -lapr-0 -lneon -laprutil-0 -liconv -lexpat -lintl
-lpthread -Wl,-bI:./python.exp
ld: 0711-224 WARNING: Duplicate symbol: thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: .global destructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: .global constructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: global constructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: global destructors
keyed to thread_creds_t
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain
more information.
dagobert:cko[41] cp -rp pysvn
$PREFIX/lib/python2.4/site-packages

dagobert:cko[42]
dagobert:cko[42] python
Python 2.4.2 (#1, Sep  2 2006, 00:51:24)
[GCC 4.1.1] on aix5
Type "help", "copyright",
"credits" or "license" for more
information.
>>> import pysvn
>>> c=pysvn.Client()
>>> l=c.ls("http://svn/svn")
>>> l
[{'last_author': u'js', 'kind': <node_kind.dir>,
'created_rev': <Revision kind=number 31832>,
'time': 1157376595.0731061, 'size': 0L, 'name': u'http://svn/svn/caa'},
{'last_author': u'cko', 'kind': <node_kind.dir>,
'created_rev': <Revision kind=number 31836>,
'time': 1157381639.9299841, 'size': 0L, 'name': u'http://svn/svn/ctb'},
{'last_author': u'icems', 'kind':
<node_kind.dir>, 'created_rev': <Revision
kind=number 31519>, 'time': 1156948906.0352709,
'size': 0L, 'name': u'http://svn/svn/installer
'}, {'last_author': u'icems', 'kind':
<node_kind.dir>, 'created_rev': <Revision
kind=number 31814>, 'time': 1157373694.3448639,
'size': 0L, 'name': u'http://svn/svn/qt'},
{'last_author': u'ur', 'kind': <node_kind.dir>,
'created_rev': <Revision kind=number 28508>,
'time': 1153395351.4001181, 'size': 0L, 'name': u'http://svn/svn/scons'},
{'last_author': u'cc', 'kind': <node_kind.dir>,
'created_rev': <Revision kind=number 31817>,
'time': 1157373869.1208301, 'size': 0L, 'name':
u'http://svn/svn/style'},
{'last_author': u'icems', 'kind':
<node_kind.dir>, 'created_rev': <Revision
kind=number 31782>, 'time': 1157362593.0096231,
'size': 0L, 'name': u'http://svn/svn/support'},
{'last_author': u'cko', 'kind': <node_kind.dir>,
'created_rev': <Revision kind=number 31834>,
'time': 1157376814.8135991, 'size': 0L, 'name': u'http://svn/svn/tools'},
{'last_author': u'is', 'kind': <node_kind.dir>,
'created_rev': <Revision kind=number 31825>,
'time': 1157376035.112267, 'size': 0L, 'name': u'http://svn/svn/uims'},
{'last_author': u'cko', 'kind': <node_kind.dir>,
'created_rev': <Revision kind=number 31500>,
'time': 1156939592.129365, 'size': 0L, 'name': u'http://svn/svn/utm'}]
>>> print l
[{'last_author': u'js', 'kind': <node_kind.dir>,
'created_rev': <Revision kind=number 31832>,
'time': 1157376595.0731061, 'size': 0L, 'name': u'http://svn/svn/caa'},
{'last_author': u'cko', 'kind': <node_kind.dir>,
'created_rev': <Revision kind=number 31836>,
'time': 1157381639.9299841, 'size': 0L, 'name': u'http://svn/svn/ctb'},
{'last_author': u'icems', 'kind':
<node_kind.dir>, 'created_rev': <Revision
kind=number 31519>, 'time': 1156948906.0352709,
'size': 0L, 'name': u'http://svn/svn/installer
'}, {'last_author': u'icems', 'kind':
<node_kind.dir>, 'created_rev': <Revision
kind=number 31814>, 'time': 1157373694.3448639,
'size': 0L, 'name': u'http://svn/svn/qt'},
{'last_author': u'ur', 'kind': <node_kind.dir>,
'created_rev': <Revision kind=number 28508>,
'time': 1153395351.4001181, 'size': 0L, 'name': u'http://svn/svn/scons'},
{'last_author': u'cc', 'kind': <node_kind.dir>,
'created_rev': <Revision kind=number 31817>,
'time': 1157373869.1208301, 'size': 0L, 'name':
u'http://svn/svn/style'},
{'last_author': u'icems', 'kind':
<node_kind.dir>, 'created_rev': <Revision
kind=number 31782>, 'time': 1157362593.0096231,
'size': 0L, 'name': u'http://svn/svn/support'},
{'last_author': u'cko', 'kind': <node_kind.dir>,
'created_rev': <Revision kind=number 31834>,
'time': 1157376814.8135991, 'size': 0L, 'name': u'http://svn/svn/tools'},
{'last_author': u'is', 'kind': <node_kind.dir>,
'created_rev': <Revision kind=number 31825>,
'time': 1157376035.112267, 'size': 0L, 'name': u'http://svn/svn/uims'},
{'last_author': u'cko', 'kind': <node_kind.dir>,
'created_rev': <Revision kind=number 31500>,
'time': 1156939592.129365, 'size': 0L, 'name': u'http://svn/svn/utm'}]


After that, I double-checked to verify that I really need
the -Wl,-bI:./python.exp:

dagobert:cko[43] g++ -shared -o pysvn/_pysvn.so pysvn.o
pysvn_callbacks.o pysvn_client.o pysvn_entry.o
pysvn_enum_string.o pysvn_transaction.o pysvn_revision.o
pysvn_status.o pysvn_docs.o pysvn_path.o
pysvn_arg_processing.o pysvn_converters.o pysvn_svnenv.o
pysvn_profile.o cxxsupport.o cxx_extensions.o
cxxextensions.o IndirectPythonInterface.o -L$PREFIX/lib
-lsvn_client-1 -lsvn_repos-1 -lsvn_subr-1 -lsvn_delta-1
-lsvn_fs_fs-1 -lsvn_fs-1 -lsvn_ra_svn-1 -lsvn_repos-1
-lsvn_ra_local-1 -lsvn_ra_dav-1 -lsvn_diff-1 -lsvn_ra-1
-lsvn_wc-1 -lapr-0 -lneon -laprutil-0 -liconv -lexpat -lintl
-lpthread
ld: 0711-224 WARNING: Duplicate symbol: thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: .global destructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: .global constructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: global constructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: global destructors
keyed to thread_creds_t
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain
more information.
ld: 0711-317 ERROR: Undefined symbol: .PyErr_SetObject
ld: 0711-317 ERROR: Undefined symbol: .PyErr_SetString
ld: 0711-317 ERROR: Undefined symbol: PyExc_ArithmeticError
ld: 0711-317 ERROR: Undefined symbol: PyExc_AssertionError
ld: 0711-317 ERROR: Undefined symbol: PyExc_AttributeError
ld: 0711-317 ERROR: Undefined symbol: PyExc_EnvironmentError
ld: 0711-317 ERROR: Undefined symbol: PyExc_EOFError
ld: 0711-317 ERROR: Undefined symbol: PyExc_Exception
ld: 0711-317 ERROR: Undefined symbol:
PyExc_FloatingPointError
ld: 0711-317 ERROR: Undefined symbol: PyExc_ImportError
ld: 0711-317 ERROR: Undefined symbol: PyExc_IndexError
ld: 0711-317 ERROR: Undefined symbol: PyExc_IOError
ld: 0711-317 ERROR: Undefined symbol:
PyExc_KeyboardInterrupt
ld: 0711-317 ERROR: Undefined symbol: PyExc_KeyError
ld: 0711-317 ERROR: Undefined symbol: PyExc_LookupError
ld: 0711-317 ERROR: Undefined symbol: PyExc_MemoryError
ld: 0711-317 ERROR: Undefined symbol: PyExc_MemoryErrorInst
ld: 0711-317 ERROR: Undefined symbol: PyExc_NameError
ld: 0711-317 ERROR: Undefined symbol:
PyExc_NotImplementedError
ld: 0711-317 ERROR: Undefined symbol: PyExc_OSError
ld: 0711-317 ERROR: Undefined symbol: PyExc_OverflowError
ld: 0711-317 ERROR: Undefined symbol: PyExc_RuntimeError
ld: 0711-317 ERROR: Undefined symbol: PyExc_StandardError
ld: 0711-317 ERROR: Undefined symbol: PyExc_SyntaxError
ld: 0711-317 ERROR: Undefined symbol: PyExc_SystemError
ld: 0711-317 ERROR: Undefined symbol: PyExc_SystemExit
ld: 0711-317 ERROR: Undefined symbol: PyExc_TypeError
ld: 0711-317 ERROR: Undefined symbol: PyExc_ValueError
ld: 0711-317 ERROR: Undefined symbol:
PyExc_ZeroDivisionError
ld: 0711-317 ERROR: Undefined symbol: PyExc_IndentationError
ld: 0711-317 ERROR: Undefined symbol: PyExc_TabError
ld: 0711-317 ERROR: Undefined symbol:
PyExc_UnboundLocalError
ld: 0711-317 ERROR: Undefined symbol: PyExc_UnicodeError
ld: 0711-317 ERROR: Undefined symbol: _Py_NoneStruct
ld: 0711-317 ERROR: Undefined symbol: PyBuffer_Type
ld: 0711-317 ERROR: Undefined symbol: PyCFunction_Type
ld: 0711-317 ERROR: Undefined symbol: PyClass_Type
ld: 0711-317 ERROR: Undefined symbol: PyCObject_Type
ld: 0711-317 ERROR: Undefined symbol: PyComplex_Type
ld: 0711-317 ERROR: Undefined symbol: PyDict_Type
ld: 0711-317 ERROR: Undefined symbol: PyFile_Type
ld: 0711-317 ERROR: Undefined symbol: PyFloat_Type
ld: 0711-317 ERROR: Undefined symbol: PyFunction_Type
ld: 0711-317 ERROR: Undefined symbol: PyInstance_Type
ld: 0711-317 ERROR: Undefined symbol: PyInt_Type
ld: 0711-317 ERROR: Undefined symbol: PyList_Type
ld: 0711-317 ERROR: Undefined symbol: PyLong_Type
ld: 0711-317 ERROR: Undefined symbol: PyMethod_Type
ld: 0711-317 ERROR: Undefined symbol: PyModule_Type
ld: 0711-317 ERROR: Undefined symbol: PyRange_Type
ld: 0711-317 ERROR: Undefined symbol: PySlice_Type
ld: 0711-317 ERROR: Undefined symbol: PyString_Type
ld: 0711-317 ERROR: Undefined symbol: PyTraceBack_Type
ld: 0711-317 ERROR: Undefined symbol: PyTuple_Type
ld: 0711-317 ERROR: Undefined symbol: PyType_Type
ld: 0711-317 ERROR: Undefined symbol: PyUnicode_Type
ld: 0711-317 ERROR: Undefined symbol: Py_DebugFlag
ld: 0711-317 ERROR: Undefined symbol: Py_InteractiveFlag
ld: 0711-317 ERROR: Undefined symbol: Py_OptimizeFlag
ld: 0711-317 ERROR: Undefined symbol: Py_NoSiteFlag
ld: 0711-317 ERROR: Undefined symbol: Py_TabcheckFlag
ld: 0711-317 ERROR: Undefined symbol: Py_VerboseFlag
ld: 0711-317 ERROR: Undefined symbol: Py_UnicodeFlag
ld: 0711-317 ERROR: Undefined symbol: _Py_PackageContext
ld: 0711-317 ERROR: Undefined symbol: .PyErr_Occurred
ld: 0711-317 ERROR: Undefined symbol: .PyErr_NewException
ld: 0711-317 ERROR: Undefined symbol: .PySequence_SetItem
ld: 0711-317 ERROR: Undefined symbol: .PySequence_GetItem
ld: 0711-317 ERROR: Undefined symbol: .PySequence_Size
ld: 0711-317 ERROR: Undefined symbol: .PyString_Size
ld: 0711-317 ERROR: Undefined symbol: .PySequence_Check
ld: 0711-317 ERROR: Undefined symbol: .PyString_AsString
ld: 0711-317 ERROR: Undefined symbol: .PyCObject_AsVoidPtr
ld: 0711-317 ERROR: Undefined symbol: .PyTuple_SetItem
ld: 0711-317 ERROR: Undefined symbol: .PyDict_New
ld: 0711-317 ERROR: Undefined symbol: .PyObject_SetItem
ld: 0711-317 ERROR: Undefined symbol:
.PyMapping_SetItemString
ld: 0711-317 ERROR: Undefined symbol: .PyMapping_Size
ld: 0711-317 ERROR: Undefined symbol: .PyMapping_Check
ld: 0711-317 ERROR: Undefined symbol: .PyObject_Free
ld: 0711-317 ERROR: Undefined symbol: .PyModule_GetDict
ld: 0711-317 ERROR: Undefined symbol: .PyImport_AddModule
ld: 0711-317 ERROR: Undefined symbol: .PyTuple_New
ld: 0711-317 ERROR: Undefined symbol: .PyList_New
ld: 0711-317 ERROR: Undefined symbol: .PyList_SetItem
ld: 0711-317 ERROR: Undefined symbol: .PyList_Append
ld: 0711-317 ERROR: Undefined symbol:
.PyString_FromStringAndSize
ld: 0711-317 ERROR: Undefined symbol: .PyCFunction_NewEx
ld: 0711-317 ERROR: Undefined symbol: .PyString_FromString
ld: 0711-317 ERROR: Undefined symbol: .Py_InitModule4
ld: 0711-317 ERROR: Undefined symbol: .PyEval_RestoreThread
ld: 0711-317 ERROR: Undefined symbol: .PyEval_SaveThread
ld: 0711-317 ERROR: Undefined symbol: .PyCallable_Check
ld: 0711-317 ERROR: Undefined symbol: .PyInt_FromLong
ld: 0711-317 ERROR: Undefined symbol: .PyObject_CallObject
ld: 0711-317 ERROR: Undefined symbol: .PyNumber_Int
ld: 0711-317 ERROR: Undefined symbol: .PyInt_AsLong
ld: 0711-317 ERROR: Undefined symbol: .PyErr_Clear
ld: 0711-317 ERROR: Undefined symbol: .PyErr_Print
ld: 0711-317 ERROR: Undefined symbol:
.PyUnicodeUCS2_AsEncodedString
ld: 0711-317 ERROR: Undefined symbol:
.PyString_AsEncodedObject
ld: 0711-317 ERROR: Undefined symbol: .PyMapping_HasKey
ld: 0711-317 ERROR: Undefined symbol: .PyObject_GetItem
ld: 0711-317 ERROR: Undefined symbol: .PyObject_Hash
ld: 0711-317 ERROR: Undefined symbol: .PyNumber_Float
ld: 0711-317 ERROR: Undefined symbol: .PyFloat_AsDouble
ld: 0711-317 ERROR: Undefined symbol: .PyFloat_FromDouble
ld: 0711-317 ERROR: Undefined symbol:
.PyObject_DelItemString
ld: 0711-317 ERROR: Undefined symbol:
.PyMapping_HasKeyString
ld: 0711-317 ERROR: Undefined symbol:
.PyMapping_GetItemString
ld: 0711-317 ERROR: Undefined symbol: .PyObject_CallMethod
ld: 0711-317 ERROR: Undefined symbol: .PyUnicodeUCS2_Decode
ld: 0711-317 ERROR: Undefined symbol: .PyNumber_Long
ld: 0711-317 ERROR: Undefined symbol: .PyObject_Compare
ld: 0711-317 ERROR: Undefined symbol: .PyCObject_FromVoidPtr
ld: 0711-317 ERROR: Undefined symbol: .PyObject_Repr
ld: 0711-317 ERROR: Undefined symbol: .PyObject_Str
ld: 0711-317 ERROR: Undefined symbol: .PyObject_Type
collect2: ld returned 8 exit status


OK.
So now I have a manual recipe that creates a working pysvn
on AIX.
It involves the following steps:

*  Create a python.exp file that lists all the symbols
exported
   by the interpreter.
   I am currently using the python.exp from the AIX Python
build
   ($BUILD_DIR/Python-2.4.2/Modules/python.exp).

*  Extend the link line to include ALL svn an related
libraries:
   -L$PREFIX/lib -lsvn_client-1 -lsvn_repos-1 -lsvn_subr-1
-lsvn_delta-1 -lsvn_fs_fs-1 -lsvn_fs-1 -lsvn_ra_svn-1
-lsvn_repos-1 -lsvn_ra_local-1 -lsvn_ra_dav-1 -lsvn_diff-1
-lsvn_ra-1 -lsvn_wc-1 -lapr-0 -lneon -laprutil-0 -liconv
-lexpat -lintl

*  Specify the pthread library via -lpthread, not via
-pthread.

*  Specify the export file via -Wl,-bI:./python.exp.


What would be the best way to fix the pysvn build so it
works
automatically under AIX?


Carsten.

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribepysvn.tigris.org
For additional commands, e-mail: dev-helppysvn.tigris.org

pysvn on AIX - almost there...
user name
2006-09-06 22:24:07
> OK.
> So now I have a manual recipe that creates a working
pysvn on AIX.
> It involves the following steps:
>
> *  Create a python.exp file that lists all the symbols
exported
>    by the interpreter.
>    I am currently using the python.exp from the AIX
Python build
>    ($BUILD_DIR/Python-2.4.2/Modules/python.exp).

You mean use the one from the python build rather then
create it?

> *  Extend the link line to include ALL svn an related
libraries:
>    -L$PREFIX/lib -lsvn_client-1 -lsvn_repos-1
-lsvn_subr-1 - 
> lsvn_delta-1 -lsvn_fs_fs-1 -lsvn_fs-1 -lsvn_ra_svn-1
-lsvn_repos-1 - 
> lsvn_ra_local-1 -lsvn_ra_dav-1 -lsvn_diff-1 -lsvn_ra-1
-lsvn_wc-1 - 
> lapr-0 -lneon -laprutil-0 -liconv -lexpat -lintl

I needed to do the same for Mac OS X

> *  Specify the pthread library via -lpthread, not via
-pthread.

Did that change the link in the end?

> *  Specify the export file via -Wl,-bI:./python.exp.

>
> What would be the best way to fix the pysvn build so it
works
> automatically under AIX?
>

In setup.py you will see that there is code that handles Mac
OS X.
I'd say we need to add AIX support using the same pattern.

add a detectAixVersion() that sets up self.is_aix as a
minimum.

create a new makefile template

add the a new if block around line 174 with the aix specific
generator

Barry

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribepysvn.tigris.org
For additional commands, e-mail: dev-helppysvn.tigris.org

pysvn on AIX - almost there...
user name
2006-09-07 11:37:34
Barry Scott wrote:
>> OK.
>> So now I have a manual recipe that creates a
working pysvn on AIX.
>> It involves the following steps:
>>
>> *  Create a python.exp file that lists all the
symbols exported
>>    by the interpreter.
>>    I am currently using the python.exp from the AIX
Python build
>>    ($BUILD_DIR/Python-2.4.2/Modules/python.exp).
> 
> You mean use the one from the python build rather then
create it?

Yes.
I experimented with creating my own, but it was not any
better
than the one from the python build. The problems I saw at
the
time could not be fixed with additional entries, but with
the
right use of -lpthread as opposed to -pthread.


>> *  Specify the pthread library via -lpthread, not
via -pthread.
> 
> Did that change the link in the end?

Yes.


>> What would be the best way to fix the pysvn build
so it works
>> automatically under AIX?
>>
> 
> In setup.py you will see that there is code that
handles Mac OS X.
> I'd say we need to add AIX support using the same
pattern.
> 
> add a detectAixVersion() that sets up self.is_aix as a
minimum.
> 
> create a new makefile template
> 
> add the a new if block around line 174 with the aix
specific generator

OK.
I'll take a look and see if I can come up with a patch.

Carsten.

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribepysvn.tigris.org
For additional commands, e-mail: dev-helppysvn.tigris.org

pysvn on AIX - almost there...
user name
2006-09-07 23:34:54
Barry Scott wrote:
...
>> What would be the best way to fix the pysvn build
so it works
>> automatically under AIX?
...
> create a new makefile template
> 
> add the a new if block around line 174 with the aix
specific generator

Excellent instructions!
Worked like a charm:


dagobert:cko[73] python setup.py configure --verbose
--apr-inc-dir=$PREFIX/include/apr-0
--svn-inc-dir=$PREFIX/include/subversion-1
--svn-lib-dir=$PREFIX/lib
Info: Creating makefile for python (2, 4, 2, 'final', 0)
Info: Found Python include in
/home/cko/AIX/include/python2.4
Info: Checking for PyCXX include in
../Import/pycxx_5_3_5/CXX/Version.hxx
Info: Found  PyCXX include in
/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_5_
3_5
Info: Checking for SVN include in
/home/cko/AIX/include/subversion-1/svn_client.h
Info: Found    SVN include in
/home/cko/AIX/include/subversion-1
Info: Checking for APR include in
/home/cko/AIX/include/apr-0/apr.h
Info: Found    APR include in /home/cko/AIX/include/apr-0
Info: Checking for SVN library in
/home/cko/AIX/lib/libsvn_client-1.so
Info: Found    SVN library in /home/cko/AIX/lib
Info: Checking for APR library in /opt/local/lib/libapr-1.so
Info: Checking for APR library in /sw/lib/libapr-1.so
Info: Checking for APR library in /usr/lib64/libapr-1.so
Info: Checking for APR library in /usr/lib/libapr-1.so
Info: Checking for APR library in
/usr/local/lib64/libapr-1.so
Info: Checking for APR library in /usr/local/lib/libapr-1.so
Info: Checking for APR library in
/usr/local/apr/lib/libapr-1.so
Info: Checking for APR library in /usr/pkg/lib/libapr-1.so
Info: Checking for APR library in /opt/local/lib/libapr-0.so
Info: Found    APR library in /opt/local/lib
Info: Creating Makefile for Source
Info: Using AIX makefile template
Info: Creating Makefile for Tests
dagobert:cko[74] make
/home/cko/AIX/bin/python
../Docs/generate_cpp_docs_from_html_docs.py
/home/cko/AIX/include/subversion-1
../Docs/pysvn_prog_ref.html pysvn_docs.hpp pysvn_docs.cpp
svn_include /home/cko/AIX/include/subversion-1
html_doc ../Docs/pysvn_prog_ref.html
cpp_header_filename pysvn_docs.hpp
cpp_module_filename pysvn_docs.cpp
Info: Building against SVN 1.3.2 code 1003002
touch pysvn_docs.hpp
/home/cko/AIX/bin/python ../Builder/brand_version.py
../Builder/version.info pysvn_version.hpp.template
Info: revision exported
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o pysvn.o
pysvn.cpp
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o
pysvn_callbacks.o pysvn_callbacks.cpp
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o
pysvn_client.o pysvn_client.cpp
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o pysvn_entry.o
pysvn_entry.cpp
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o
pysvn_enum_string.o pysvn_enum_string.cpp
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o
pysvn_transaction.o pysvn_transaction.cpp
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o
pysvn_revision.o pysvn_revision.cpp
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o
pysvn_status.o pysvn_status.cpp
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o pysvn_docs.o
pysvn_docs.cpp
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o pysvn_path.o
pysvn_path.cpp
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o
pysvn_arg_processing.o pysvn_arg_processing.cpp
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o
pysvn_converters.o pysvn_converters.cpp
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o
pysvn_svnenv.o pysvn_svnenv.cpp
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o
pysvn_profile.o pysvn_profile.cpp
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o cxxsupport.o
/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_5_
3_5/Src/cxxsupport.cxx
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o
cxx_extensions.o
/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_5_
3_5/Src/cxx_extensions.cxx
gcc -c -c -Wall -fPIC -I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I.  -o cxxextensions.o
/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_5_
3_5/Src/cxxextensions.c
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_
5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o
IndirectPythonInterface.o
/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_5_
3_5/Src/IndirectPythonInterface.cxx
g++ -shared  -o pysvn/_pysvn.so pysvn.o pysvn_callbacks.o
pysvn_client.o pysvn_entry.o pysvn_enum_string.o
pysvn_transaction.o pysvn_revision.o pysvn_status.o
pysvn_docs.o pysvn_path.o pysvn_arg_processing.o
pysvn_converters.o pysvn_svnenv.o pysvn_profile.o
cxxsupport.o cxx_extensions.o cxxextensions.o
IndirectPythonInterface.o -L/home/cko/AIX/lib -lsvn_client-1
  -lsvn_repos-1    -lsvn_subr-1     -lsvn_delta-1   
-lsvn_fs_fs-1    -lsvn_fs-1       -lsvn_ra_svn-1  
-lsvn_repos-1    -lsvn_ra_local-1 -lsvn_ra_dav-1  
-lsvn_diff-1     -lsvn_ra-1       -lsvn_wc-1       -lapr-0  
       -lneon           -laprutil-0      -liconv         
-lexpat          -lintl           -lpthread       
-Wl,-bI:/home/cko/AIX/lib/python2.4/config/python.exp
ld: 0711-224 WARNING: Duplicate symbol: thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: .global destructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: .global constructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: global constructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: global destructors
keyed to thread_creds_t
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain
more information.
dagobert:cko[75]

Patch attached.

Carsten.
Index: setup.py
============================================================
=======
--- setup.py	(revision 684)
+++ setup.py	(working copy)
 -198,6
+198,22 
 
             else:
                 makefile.write(
self.makefile_template_macosx % template_values )
+        elif sys.platform.startswith('aix'):
+            if self.verbose:
+                print 'Info: Using AIX makefile template'
+            for path in sys.path:
+                python_exp = os.path.join(path, 'config',
'python.exp')
+                if os.path.exists(python_exp):
+                    template_values['python_exp'] =
python_exp
+                    break
+            else:
+                python_exp =
os.path.abspath(os.path.join(sys.executable, os.path.pardir,
os.path.pardir, 
+                                                         
'lib', 'python2.4', 'config', 'python.exp'))
+                if os.path.exists(python_exp):
+                    template_values['python_exp'] =
python_exp
+                else:
+                    template_values['python_exp'] =
'python.exp'
+            makefile.write( self.makefile_template_aix %
template_values )
         else:
             if self.verbose:
                 print 'Info: Using unix makefile
template'
 -247,6
+263,44 
 #include pysvn_common.mak
 '''
 
+    makefile_template_aix = '''#
+#	Created by pysvn Extension/Source/setup.py
+#       -- makefile_template_aix --
+#
+PYTHON=%(python_exe)s
+SVN_INCLUDE=%(svn_include)s
+CCC=g++ -c
+CCCFLAGS=-Wall -fPIC -fexceptions -frtti %(includes)s
%(py_cflags)s %(debug_cflags)s
+CC=gcc -c
+CCFLAGS=-Wall -fPIC %(includes)s %(debug_cflags)s
+PYCXX=%(pycxx_dir)s
+LDSHARED=g++ -shared %(debug_cflags)s
+LDLIBS=-L%(svn_lib_dir)s \
+-lsvn_client-1   \
+-lsvn_repos-1    \
+-lsvn_subr-1     \
+-lsvn_delta-1    \
+-lsvn_fs_fs-1    \
+-lsvn_fs-1       \
+-lsvn_ra_svn-1   \
+-lsvn_repos-1    \
+-lsvn_ra_local-1 \
+-lsvn_ra_dav-1   \
+-lsvn_diff-1     \
+-lsvn_ra-1       \
+-lsvn_wc-1       \
+-lapr-0          \
+-lneon           \
+-laprutil-0      \
+-liconv          \
+-lexpat          \
+-lintl           \
+-lpthread        \
+-Wl,-bI:%(python_exp)s
+
+#include pysvn_common.mak
+'''
+
     makefile_template_macosx = '''#
 #	Created by pysvn Extension/Source/setup.py
 #       -- makefile_template_macosx --

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribepysvn.tigris.org
For additional commands, e-mail: dev-helppysvn.tigris.org
pysvn on AIX - almost there...
user name
2006-09-08 21:32:30
Thanks for the patch it has been committed as r685.

Barry



On Sep 8, 2006, at 00:34, Carsten Koch wrote:

> Barry Scott wrote:
> ...
>>> What would be the best way to fix the pysvn
build so it works
>>> automatically under AIX?
> ...
>> create a new makefile template
>>
>> add the a new if block around line 174 with the aix
specific  
>> generator
>
> Excellent instructions!
> Worked like a charm:
>
>
> dagobert:cko[73] python setup.py configure --verbose
--apr-inc-dir= 
> $PREFIX/include/apr-0
--svn-inc-dir=$PREFIX/include/subversion-1 -- 
> svn-lib-dir=$PREFIX/lib
> Info: Creating makefile for python (2, 4, 2, 'final',
0)
> Info: Found Python include in
/home/cko/AIX/include/python2.4
> Info: Checking for PyCXX include in
../Import/pycxx_5_3_5/CXX/ 
> Version.hxx
> Info: Found  PyCXX include in
/tmp_mnt/home/cko/cko/AIX/source/ 
> pysvn-1.4.2/Import/pycxx_5_3_5
> Info: Checking for SVN include in
/home/cko/AIX/include/ 
> subversion-1/svn_client.h
> Info: Found    SVN include in
/home/cko/AIX/include/subversion-1
> Info: Checking for APR include in
/home/cko/AIX/include/apr-0/apr.h
> Info: Found    APR include in
/home/cko/AIX/include/apr-0
> Info: Checking for SVN library in
/home/cko/AIX/lib/libsvn_client-1.so
> Info: Found    SVN library in /home/cko/AIX/lib
> Info: Checking for APR library in
/opt/local/lib/libapr-1.so
> Info: Checking for APR library in /sw/lib/libapr-1.so
> Info: Checking for APR library in
/usr/lib64/libapr-1.so
> Info: Checking for APR library in /usr/lib/libapr-1.so
> Info: Checking for APR library in
/usr/local/lib64/libapr-1.so
> Info: Checking for APR library in
/usr/local/lib/libapr-1.so
> Info: Checking for APR library in
/usr/local/apr/lib/libapr-1.so
> Info: Checking for APR library in
/usr/pkg/lib/libapr-1.so
> Info: Checking for APR library in
/opt/local/lib/libapr-0.so
> Info: Found    APR library in /opt/local/lib
> Info: Creating Makefile for Source
> Info: Using AIX makefile template
> Info: Creating Makefile for Tests
> dagobert:cko[74] make
> /home/cko/AIX/bin/python ../Docs/ 
> generate_cpp_docs_from_html_docs.py
/home/cko/AIX/include/ 
> subversion-1 ../Docs/pysvn_prog_ref.html pysvn_docs.hpp
pysvn_docs.cpp
> svn_include /home/cko/AIX/include/subversion-1
> html_doc ../Docs/pysvn_prog_ref.html
> cpp_header_filename pysvn_docs.hpp
> cpp_module_filename pysvn_docs.cpp
> Info: Building against SVN 1.3.2 code 1003002
> touch pysvn_docs.hpp
> /home/cko/AIX/bin/python ../Builder/brand_version.py
../Builder/ 
> version.info pysvn_version.hpp.template
> Info: revision exported
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o pysvn.o pysvn.cpp
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o pysvn_callbacks.o
pysvn_callbacks.cpp
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o pysvn_client.o
pysvn_client.cpp
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o pysvn_entry.o
pysvn_entry.cpp
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o pysvn_enum_string.o  
> pysvn_enum_string.cpp
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o pysvn_transaction.o  
> pysvn_transaction.cpp
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o pysvn_revision.o
pysvn_revision.cpp
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o pysvn_status.o
pysvn_status.cpp
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o pysvn_docs.o
pysvn_docs.cpp
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o pysvn_path.o
pysvn_path.cpp
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o pysvn_arg_processing.o  
> pysvn_arg_processing.cpp
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o pysvn_converters.o
pysvn_converters.cpp
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o pysvn_svnenv.o
pysvn_svnenv.cpp
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o pysvn_profile.o
pysvn_profile.cpp
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o cxxsupport.o
/tmp_mnt/home/cko/cko/ 
>
AIX/source/pysvn-1.4.2/Import/pycxx_5_3_5/Src/cxxsupport.cxx
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o cxx_extensions.o
/tmp_mnt/home/cko/ 
>
cko/AIX/source/pysvn-1.4.2/Import/pycxx_5_3_5/Src/cxx_extens
ions.cxx
> gcc -c -c -Wall -fPIC -I/home/cko/AIX/include/python2.4
-I/tmp_mnt/ 
> home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_5_3_5
-I/home/cko/ 
> AIX/include/subversion-1 -I/home/cko/AIX/include/apr-0
-I.  -o  
> cxxextensions.o
/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5/Src/cxxextensions.c
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/cko/cko/AIX/source/pysvn-1.4.2/Import/ 
> pycxx_5_3_5 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o
IndirectPythonInterface.o /tmp_mnt/ 
>
home/cko/cko/AIX/source/pysvn-1.4.2/Import/pycxx_5_3_5/Src/ 
> IndirectPythonInterface.cxx
> g++ -shared  -o pysvn/_pysvn.so pysvn.o
pysvn_callbacks.o  
> pysvn_client.o pysvn_entry.o pysvn_enum_string.o  
> pysvn_transaction.o pysvn_revision.o pysvn_status.o
pysvn_docs.o  
> pysvn_path.o pysvn_arg_processing.o pysvn_converters.o 

> pysvn_svnenv.o pysvn_profile.o cxxsupport.o
cxx_extensions.o  
> cxxextensions.o IndirectPythonInterface.o
-L/home/cko/AIX/lib - 
> lsvn_client-1   -lsvn_repos-1    -lsvn_subr-1    
-lsvn_delta-1    - 
> lsvn_fs_fs-1    -lsvn_fs-1       -lsvn_ra_svn-1  
-lsvn_repos-1    - 
> lsvn_ra_local-1 -lsvn_ra_dav-1   -lsvn_diff-1    
-lsvn_ra-1       - 
> lsvn_wc-1       -lapr-0          -lneon          
-laprutil-0      - 
> liconv          -lexpat          -lintl          
-lpthread        - 
> Wl,-bI:/home/cko/AIX/lib/python2.4/config/python.exp
> ld: 0711-224 WARNING: Duplicate symbol: thread_creds_t
> ld: 0711-224 WARNING: Duplicate symbol: .global
destructors keyed  
> to thread_creds_t
> ld: 0711-224 WARNING: Duplicate symbol: .global
constructors keyed  
> to thread_creds_t
> ld: 0711-224 WARNING: Duplicate symbol: global
constructors keyed  
> to thread_creds_t
> ld: 0711-224 WARNING: Duplicate symbol: global
destructors keyed to  
> thread_creds_t
> ld: 0711-345 Use the -bloadmap or -bnoquiet option to
obtain more  
> information.
> dagobert:cko[75]
>
> Patch attached.
>
> Carsten.
> Index: setup.py
>
============================================================
=======
> --- setup.py	(revision 684)
> +++ setup.py	(working copy)
>  -198,6 +198,22 
>
>              else:
>                  makefile.write(
self.makefile_template_macosx %  
> template_values )
> +        elif sys.platform.startswith('aix'):
> +            if self.verbose:
> +                print 'Info: Using AIX makefile
template'
> +            for path in sys.path:
> +                python_exp = os.path.join(path,
'config',  
> 'python.exp')
> +                if os.path.exists(python_exp):
> +                    template_values['python_exp'] =
python_exp
> +                    break
> +            else:
> +                python_exp =
os.path.abspath(os.path.join 
> (sys.executable, os.path.pardir, os.path.pardir,
> +                                                      
   'lib',  
> 'python2.4', 'config', 'python.exp'))
> +                if os.path.exists(python_exp):
> +                    template_values['python_exp'] =
python_exp
> +                else:
> +                    template_values['python_exp'] =
'python.exp'
> +            makefile.write( self.makefile_template_aix
%  
> template_values )
>          else:
>              if self.verbose:
>                  print 'Info: Using unix makefile
template'
>  -247,6 +263,44 
>  #include pysvn_common.mak
>  '''
>
> +    makefile_template_aix = '''#
> +#	Created by pysvn Extension/Source/setup.py
> +#       -- makefile_template_aix --
> +#
> +PYTHON=%(python_exe)s
> +SVN_INCLUDE=%(svn_include)s
> +CCC=g++ -c
> +CCCFLAGS=-Wall -fPIC -fexceptions -frtti %(includes)s
%(py_cflags) 
> s %(debug_cflags)s
> +CC=gcc -c
> +CCFLAGS=-Wall -fPIC %(includes)s %(debug_cflags)s
> +PYCXX=%(pycxx_dir)s
> +LDSHARED=g++ -shared %(debug_cflags)s
> +LDLIBS=-L%(svn_lib_dir)s \
> +-lsvn_client-1   \
> +-lsvn_repos-1    \
> +-lsvn_subr-1     \
> +-lsvn_delta-1    \
> +-lsvn_fs_fs-1    \
> +-lsvn_fs-1       \
> +-lsvn_ra_svn-1   \
> +-lsvn_repos-1    \
> +-lsvn_ra_local-1 \
> +-lsvn_ra_dav-1   \
> +-lsvn_diff-1     \
> +-lsvn_ra-1       \
> +-lsvn_wc-1       \
> +-lapr-0          \
> +-lneon           \
> +-laprutil-0      \
> +-liconv          \
> +-lexpat          \
> +-lintl           \
> +-lpthread        \
> +-Wl,-bI:%(python_exp)s
> +
> +#include pysvn_common.mak
> +'''
> +
>      makefile_template_macosx = '''#
>  #	Created by pysvn Extension/Source/setup.py
>  #       -- makefile_template_macosx --
>
>
------------------------------------------------------------
---------
> To unsubscribe, e-mail: dev-unsubscribepysvn.tigris.org
> For additional commands, e-mail: dev-helppysvn.tigris.org

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribepysvn.tigris.org
For additional commands, e-mail: dev-helppysvn.tigris.org

pysvn on AIX - almost there...
user name
2006-11-22 19:06:46
Hi Barry,

Barry Scott wrote:
...
>> g++ -shared  -o pysvn/_pysvn.so pysvn.o
pysvn_callbacks.o
>> pysvn_client.o pysvn_entry.o pysvn_enum_string.o
pysvn_transaction.o
>> pysvn_revision.o pysvn_status.o pysvn_docs.o
pysvn_path.o
>> pysvn_arg_processing.o pysvn_converters.o
pysvn_svnenv.o
>> pysvn_profile.o cxxsupport.o cxx_extensions.o
cxxextensions.o
>> IndirectPythonInterface.o -L/home/cko/AIX/lib
-lsvn_client-1  
>> -lsvn_repos-1    -lsvn_subr-1     -lsvn_delta-1   
-lsvn_fs_fs-1   
>> -lsvn_fs-1       -lsvn_ra_svn-1   -lsvn_repos-1   
-lsvn_ra_local-1
>> -lsvn_ra_dav-1   -lsvn_diff-1     -lsvn_ra-1      
-lsvn_wc-1      
>> -lapr-0          -lneon           -laprutil-0     
-liconv         
>> -lexpat          -lintl           -lpthread       
>>
-Wl,-bI:/home/cko/AIX/lib/python2.4/config/python.exp
>> ld: 0711-224 WARNING: Duplicate symbol:
thread_creds_t
>> ld: 0711-224 WARNING: Duplicate symbol: .global
destructors keyed to
>> thread_creds_t
>> ld: 0711-224 WARNING: Duplicate symbol: .global
constructors keyed to
>> thread_creds_t
>> ld: 0711-224 WARNING: Duplicate symbol: global
constructors keyed to
>> thread_creds_t
>> ld: 0711-224 WARNING: Duplicate symbol: global
destructors keyed to
>> thread_creds_t
>> ld: 0711-345 Use the -bloadmap or -bnoquiet option
to obtain more
>> information.
>> dagobert:cko[75]

I tried building plain vanilla pysvn 1.5.0 with subversion
1.4.2 and I got:

gcc -c -c -Wall -fPIC -I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/mk/cko/AIX/source/pysvn-1.5.0/Import/pycxx-5
.3.6 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I.  -o cxxextensions.o
/tmp_mnt/home/mk/cko/AIX/source/pysvn-1.5.0/Import/pycxx-5.3
.6/Src/cxxextensions.c
g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/python2.4
-I/tmp_mnt/home/mk/cko/AIX/source/pysvn-1.5.0/Import/pycxx-5
.3.6 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/include/apr-0 -I. -DNDEBUG  -o
IndirectPythonInterface.o
/tmp_mnt/home/mk/cko/AIX/source/pysvn-1.5.0/Import/pycxx-5.3
.6/Src/IndirectPythonInterface.cxx
g++ -shared  -o pysvn/_pysvn.so pysvn.o pysvn_callbacks.o
pysvn_client.o pysvn_enum_string.o pysvn_transaction.o
pysvn_revision.o pysvn_docs.o pysvn_path.o
pysvn_arg_processing.o pysvn_converters.o pysvn_svnenv.o
pysvn_profile.o cxxsupport.o cxx_extensions.o
cxxextensions.o IndirectPythonInterface.o
-L/home/cko/AIX/lib -lsvn_client-1   -lsvn_repos-1   
-lsvn_subr-1     -lsvn_delta-1    -lsvn_fs_fs-1   
-lsvn_fs-1       -lsvn_ra_svn-1   -lsvn_repos-1   
-lsvn_ra_local-1 -lsvn_ra_dav-1   -lsvn_diff-1    
-lsvn_ra-1       -lsvn_wc-1       -lapr-0          -lneon   
       -laprutil-0      -liconv          -lexpat         
-lintl           -lpthread       
-Wl,-bI:/home/cko/AIX/lib/python2.4/config/python.exp
ld: 0711-224 WARNING: Duplicate symbol: thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: .global destructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: .global constructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: global constructors
keyed to thread_creds_t
ld: 0711-224 WARNING: Duplicate symbol: global destructors
keyed to thread_creds_t
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain
more information.
ld: 0711-317 ERROR: Undefined symbol: .inflateEnd
ld: 0711-317 ERROR: Undefined symbol: .deflate
ld: 0711-317 ERROR: Undefined symbol: .deflateEnd
ld: 0711-317 ERROR: Undefined symbol: .deflateInit_
ld: 0711-317 ERROR: Undefined symbol: .inflate
ld: 0711-317 ERROR: Undefined symbol: .inflateInit_
ld: 0711-317 ERROR: Undefined symbol: .uncompress
ld: 0711-317 ERROR: Undefined symbol: .compress2
ld: 0711-317 ERROR: Undefined symbol: .crc32
ld: 0711-317 ERROR: Undefined symbol: .inflateInit2_
collect2: ld returned 8 exit status
make: *** [pysvn/_pysvn.so] Error 1


Adding "-lz" to the link line fixed it.

Cheers,
Carsten.

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribepysvn.tigris.org
For additional commands, e-mail: dev-helppysvn.tigris.org

pysvn on AIX - almost there...
user name
2006-11-22 21:30:05
Do you want to make the -lz change to setup.py and give me
the patch?

Barry


On Nov 22, 2006, at 19:06, Carsten Koch wrote:

> Hi Barry,
>
> Barry Scott wrote:
> ...
>>> g++ -shared  -o pysvn/_pysvn.so pysvn.o
pysvn_callbacks.o
>>> pysvn_client.o pysvn_entry.o
pysvn_enum_string.o pysvn_transaction.o
>>> pysvn_revision.o pysvn_status.o pysvn_docs.o
pysvn_path.o
>>> pysvn_arg_processing.o pysvn_converters.o
pysvn_svnenv.o
>>> pysvn_profile.o cxxsupport.o cxx_extensions.o
cxxextensions.o
>>> IndirectPythonInterface.o -L/home/cko/AIX/lib
-lsvn_client-1
>>> -lsvn_repos-1    -lsvn_subr-1     -lsvn_delta-1
   -lsvn_fs_fs-1
>>> -lsvn_fs-1       -lsvn_ra_svn-1   -lsvn_repos-1
   -lsvn_ra_local-1
>>> -lsvn_ra_dav-1   -lsvn_diff-1     -lsvn_ra-1   
   -lsvn_wc-1
>>> -lapr-0          -lneon           -laprutil-0  
   -liconv
>>> -lexpat          -lintl           -lpthread
>>>
-Wl,-bI:/home/cko/AIX/lib/python2.4/config/python.exp
>>> ld: 0711-224 WARNING: Duplicate symbol:
thread_creds_t
>>> ld: 0711-224 WARNING: Duplicate symbol: .global
destructors keyed to
>>> thread_creds_t
>>> ld: 0711-224 WARNING: Duplicate symbol: .global
constructors  
>>> keyed to
>>> thread_creds_t
>>> ld: 0711-224 WARNING: Duplicate symbol: global
constructors keyed to
>>> thread_creds_t
>>> ld: 0711-224 WARNING: Duplicate symbol: global
destructors keyed to
>>> thread_creds_t
>>> ld: 0711-345 Use the -bloadmap or -bnoquiet
option to obtain more
>>> information.
>>> dagobert:cko[75]
>
> I tried building plain vanilla pysvn 1.5.0 with
subversion 1.4.2  
> and I got:
>
> gcc -c -c -Wall -fPIC -I/home/cko/AIX/include/python2.4
-I/tmp_mnt/ 
> home/mk/cko/AIX/source/pysvn-1.5.0/Import/pycxx-5.3.6
-I/home/cko/ 
> AIX/include/subversion-1 -I/home/cko/AIX/include/apr-0
-I.  -o  
> cxxextensions.o
/tmp_mnt/home/mk/cko/AIX/source/pysvn-1.5.0/Import/ 
> pycxx-5.3.6/Src/cxxextensions.c
> g++ -c -Wall -fPIC -fexceptions -frtti
-I/home/cko/AIX/include/ 
> python2.4
-I/tmp_mnt/home/mk/cko/AIX/source/pysvn-1.5.0/Import/ 
> pycxx-5.3.6 -I/home/cko/AIX/include/subversion-1
-I/home/cko/AIX/ 
> include/apr-0 -I. -DNDEBUG  -o
IndirectPythonInterface.o /tmp_mnt/ 
>
home/mk/cko/AIX/source/pysvn-1.5.0/Import/pycxx-5.3.6/Src/ 
> IndirectPythonInterface.cxx
> g++ -shared  -o pysvn/_pysvn.so pysvn.o
pysvn_callbacks.o  
> pysvn_client.o pysvn_enum_string.o pysvn_transaction.o 

> pysvn_revision.o pysvn_docs.o pysvn_path.o
pysvn_arg_processing.o  
> pysvn_converters.o pysvn_svnenv.o pysvn_profile.o
cxxsupport.o  
> cxx_extensions.o cxxextensions.o
IndirectPythonInterface.o -L/home/ 
> cko/AIX/lib -lsvn_client-1   -lsvn_repos-1   
-lsvn_subr-1     - 
> lsvn_delta-1    -lsvn_fs_fs-1    -lsvn_fs-1      
-lsvn_ra_svn-1   - 
> lsvn_repos-1    -lsvn_ra_local-1 -lsvn_ra_dav-1  
-lsvn_diff-1     - 
> lsvn_ra-1       -lsvn_wc-1       -lapr-0         
-lneon           - 
> laprutil-0      -liconv          -lexpat         
-lintl           - 
> lpthread       
-Wl,-bI:/home/cko/AIX/lib/python2.4/config/python.exp
> ld: 0711-224 WARNING: Duplicate symbol: thread_creds_t
> ld: 0711-224 WARNING: Duplicate symbol: .global
destructors keyed  
> to thread_creds_t
> ld: 0711-224 WARNING: Duplicate symbol: .global
constructors keyed  
> to thread_creds_t
> ld: 0711-224 WARNING: Duplicate symbol: global
constructors keyed  
> to thread_creds_t
> ld: 0711-224 WARNING: Duplicate symbol: global
destructors keyed to  
> thread_creds_t
> ld: 0711-345 Use the -bloadmap or -bnoquiet option to
obtain more  
> information.
> ld: 0711-317 ERROR: Undefined symbol: .inflateEnd
> ld: 0711-317 ERROR: Undefined symbol: .deflate
> ld: 0711-317 ERROR: Undefined symbol: .deflateEnd
> ld: 0711-317 ERROR: Undefined symbol: .deflateInit_
> ld: 0711-317 ERROR: Undefined symbol: .inflate
> ld: 0711-317 ERROR: Undefined symbol: .inflateInit_
> ld: 0711-317 ERROR: Undefined symbol: .uncompress
> ld: 0711-317 ERROR: Undefined symbol: .compress2
> ld: 0711-317 ERROR: Undefined symbol: .crc32
> ld: 0711-317 ERROR: Undefined symbol: .inflateInit2_
> collect2: ld returned 8 exit status
> make: *** [pysvn/_pysvn.so] Error 1
>
>
> Adding "-lz" to the link line fixed it.
>
> Cheers,
> Carsten.
>
>
------------------------------------------------------------
---------
> To unsubscribe, e-mail: dev-unsubscribepysvn.tigris.org
> For additional commands, e-mail: dev-helppysvn.tigris.org
>
>

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribepysvn.tigris.org
For additional commands, e-mail: dev-helppysvn.tigris.org

pysvn on AIX - almost there...
user name
2006-11-23 08:52:38
Barry Scott wrote:
> Do you want to make the -lz change to setup.py and give
me the patch?

Attached.

Carsten.
------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribepysvn.tigris.org
For additional commands, e-mail: dev-helppysvn.tigris.org
[1-10] [11]

about | contact  Other archives ( Real Estate discussion Medical topics )