diff -Naur a/obspy.gse2/obspy/gse2/libgse2.py b/obspy.gse2/obspy/gse2/libgse2.py
--- a/obspy.gse2/obspy/gse2/libgse2.py	2012-02-15 01:41:11.246086507 +0400
+++ b/obspy.gse2/obspy/gse2/libgse2.py	2012-02-15 01:34:23.668295285 +0400
@@ -30,6 +30,7 @@
 import doctest
 import warnings
 import numpy as np
+from distutils import sysconfig
 from obspy.core import UTCDateTime
 from obspy.core.util import c_file_p, formatScientific
 
@@ -43,10 +44,7 @@
      # fallback for pre-packaged libraries
     'libgse2']
 # add correct file extension
-if  platform.system() == 'Windows':
-    lib_extension = '.pyd'
-else:
-    lib_extension = '.so'
+lib_extension, = sysconfig.get_config_vars('SO')
 # initialize library
 clibgse2 = None
 for lib_name in lib_names:
diff -Naur a/obspy.mseed/obspy/mseed/headers.py b/obspy.mseed/obspy/mseed/headers.py
--- a/obspy.mseed/obspy/mseed/headers.py	2012-02-15 01:41:11.292751393 +0400
+++ b/obspy.mseed/obspy/mseed/headers.py	2012-02-15 01:34:19.025138893 +0400
@@ -7,6 +7,7 @@
 import numpy as np
 import os
 import platform
+from distutils import sysconfig
 
 
 HPTERROR = -2145916800000000L
@@ -22,10 +23,7 @@
      # fallback for pre-packaged libraries
     'libmseed']
 # add correct file extension
-if  platform.system() == 'Windows':
-    lib_extension = '.pyd'
-else:
-    lib_extension = '.so'
+lib_extension, = sysconfig.get_config_vars('SO')
 # initialize library
 clibmseed = None
 for lib_name in lib_names:
diff -Naur a/obspy.segy/obspy/segy/util.py b/obspy.segy/obspy/segy/util.py
--- a/obspy.segy/obspy/segy/util.py	2012-02-15 01:41:11.239420095 +0400
+++ b/obspy.segy/obspy/segy/util.py	2012-02-15 01:34:24.068280043 +0400
@@ -2,6 +2,7 @@
 import os
 import platform
 from struct import unpack
+from distutils import sysconfig
 
 # Import shared libsegy depending on the platform.
 # create library names
@@ -12,10 +13,7 @@
      # fallback for pre-packaged libraries
     'libsegy']
 # add correct file extension
-if  platform.system() == 'Windows':
-    lib_extension = '.pyd'
-else:
-    lib_extension = '.so'
+lib_extension, = sysconfig.get_config_vars('SO')
 # initialize library
 clibsegy = None
 for lib_name in lib_names:
diff -Naur a/obspy.signal/obspy/signal/headers.py b/obspy.signal/obspy/signal/headers.py
--- a/obspy.signal/obspy/signal/headers.py	2012-02-15 01:41:11.199421621 +0400
+++ b/obspy.signal/obspy/signal/headers.py	2012-02-15 01:34:25.138239269 +0400
@@ -7,6 +7,7 @@
 import numpy as np
 import os
 import platform
+from distutils import sysconfig
 
 
 # Import shared libsignal depending on the platform.
@@ -18,10 +19,7 @@
      # fallback for pre-packaged libraries
     'libsignal']
 # add correct file extension
-if  platform.system() == 'Windows':
-    lib_extension = '.pyd'
-else:
-    lib_extension = '.so'
+lib_extension, = sysconfig.get_config_vars('SO')
 # initialize library
 clibsignal = None
 for lib_name in lib_names:
@@ -45,10 +43,7 @@
      # fallback for pre-packaged libraries
     'libevresp']
 # add correct file extension
-if  platform.system() == 'Windows':
-    lib_extension = '.pyd'
-else:
-    lib_extension = '.so'
+lib_extension, = sysconfig.get_config_vars('SO')
 # initialize library
 clibevresp = None
 for erlib_name in erlib_names:
diff -Naur a/obspy.taup/obspy/taup/util.py b/obspy.taup/obspy/taup/util.py
--- a/obspy.taup/obspy/taup/util.py	2012-02-15 01:41:11.226087271 +0400
+++ b/obspy.taup/obspy/taup/util.py	2012-02-15 01:34:24.544928544 +0400
@@ -6,6 +6,7 @@
 import ctypes as C
 import os
 import platform
+from distutils import sysconfig
 
 
 # Import shared libtaup depending on the platform.
@@ -17,10 +18,7 @@
      # fallback for pre-packaged libraries
     'libtaup']
 # add correct file extension
-if  platform.system() == 'Windows':
-    lib_extension = '.pyd'
-else:
-    lib_extension = '.so'
+lib_extension, = sysconfig.get_config_vars('SO')
 # initialize library
 flibtaup = None
 for lib_name in lib_names:

