Dear Ocaml users,

 

I found that ocamlfind (findlib) builds fine for mingw on Cygwin, but it doesn’t work. The issue is that the .exe extensions are missing in the findlib.conf file. This has the effect that most calls to ocamlfind end up in an error message like:

 

$ ocamlfind ocamlc

Uncaught exception: Unix.Unix_error(20, "create_process", "ocamlc.opt")

 

This is easy to fix with a text editor or sed. A more generic fix would be to use whereis/which/where to find ocamlc and friends but nothing is really satisfactory

 

$ whereis ocamlc.opt

ocamlc: /cygdrive/d/bin/ocamlmgw64/bin/ocamlc.exe

 

Finds ocamlc instead of omcalc.opt

 

$ which ocamlc.opt

/cygdrive/d/bin/ocamlmgw64/bin/ocamlc.opt

 

Doesn’t show the extension

 

$ where ocamlc.opt

D:\bin\ocamlmgw64\bin\ocamlc.opt.exe

 

Works but is a windows command.

 

Does someone have an idea how to get the executable names in an elegant and platform independent way?

 

Best regards,

 

Michael

 

Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Prof. Dr. Hermann Eul
Chairperson of the Supervisory Board: Tiffany Doon Silva
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928