[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pykde
Subject:    Re: [PyKDE] OS X
From:       Gordon Tyler <gordon () doxxx ! net>
Date:       2003-05-20 1:51:45
[Download RAW message or body]

On May 19, 2003 11:17 am, Steven Scott wrote:
> ld: multiple definitions of symbol _includeDirList
> main.o definition of _includeDirList in section (__DATA,__common)
> transform.o definition of _includeDirList in section (__DATA,__common)
> ld: multiple definitions of symbol _sipVersion
> main.o definition of _sipVersion in section (__DATA,__common)
> transform.o definition of _sipVersion in section (__DATA,__common)
> gencode.o definition of _includeDirList in section (__DATA,__common)
> gencode.o definition of _sipVersion in section (__DATA,__common)
> heap.o definition of _includeDirList in section (__DATA,__common)
> heap.o definition of _sipVersion in section (__DATA,__common)
> parser.o definition of _includeDirList in section (__DATA,__common)
> parser.o definition of _sipVersion in section (__DATA,__common)
> lexer.o definition of _includeDirList in section (__DATA,__common)
> lexer.o definition of _sipVersion in section (__DATA,__common)

The attached patch (sip-x11-gpl-3.6-extern.patch) fixes this problem.

But now I've run into another problem:

c++ -framework CoreServices  -current_version 10.0.0  -compatibility_version 
10.0  -dynamiclib -single_module -install_name /sw/lib/libsip.10.dylib -o 
libsip.10.0.0.dylib objmap.o qtlib.o threads.o siplib.o moc_sipQt.o  
-L/sw/lib -L/sw/lib -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm -lXt
ld: Undefined symbols:
_PyClass_IsSubclass
_PyCFunction_Type
_PyErr_Clear
_PyErr_Fetch
_PyErr_Format
_PyErr_GivenExceptionMatches
_PyErr_Restore
_PyEval_CallObjectWithKeywords
_PyEval_RestoreThread
_PyEval_SaveThread
_PyExc_NameError
_PyExc_RuntimeError
_PyExc_TypeError
_PyMethod_New
_PyMethod_Type
_PyObject_GetAttrString
_PyTuple_GetSlice
_PyWeakref_GetObject
__Py_NoneStruct
__Py_TrueStruct
_PyErr_SetString
_PyEval_AcquireThread
_PyInstance_New
_PyThreadState_Clear
_PyThreadState_DeleteCurrent
_PyThreadState_New
_PyThread_get_thread_ident
_PyArg_ParseTuple
_PyCFunction_New
_PyCallable_Check
_PyClass_Type
_PyDictProxy_New
_PyDict_Clear
_PyDict_DelItem
_PyDict_GetItem
_PyDict_GetItemString
_PyDict_New
_PyDict_SetItem
_PyDict_SetItemString
_PyErr_ExceptionMatches
_PyErr_NoMemory
_PyErr_Occurred
_PyErr_SetObject
_PyExc_AttributeError
_PyExc_Exception
_PyExc_IndexError
_PyExc_OverflowError
_PyExc_SystemError
_PyExc_ValueError
_PyFloat_AsDouble
_PyFloat_FromDouble
_PyFloat_Type
_PyImport_GetModuleDict
_PyInstance_Type
_PyInt_AsLong
_PyInt_FromLong
_PyInt_Type
_PyLong_AsLong
_PyLong_FromLong
_PyLong_Type
_PyMem_Free
_PyMem_Malloc
_PyModule_GetDict
_PyObject_CallObject
_PyObject_Compare
_PyObject_GetAttr
_PyObject_Init
_PySlice_Type
_PyString_AsString
_PyString_FromString
_PyString_FromStringAndSize
_PyString_Type
_PyTuple_Size
_PyType_IsSubtype
_PyType_Type
_PyWeakref_NewRef
_Py_AtExit
_Py_InitModule4
__Py_ZeroStruct
/usr/bin/libtool: internal link edit command failed

The linker is trying to resolve symbols that (I think) are provided by the 
python executable when the extension is loaded at runtime. I hacked 
siplib/Makefile to change LFLAGS to:

LFLAGS = -framework CoreServices -bundle -bundle_loader /sw/bin/python2.2

This makes it compile and link with some hopefully harmless warnings, but I 
don't know if it works since I don't use sip/PyQt on Mac OS X.

I used Fink's python2.2, but it may work with Mac OS X's bundled Python.

Ciao,
Gordon

["sip-x11-gpl-3.6-extern.patch" (text/x-diff)]

diff -ru sip-x11-gpl-3.6.orig/sipgen/main.c sip-x11-gpl-3.6/sipgen/main.c
--- sip-x11-gpl-3.6.orig/sipgen/main.c	Sat Apr 26 10:51:48 2003
+++ sip-x11-gpl-3.6/sipgen/main.c	Mon May 19 19:32:28 2003
@@ -36,6 +36,8 @@
 
 #define	VERSION	"3.6 (build 86)"
 
+char *sipVersion;               /* The version of SIP. */
+stringList *includeDirList;     /* The include directory list for SIP files. */
 
 static char *sipPackage = PACKAGE;
 
diff -ru sip-x11-gpl-3.6.orig/sipgen/sip.h sip-x11-gpl-3.6/sipgen/sip.h
--- sip-x11-gpl-3.6.orig/sipgen/sip.h	Sat Apr 26 10:51:48 2003
+++ sip-x11-gpl-3.6/sipgen/sip.h	Mon May 19 19:33:00 2003
@@ -707,8 +707,8 @@
 } parserContext;
 
 
-char *sipVersion;		/* The version of SIP. */
-stringList *includeDirList;	/* The include directory list for SIP files. */
+extern char *sipVersion;		/* The version of SIP. */
+extern stringList *includeDirList;	/* The include directory list for SIP files. */
 
 
 void parse(sipSpec *,FILE *,char *,char *,stringList *,stringList *);

_______________________________________________
PyKDE mailing list    PyKDE@mats.gmd.de
http://mats.gmd.de/mailman/listinfo/pykde

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic