diff --git a/configure.ac b/configure.ac
index 4f21f4292..e3d37c1cc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -184,7 +184,6 @@ AC_ASSERT_OCAML_PKG([atdgen], [], [1.6.0])
 AC_ASSERT_OCAML_PKG([biniou])
 AC_ASSERT_OCAML_PKG([camlzip], [zip])
 AC_ASSERT_OCAML_PKG([easy-format])
-AC_ASSERT_OCAML_PKG([extlib], [], [1.5.4])
 AC_ASSERT_OCAML_PKG([oUnit], [], [2.0.0])
 AC_ASSERT_OCAML_PKG([reason])
 AC_ASSERT_OCAML_PKG([yojson])
diff --git a/infer/.merlin b/infer/.merlin
index eb5ab3364..6e80d2634 100644
--- a/infer/.merlin
+++ b/infer/.merlin
@@ -2,7 +2,6 @@ S src/**
 B _build/infer/**
 PKG atdgen
 PKG core
-PKG extlib
 PKG javalib
 PKG ounit
 PKG ppx_compare
diff --git a/infer/src/Makefile b/infer/src/Makefile
index 1c70877a9..8ad34f4f1 100644
--- a/infer/src/Makefile
+++ b/infer/src/Makefile
@@ -37,7 +37,7 @@ OCAMLBUILD_OPTIONS = \
   -tag-line "<*{clang/clang_ast_*,backend/jsonbug_*,checkers/stacktree_*}>: warn(-27-32-35-39)" \
   -tag-line "<*/{,*/}*.{ml,re}{,i}>: package(ppx_compare)" \
   -tag thread \
-  -pkgs atdgen,core,ctypes.foreign,extlib,oUnit,str,unix,yojson,zip
+  -pkgs atdgen,core,ctypes.foreign,oUnit,str,unix,yojson,zip
 
 ifeq ($(ENABLE_OCAML_ANNOT),yes)
 OCAMLBUILD_OPTIONS += -cflags -annot
@@ -228,10 +228,10 @@ test_build: init $(STACKTREE_ATDGEN_STUBS) $(INFERPRINT_ATDGEN_STUBS) $(CLANG_AT
 # to generate interface file.mli from implementation file.ml execute:
 #   make M=file mli
 mli:
-	ocamlfind ocamlc -package atdgen,extlib,oUnit,str,unix,yojson,zip $(addprefix -I ../_build/infer/,$(DEPENDENCIES)) -i $(M).ml > $(M).mli
+	ocamlfind ocamlc -package atdgen,oUnit,str,unix,yojson,zip $(addprefix -I ../_build/infer/,$(DEPENDENCIES)) -i $(M).ml > $(M).mli
 
 rei:
-	ocamlfind ocamlc -package atdgen,extlib,oUnit,str,unix,yojson,zip $(addprefix -I ../_build/infer/,$(DEPENDENCIES)) -i -pp refmt -impl $(M).re > $(M).rei
+	ocamlfind ocamlc -package atdgen,oUnit,str,unix,yojson,zip $(addprefix -I ../_build/infer/,$(DEPENDENCIES)) -i -pp refmt -impl $(M).re > $(M).rei
 
 # convert to reason
 %.re : %.ml
diff --git a/infer/src/integration/CaptureCompilationDatabase.ml b/infer/src/integration/CaptureCompilationDatabase.ml
index aaf0df065..c32c4db75 100644
--- a/infer/src/integration/CaptureCompilationDatabase.ml
+++ b/infer/src/integration/CaptureCompilationDatabase.ml
@@ -104,7 +104,7 @@ let get_compilation_database_files_buck () =
        let buck_targets_list = buck :: "targets" :: "--show-output" :: args_with_flavor in
        let buck_targets = String.concat ~sep:" " buck_targets_list in
        try
-         match fst @@ Utils.with_process_in buck_targets Std.input_list with
+         match fst @@ Utils.with_process_in buck_targets In_channel.input_lines with
          | [] -> Logging.stdout "There are no files to process, exiting."; exit 0
          | lines ->
              Logging.out "Reading compilation database from:@\n%s@\n" (String.concat ~sep:"\n" lines);
diff --git a/opam b/opam
index 2ac1bf191..a7df85a83 100644
--- a/opam
+++ b/opam
@@ -31,7 +31,6 @@ depends: [
   "conf-autoconf"
   "ctypes" {>="0.9.2"}
   "ctypes-foreign" {>="0.4.0"}
-  "extlib-compat" {>="1.5.4"}
   "javalib" {>="2.3.3"}
   "ocamlfind" {build}
   "ounit" {="2.0.0"}
diff --git a/package.json b/package.json
index f7a25a29d..d2baa861e 100644
--- a/package.json
+++ b/package.json
@@ -19,7 +19,6 @@
     "@opam-alpha/sawja": "^ 1.5.2",
     "@opam-alpha/atdgen": "^ 1.10.0",
     "@opam-alpha/javalib": "^ 2.3.3",
-    "@opam-alpha/extlib-compat": "1.7.0",
     "@opam-alpha/ounit": "2.0.0",
     "@opam-alpha/ocp-indent": "1.5.3",
     "reason-ide-toolkit": "^ 1.2.0",
diff --git a/scripts/toplevel_init b/scripts/toplevel_init
index 86383c577..1309c7ad7 100644
--- a/scripts/toplevel_init
+++ b/scripts/toplevel_init
@@ -6,7 +6,6 @@
 #require "ctypes.foreign";;
 #require "sawja";;
 #require "atdgen";;
-#require "extlib";;
 
 (* load infer code *)
 #load_rec "toplevel.cmo";;