diff --git a/iobber/chunker.py b/iobber/chunker.py index 0a2040c4970d3d6d78159c4bc68277429e8d0c6c..3abe7409f16eb1efc64529e9e43c8eef2b036498 100644 --- a/iobber/chunker.py +++ b/iobber/chunker.py @@ -17,18 +17,24 @@ __doc__ = """The actual chunker implementation.""" # SWIG bug workaround: loading multiple SWIG modules brought unwrapped # swig::stop_iteration exceptions import ctypes, sys -if 'setdlopenflags' in sys.__dict__: - sys.setdlopenflags(sys.getdlopenflags() | ctypes.RTLD_GLOBAL) +import platform +if 'Linux' in platform.system(): + # this prevents from problems with multiple SWIG wrappers + # (probably bug in SWIG) and possible problems with locating Maca plugin + dlflags = sys.getdlopenflags() + sys.setdlopenflags(dlflags | ctypes.RTLD_GLOBAL) import corpus2 -# TODO: get back to default dlopen policy? +import corpio, config, classify + +if 'Linux' in platform.system(): + # get back to default dlopen policy + sys.setdlopenflags(dlflags) import os, codecs import ConfigParser from operator import itemgetter as ig -import corpio, config, classify - def get_layers(conf): layers = [(k, v.split(',')) for (k, v) in conf.items(config.S_LAYERS)] for layer in layers: diff --git a/iobber/corpio.py b/iobber/corpio.py index 5304651464b0baf14e050e4ff7f20454237d31cd..e44f92c9fff6d9ce337d59d1332bfd3f34a57541 100644 --- a/iobber/corpio.py +++ b/iobber/corpio.py @@ -15,12 +15,20 @@ # SWIG bug workaround: loading multiple SWIG modules brought unwrapped # swig::stop_iteration exceptions import ctypes, sys -if 'setdlopenflags' in sys.__dict__: - sys.setdlopenflags(sys.getdlopenflags() | ctypes.RTLD_GLOBAL) +import platform +if 'Linux' in platform.system(): + # this prevents from problems with multiple SWIG wrappers + # (probably bug in SWIG) and possible problems with locating Maca plugin + dlflags = sys.getdlopenflags() + sys.setdlopenflags(dlflags | ctypes.RTLD_GLOBAL) import corpus2, wccl # TODO: get back to default dlopen policy? +if 'Linux' in platform.system(): + # get back to default dlopen policy + sys.setdlopenflags(dlflags) + import config import codecs, os diff --git a/setup.py b/setup.py index 352cb03f318508e1ff89e4b7997338584ae9b136..4cb9ca65903d8cd7a78d4b6d511a89b322007665 100755 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ from setuptools import setup setup(name='iobber', - version='1.0.0', + version='1.0.1', description='Chunker for Slavic languages based on CRF++ and WCCL', author= "Adam Radziszewski", author_email="adam.radziszewski@pwr.wroc.pl",