ilastik/ilastik-conda-recipes

PGMlink OSX binary does not include _ceil symbol - CPLEX related?

chaubold opened this issue · 3 comments

I did have tracking in ilastik running using conda at some point, but I do not recall since when it is broken. I am not sure whether this problem is related to changes in pgmlink build settings or the cplex shared library creation.

Possible cause: cplex-shared
I guess I always had libcplex.dylib and the like in the respective search paths of our cplex-shared target thus it never got rebuilt. Now I tried and got trapped when importing pgmlink within python:

ImportError: dlopen(/path/to/miniconda/envs/ilastikdev/lib/python2.7/site-packages/pgmlink.so, 2): Symbol not found: _ceil
  Referenced from: /path/to/miniconda/envs/ilastikdev/lib/python2.7/site-packages/../..//libpgmlink.dylib
  Expected in: /path/to/cplex/cplex/lib/x86-64_darwin/static_pic/libcplex.dylib
 in /path/to/miniconda/envs/ilastikdev/lib/python2.7/site-packages/../..//libpgmlink.dylib

@stuarteberg are you sure you are using conda-created cplex libs here? I've tried to narrow down where that symbol is located in my old buildem setup, but without success.

Tracking works for me, and the only cplex dylibs on my machine were created by conda. (It's a new machine, so I don't have any old dylibs that might accidentally be getting picked up by mistake.)

BTW, there are two versions of cplex available on hci07 (12.5 and 12.6). I'm using 12.6. What version are you using? (Try head $CPLEX_ROOT_DIR/README.html)

If it's a problem that I'm using 12.6, then I'll try downgrading.

PS -- I'm on IRC, if that's helpful...

Using cplex 12.6 instead of 12.5 fixed that problem.

Using cplex 12.6 instead of 12.5 fixed that problem.

So, should I start using CPLEX 12.5 from now on? Which would be nicer for potential users?