[Pythonmac-SIG] More update [MacOSX] Re: Where are you with Carbonized Python Mac Modules?

Steven D. Majewski sdm7g@virginia.edu
Sun, 19 Nov 2000 21:30:39 -0500 (EST)


Got a whole bunch of Mac modules to build under OSX. 
I can import and load any one of them, but trying to load another
yields a multiple definition error:

Python 2.0 (#7, 11/17/00, 16:20:11) 
[GCC Apple DevKit-based CPP 5.0] on Darwin1.2
Type "copyright", "credits" or "license" for more information.
>>> import Win
>>> import Menu
dyld: python multiple definitions of symbol _BMObj_Convert
Winmodule.so definition of _BMObj_Convert
Menumodule.so definition of _BMObj_Convert

As far as I could  find, that symbol was only used in Qdmodule,
but it seems to be dragged in by it's mention in pymactoolbox.h.
Commenting that out just produces an error on the next symbol.
( In fact, on the first pass, that error was for _BMObj_New )

However, removing those references really won't work (I believe)
because there are  real dependencies present: for example, some
menu or window functions return Resource Objects. 

If none of these are circular, then there is probably an order 
in which the .so 's can be linked against each other that will
work. ( Right now, I've put all the .o files into a static library
which I link against. ) 

Jack: Do you have any tips or clues regarding how this is done in
the OS9 MacPython build ? 


BTW: ColorPicker.GetColor( ... ) puts up the color picker dialog,
 but, although Python is busy and doesn't give another prompt, the
 window doesn't *DO* anything, and I had to kill the process. I
 assume that this is because the unix based main python module 
 doesn't have code to let Modal Dialogs grab events in the main 
 loop. ( In fact, I wonder if my problems with AppKit via the
 ObjC module have something to do with that ? ) 



---|  Steven D. Majewski   (804-982-0831)  <sdm7g@Virginia.EDU>  |---
---|  Department of Molecular Physiology and Biological Physics  |---
---|  University of Virginia             Health Sciences Center  |---
---|  P.O. Box 10011            Charlottesville, VA  22906-0011  |---
		"All operating systems want to be unix, 
		 All programming languages want to be lisp."