diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 908ae8a1948f1603a86099af50b6e9718db746ea..1164873ecc0e4f27516ee8c9e5c0853b27e7e671 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -15061,6 +15061,13 @@ (define-public vcflib
      `(#:tests? #f ; no tests
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'build-shared-library
+           (lambda _
+             (substitute* "CMakeLists.txt"
+               (("vcflib STATIC") "vcflib SHARED"))
+             (substitute* "test/Makefile"
+               (("libvcflib.a") "libvcflib.so"))
+             #t))
          (add-after 'unpack 'unpack-submodule-sources
            (lambda* (#:key inputs #:allow-other-keys)
              (let ((unpack (lambda (source target)