E-Cell 3 on OS X

This page details the trials and tribulations of trying to get E-Cell 3 built and running on OS X.

Building on OS X

There was some kind of a problem Moriyoshi and I worked out at the workshop, regarding a bug in the standard C++ library version I had been using. It was something related to using the find function inside a completely const member function of DynamicPriorityQueue?. The hashmap code provided in the STL version I had wasn't properly constified, so this was causing a compile error. Fixing the STL code solved this (version 4.0.0 on Mac OS X).

Running on OS X

*NJA* I can complete the build, but trying to run anything fails with some kind of apparent name mangling error (says {{{"ImportError?: dlopen(/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/ecell/_ecs.so, 2): Symbol not found: ZN6libecs22throwSequenceSizeErrorEii

Referenced from: /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/ecell/_ecs.so Expected in: flat namespace"}}}

Loading python and running "from ecs import *", I get the error message "RuntimeWarning: Python C API version mismatch for module _ecs: This Python has API version 1013, module _ecs has version 1012.", so it seems likely this is causing the problem. I am updating my version of Python (was using stackless 2.5) to plain vanilla mac os x to see if that works. Update: it didn't. Now I am updating my version of fink's boost-python, which upon inspection appears to have been configured to work with python 2.3.