[Stackless] Trouble linking on Ubuntu Linux

Simon Pickles sipickles at hotmail.com
Sat Jan 12 14:49:55 CET 2008


Well, I made a little progress.

I used grep to find PyChannel_new in:

/home/simon/Source/Stackless/release25-maint/libpython2.5.a (the new 
version including stackless?)

and manually copied it over:

 /usr/local/lib/python2.5/config/libpython2.5.a (the old version without 
stackless?)

Then the program compiles and link! Woot I thought!

However I get a seg fault when running it. The debugger in code::blocks 
IDE with g++ points to a problem quite deep in Py_InitializeEx().

I think my manual copy of the library is bad. How come make install 
didn't do that? I guess I've got two copies of python (at least in 
parts) on my machine:

/usr/local/include/python2.5
/usr/include/python2.5

Is this causing some problem? My linux experience is still limited, so 
not so hot on controlling installation locations etc :)

Thanks for any advice

Simon

Linux user #458601 - http://counter.li.org.



Simon Pickles wrote:
> Hi,
>
> I can't quite get linkage to work with c++ to stackless python, it 
> worked with Cpython. I can use stackless in the python interpreter okay too.
>
> I thought I had rebuilt the boost.python library with stackless 
> included, but it seems not.
>
> I used:
>
> simon at simon-desktop:/usr/local/boost_1_34_1$ sudo bjam --with-python stage
>
> This is building using the python code in /usr/local/include/python2.5 
> (if I move this directory, the above bjam command fails).
>
> bjam runs sucessfully and copies the libs to 
> /usr/local/boost_1_34_1/stage/libs.
>
> However, when I try and integrate a stackless python type like 
> 'PyChannel_new' in c++, it says undefined reference. Note, these 
> commands do not cause an error so I guess I am linking to the old library?
>
>   Py_SetProgramName(argv[0]);
>   Py_InitializeEx(0);
>
> /usr/local/boost_1_34_1/stage/libs is in my linker search path, and I 
> have linked with option -lboost_python. Have I missed something?
>
> Thanks
>
> Simon
>
>
>   






More information about the Stackless mailing list