Commit 923daa841dce00c3c3011cfff343788523400f17
1 parent
480fa5d1
Check the LD_LIBRARY_PATH for libopenbr in init_brpy
Showing
1 changed file
with
21 additions
and
7 deletions
scripts/brpy/__init__.py
| @@ -21,13 +21,27 @@ def _handle_string_func(func): | @@ -21,13 +21,27 @@ def _handle_string_func(func): | ||
| 21 | return call_func | 21 | return call_func |
| 22 | 22 | ||
| 23 | def init_brpy(br_loc='/usr/local/lib'): | 23 | def init_brpy(br_loc='/usr/local/lib'): |
| 24 | - """Takes the ctypes lib object for br and initializes all function inputs and outputs""" | ||
| 25 | - br_loc += '/libopenbr.%s' | ||
| 26 | - if os.path.exists(br_loc % 'dylib'): | ||
| 27 | - br = cdll.LoadLibrary(br_loc % 'dylib') | ||
| 28 | - elif os.path.exists(br_loc % 'so'): | ||
| 29 | - br = cdll.LoadLibrary(br_loc % 'so') | ||
| 30 | - else: | 24 | + """Initializes all function inputs and outputs for the br ctypes lib object""" |
| 25 | + | ||
| 26 | + lib_path = os.environ.get('LD_LIBRARY_PATH') | ||
| 27 | + paths = [br_loc] | ||
| 28 | + if lib_path: | ||
| 29 | + paths.extend(lib_path.split(':')) | ||
| 30 | + | ||
| 31 | + found = False | ||
| 32 | + for p in paths: | ||
| 33 | + dylib = '%s/%s.%s' % (p, 'libopenbr', 'dylib') | ||
| 34 | + so = '%s/%s.%s' % (p, 'libopenbr', 'so') | ||
| 35 | + if os.path.exists(dylib): | ||
| 36 | + br = cdll.LoadLibrary(dylib) | ||
| 37 | + found = True | ||
| 38 | + break | ||
| 39 | + elif os.path.exists(so): | ||
| 40 | + br = cdll.LoadLibrary(so) | ||
| 41 | + found = True | ||
| 42 | + break | ||
| 43 | + | ||
| 44 | + if not found: | ||
| 31 | raise ValueError('Neither .so nor .dylib libopenbr found in %s' % br_loc) | 45 | raise ValueError('Neither .so nor .dylib libopenbr found in %s' % br_loc) |
| 32 | 46 | ||
| 33 | plot_args = _var_string_args(1) + [c_bool] | 47 | plot_args = _var_string_args(1) + [c_bool] |