diff -up src/module_list.py.orig src/module_list.py --- src/module_list.py.orig 2016-12-21 12:24:59.301116425 -0500 +++ src/module_list.py 2016-12-21 12:25:33.927117751 -0500 @@ -36,7 +36,7 @@ givaro_cflags = pkgconfig.cflags('givaro # GNU Scientific Library # Note we replace the built-in gslcblas with the above cblas gsl_pc = pkgconfig.parse('gsl') -gsl_libs = list(gsl_pc['libraries'].difference(['gslcblas']).union(cblas_libs)) +gsl_libs = list(set(gsl_pc['libraries']).difference(['gslcblas']).union(cblas_libs)) gsl_library_dirs = list(cblas_pc['library_dirs']) gsl_include_dirs = list(gsl_pc['include_dirs']) diff -up src/setup.py.orig src/setup.py --- src/setup.py.orig 2016-12-21 12:26:52.909120775 -0500 +++ src/setup.py 2016-12-21 12:27:00.759121076 -0500 @@ -565,9 +565,9 @@ def run_cythonize(): # Sage uses these directives (mostly for historical reasons). Cython.Compiler.Options.embed_pos_in_docstring = True - Cython.Compiler.Options.directive_defaults['autotestdict'] = False - Cython.Compiler.Options.directive_defaults['cdivision'] = True - Cython.Compiler.Options.directive_defaults['fast_getattr'] = True + Cython.Compiler.Options._directive_defaults['autotestdict'] = False + Cython.Compiler.Options._directive_defaults['cdivision'] = True + Cython.Compiler.Options._directive_defaults['fast_getattr'] = True # The globals() builtin in Cython was fixed to return to the current scope, # but Sage relies on the broken behavior of returning to the nearest # enclosing Python scope (e.g. to perform variable injection).