2009/2/17 Danek Duvall:
>
> On Tue, Feb 17, 2009 at 10:42:00PM +0100, björn wrote:
>
>> The following bit of configure.in looked a bit strange, so I changed
>> it.  No idea what that special "if" for MACOSX does though.
>
> Well, there's that comment:
>
>    dnl For Mac OSX 10.2 config.o is included in the Python library.
>
> Can't speak to its relevance, though.
>
>> gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall
>> -Wno-unknown-pragmas -pipe -I. -Iproto -DMACOS_X_UNIX -no-cpp-precomp
>> -I/Developer/Headers/FlatCarbon  -g -O -D_FORTIFY_SOURCE=1
>> -DDYNAMIC_PYTHON
>> -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5
>> -Kpic -o objects/if_python.o if_python.c
>
> -Kpic is specific to the Sun compiler.  I'm not sure what gcc did with
> that, but it should probably be -fpic.
>
>> gcc  -o if_python.so objects/if_python.o objects/py_config.o
>> Undefined symbols:
>>   "_initimp", referenced from:
>>       __PyImport_Inittab in py_config.o
>>   "_ml_get_buf", referenced from:
>>       _RBSlice in if_python.o
>>       _GetBufferLine in if_python.o
>>   "_u_savesub", referenced from:
>>       _SetBufferLine in if_python.o
>>   "_PyInt_Type", referenced from:
>>       _PyInt_Type$non_lazy_ptr in if_python.o
>>   "_ml_append", referenced from:
>>       _RBAssSlice in if_python.o
>>       _RBAppend in if_python.o
>>       _RBAppend in if_python.o
>>   "_win_setwidth", referenced from:
>>       _WindowSetattr in if_python.o
>>   "_init_symtable", referenced from:
>>       __PyImport_Inittab in py_config.o
>>   "_curwin", referenced from:
>>       _curwin$non_lazy_ptr in if_python.o
>
> This is probably happenine because gcc isn't being told to create a shared
> library.  My patch used -G to pass to Studio cc, but gcc takes -shared.
>
> Not sure if those two changes will be sufficient, but they're likely
> necessary.

Well, this is turning out to be quite complicated.  After quite a bit
of searching I found that passing

-dynamic -undefined suppress -flat_namespace

when linking if_python.so gets rid of all those error messages.  So
the relevant lines inside Makefile should say something like:

$(PYTHON_SO): $(PYTHON_SO_OBJ)
        $(CClink) -dynamic -undefined suppress -flat_namespace
$(PYTHON_SO_LIBS) -o $@ $(PYTHON_SO_OBJ)

However, trying ":py print 'hi'" inside Vim results in a crash (SEGV).
 I know that's not at all helpful but I just wanted to say that I am
trying to get this patch to work on OS X.  To anybody else using OS X:
feel free to help me out here.  At any rate, I'll give this another go
when I get a chance again (next weekend perhaps).

Björn

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui