Tuesday, May 24, 2011

OsX Lion, cx_Oracle, and pain

Fought all afternoon trying to get cx_Oracle to play nicely with OsX Lion DP3.  It seems that the x86_64 libclntsh.dylib.10.1 library is segfaulting for some reason in Lion.  Finally figured out a solution - install only the i386 libraries, and then force OsX to prefer the i386 library version (though this is a universal setting, so it is not the best solution).

defaults write com.apple.versioner.python Prefer-32-Bit -bool yes

or via shell var:

export VERSIONER_PYTHON_PREFER_32_BIT=yes

2 comments:

  1. I've been running into this problem quite a bit and your post got me halfway there. I use virtual environments for my development and python in a virtualenv bypasses the "Prefer-32-Bit" flag.

    I found the second half of the solution on StackOverflow to remove the 64-bit binary from the virtualenv python.

    I combined the two pieces in my blog post.

    Thanks for your help!

    ReplyDelete
  2. I use virtualenv for 32-bit python (and "lipo" for removing the 64-bit part of "python" executable in that virtual environment). And there are 32-bit libraries compiled for this 32-bit python only, in its own site-packages folder. So I do not interfere with the system-wide 64-bit python.

    ReplyDelete