A J Wilson wrote:
I have experimented some more and I think I have isolated the problem by importing the module into python and playing with the code that uses it (eg db.py and DA.py).
Firstly I found that I had to change some of the environment variables in the Makefile.pre.in to point to where Makdrake 7 stores python (ie /usr rather than /usr/local). Then I made sure that SYBASE and LD_LIBRARY_PATH were set in my shell before compiling the code.
Next I imported sy_occ into python and started playing it (I made sure SYBASE and LD_LIBRARY_PATH were set correctly by inspecting os.environ). I found that in db.py there is a line of code "_context=sy_occ.cs_ctx_alloc()" which when called causes a segmentation fault and a core dump. When this line is commented out Zope can start successfully and thinks that the SybaseDA is correctly installed but obviously it doesn't actually work.
I am using Jeff Rush's rpm version of Zope and have set SYBASE and LD_LIBRARY_PATH through .bashrc in user zope's home directory. Does this sound like the right way to do it?
I put it in the zope startup script, myself. I also put it in the Zope.cgi fle just to be sure. Remember that unless otherwise told to, Zope runs as nobody.