--- swig/export.cpp	2015-02-27 21:14:36.000000000 +0900
+++ swig/export.cpp	2015-02-27 21:06:34.000000000 +0900
@@ -279,10 +279,10 @@
         retrieve_thru(dbr, query, this->measure, this->threshold, std::back_inserter(ret));
         break;
     case 2:
-        retrieve_iconv<uint16_t>(dbr, query, UTF16, this->measure, this->threshold, std::back_inserter(ret));
+        throw std::runtime_error("UTF16 not supported in OSX python bindings because of libc++ incompatibility");
         break;
     case 4:
-        retrieve_iconv<uint32_t>(dbr, query, UTF32, this->measure, this->threshold, std::back_inserter(ret));
+        throw std::runtime_error("UTF32 not supported in OSX python bindings because of libc++ incompatibility");
         break;
     }
 
@@ -296,18 +296,8 @@
     if (dbr.char_size() == 1) {
         std::string qstr = query;
         return dbr.check(qstr, translate_measure(this->measure), this->threshold);
-    } else if (dbr.char_size() == 2) {
-        std::basic_string<uint16_t> qstr;
-        iconv_t fwd = iconv_open(UTF16, "UTF-8");
-        iconv_convert(fwd, std::string(query), qstr);
-        iconv_close(fwd);
-        return dbr.check(qstr, translate_measure(this->measure), this->threshold);
-    } else if (dbr.char_size() == 4) {
-        std::basic_string<uint32_t> qstr;
-        iconv_t fwd = iconv_open(UTF32, "UTF-8");
-        iconv_convert(fwd, std::string(query), qstr);
-        iconv_close(fwd);
-        return dbr.check(qstr, translate_measure(this->measure), this->threshold);
+    } else {
+        throw std::runtime_error("UTF16/32 not supported in OSX python bindings because of libc++ incompatibility");
     }
     
     return false;
--- swig/python/sample_unicode.py.orig	2015-02-27 21:06:34.000000000 +0900
+++ swig/python/sample_unicode.py	2015-02-28 19:33:29.000000000 +0900
@@ -11,8 +11,8 @@
 
 import simstring
 
-# Open a SimString database for writing with Unicode mode.
-db = simstring.writer('sample_unicode.db', 3, False, True)
+# Open a SimString database for writing.
+db = simstring.writer('sample_unicode.db')
 
 # Write a string, and close the database.
 db.insert('スパゲティ')
--- swig/python/setup.py.in.orig	2015-02-28 20:08:27.000000000 +0900
+++ swig/python/setup.py.in	2015-02-28 20:06:41.000000000 +0900
@@ -15,9 +15,6 @@
 def get_swigdir():
     return os.path.join(get_rootdir(), 'swig')
 
-import os; os.environ['CC'] = 'g++'; os.environ['CXX'] = 'g++';
-os.environ['CPP'] = 'g++'; os.environ['LDSHARED'] = 'g++'
-
 from distutils.core import setup, Extension
 
 simstring_module = Extension(
@@ -27,7 +24,6 @@
         'export_wrap.cpp',
         ],
     include_dirs=[get_includedir(),],
-    extra_link_args=['-shared'],
     language='c++',
     )