Partial success Re: [C++-sig] boost.python on OS X 10.3 (Panther)

Bob Ippolito bob at redivi.com
Wed Nov 5 03:15:56 CET 2003


On Nov 4, 2003, at 8:48 PM, Rene Rivera wrote:

> [2003-11-04] Bob Ippolito wrote:
>
>
>> That's because it's wrong, this is right:
>> c++ -bundle -framework Python -o libtbx/list_ext.so
>> boost/libs/python/test/list.os -Llibtbx
>> -L/net/worm/scratch1/rwgk/hot/libtbx -lboost_python -lm
>
> It would help if you exmplain why it's right.
>
> Is it because the "-framework Python" has to come before the 
> "list.os"; Or
> because it has to come before the "-lboost_python"; Or is the order 
> relevant
> at all?
>
> Looking for understanding here ;-)

It's wrong because there was *no* "-framework Python", it doesn't 
matter so much where it is.  He didn't follow my "should be" example 
exactly, so I repeated it, sorry for the reordering confusion.

"_PyEval_CallFunction defined in indirectly referenced dynamic library" 
means that he tried to steal a reference to Python.framework via 
libboost_python, you can't do that with two level namespaces (unless 
libboost_python was an umbrella for Python.framework, which it is not 
and should not be).  You have to have direct references to the symbols 
that you use, as I said before when I spoke briefly about two level 
namespaces.

-bob





More information about the Cplusplus-sig mailing list