diff --git a/var/spack/repos/builtin/packages/suite-sparse/package.py b/var/spack/repos/builtin/packages/suite-sparse/package.py
index 22f069885d4aa115127e623c529ee8e302e5fb3f..d6d8f71313a4889a0ecbae1c39f8f1710d51a975 100644
--- a/var/spack/repos/builtin/packages/suite-sparse/package.py
+++ b/var/spack/repos/builtin/packages/suite-sparse/package.py
@@ -36,6 +36,7 @@ class SuiteSparse(Package):
     version('4.5.1', 'f0ea9aad8d2d1ffec66a5b6bfeff5319')
 
     variant('tbb', default=True, description='Build with Intel TBB')
+    variant('fpic', default=True, description='Build position independent code (required to link with shared libraries)')
 
     depends_on('blas')
     depends_on('lapack')
@@ -63,6 +64,8 @@ def install(self, spec, prefix):
             'CXX=c++',
             'F77=f77',
         ])
+        if '+fpic' in spec:
+            make_args.extend(['CFLAGS=-fPIC', 'FFLAGS=-fPIC'])
 
         # use Spack's metis in CHOLMOD/Partition module,
         # otherwise internal Metis will be compiled