In /usr/bin/mkcamlp5.opt line 4: OLIB=`ocamlc -where` ^--^ SC2034: OLIB appears unused. Verify use (or export if used externally). ^-------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: OLIB=$(ocamlc -where) In /usr/bin/mkcamlp5.opt line 7: INTERFACES= ^--------^ SC2034: INTERFACES appears unused. Verify use (or export if used externally). In /usr/bin/mkcamlp5.opt line 30: ocamlopt -I $LIB odyl.cmxa camlp5.cmxa $INCL $OPTS odyl.cmx -linkall ^---^ SC2086: Double quote to prevent globbing and word splitting. ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: ocamlopt -I $LIB odyl.cmxa camlp5.cmxa "$INCL" "$OPTS" odyl.cmx -linkall For more information: https://www.shellcheck.net/wiki/SC2034 -- INTERFACES appears unused. Verify... https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ... https://www.shellcheck.net/wiki/SC2006 -- Use $(...) notation instead of le...