caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] ocamlfind on mingw: .exe extensions missing in findlib.conf
@ 2015-10-24 10:21 Soegtrop, Michael
  2015-10-24 11:40 ` Gerd Stolpmann
  2015-10-24 11:46 ` David Allsopp
  0 siblings, 2 replies; 6+ messages in thread
From: Soegtrop, Michael @ 2015-10-24 10:21 UTC (permalink / raw)
  To: caml-list

[-- Attachment #1: Type: text/plain, Size: 1296 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 4420 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Caml-list] ocamlfind on mingw: .exe extensions missing in findlib.conf
  2015-10-24 10:21 [Caml-list] ocamlfind on mingw: .exe extensions missing in findlib.conf Soegtrop, Michael
@ 2015-10-24 11:40 ` Gerd Stolpmann
  2015-10-24 12:08   ` David Allsopp
  2015-10-24 11:46 ` David Allsopp
  1 sibling, 1 reply; 6+ messages in thread
From: Gerd Stolpmann @ 2015-10-24 11:40 UTC (permalink / raw)
  To: Soegtrop, Michael; +Cc: caml-list

[-- Attachment #1: Type: text/plain, Size: 2202 bytes --]

Am Samstag, den 24.10.2015, 10:21 +0000 schrieb Soegtrop, Michael:
> 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 surprising. Windows used to add .exe if missing, so far the
command is looked up via PATH (see
https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx but I admit this page is highly confusing).

Gerd


> 
>  
> 
> 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
> 
> 

-- 
------------------------------------------------------------
Gerd Stolpmann, Darmstadt, Germany    gerd@gerd-stolpmann.de
My OCaml site:          http://www.camlcity.org
Contact details:        http://www.camlcity.org/contact.html
Company homepage:       http://www.gerd-stolpmann.de
------------------------------------------------------------


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [Caml-list] ocamlfind on mingw: .exe extensions missing in findlib.conf
  2015-10-24 10:21 [Caml-list] ocamlfind on mingw: .exe extensions missing in findlib.conf Soegtrop, Michael
  2015-10-24 11:40 ` Gerd Stolpmann
@ 2015-10-24 11:46 ` David Allsopp
  2015-10-25 12:51   ` Gerd Stolpmann
  1 sibling, 1 reply; 6+ messages in thread
From: David Allsopp @ 2015-10-24 11:46 UTC (permalink / raw)
  To: Soegtrop, Michael, caml-list

[-- Attachment #1: Type: text/plain, Size: 1832 bytes --]

You don't need .exe in findlib.conf. However, you're building with mingw64 - there's a bug in findlib which has been fixed (https://github.com/whitequark/ocaml-findlib/commit/1152683d21216fdac7b1a5c3927e5cc25626e9cd) but is not included in the currently released version.

From: caml-list-request@inria.fr [mailto:caml-list-request@inria.fr] On Behalf Of Soegtrop, Michael
Sent: 24 October 2015 11:22
To: caml-list@inria.fr
Subject: [Caml-list] ocamlfind on mingw: .exe extensions missing in findlib.conf

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<http://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

[-- Attachment #2: Type: text/html, Size: 6860 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [Caml-list] ocamlfind on mingw: .exe extensions missing in findlib.conf
  2015-10-24 11:40 ` Gerd Stolpmann
@ 2015-10-24 12:08   ` David Allsopp
  0 siblings, 0 replies; 6+ messages in thread
From: David Allsopp @ 2015-10-24 12:08 UTC (permalink / raw)
  To: Gerd Stolpmann, Soegtrop, Michael; +Cc: caml-list

Gerd Stolpmann wrote:
> Am Samstag, den 24.10.2015, 10:21 +0000 schrieb Soegtrop, Michael:
> > 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 surprising. Windows used to add .exe if missing, so far the
> command is looked up via PATH (see https://msdn.microsoft.com/en-
> us/library/windows/desktop/ms682425(v=vs.85).aspx but I admit this page is
> highly confusing).

I'm not sure it would ever have added it to ocamlc.opt? The .opt extension I think would have always prevented CreateProcess from trying ocamlc.opt.exe.


David 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Caml-list] ocamlfind on mingw: .exe extensions missing in findlib.conf
  2015-10-24 11:46 ` David Allsopp
@ 2015-10-25 12:51   ` Gerd Stolpmann
  2015-10-26  8:57     ` Soegtrop, Michael
  0 siblings, 1 reply; 6+ messages in thread
From: Gerd Stolpmann @ 2015-10-25 12:51 UTC (permalink / raw)
  To: David Allsopp; +Cc: Soegtrop, Michael, caml-list

[-- Attachment #1: Type: text/plain, Size: 2687 bytes --]

A good reminder. Just released findlib-1.5.6 with the fix.

Also, it explains the observed behavior (.exe is/should be appended by
ocamlfind).

Gerd

Am Samstag, den 24.10.2015, 11:46 +0000 schrieb David Allsopp:
> You don’t need .exe in findlib.conf. However, you’re building with
> mingw64 – there’s a bug in findlib which has been fixed
> (https://github.com/whitequark/ocaml-findlib/commit/1152683d21216fdac7b1a5c3927e5cc25626e9cd) but is not included in the currently released version. 
> 
>  
> 
> From: caml-list-request@inria.fr [mailto:caml-list-request@inria.fr]
> On Behalf Of Soegtrop, Michael
> Sent: 24 October 2015 11:22
> To: caml-list@inria.fr
> Subject: [Caml-list] ocamlfind on mingw: .exe extensions missing in
> findlib.conf
> 
> 
>  
> 
> 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
> 
> 

-- 
------------------------------------------------------------
Gerd Stolpmann, Darmstadt, Germany    gerd@gerd-stolpmann.de
My OCaml site:          http://www.camlcity.org
Contact details:        http://www.camlcity.org/contact.html
Company homepage:       http://www.gerd-stolpmann.de
------------------------------------------------------------


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [Caml-list] ocamlfind on mingw: .exe extensions missing in findlib.conf
  2015-10-25 12:51   ` Gerd Stolpmann
@ 2015-10-26  8:57     ` Soegtrop, Michael
  0 siblings, 0 replies; 6+ messages in thread
From: Soegtrop, Michael @ 2015-10-26  8:57 UTC (permalink / raw)
  To: Gerd Stolpmann, caml-list

Dear Gerd,

> A good reminder. Just released findlib-1.5.6 with the fix.

splendid! I just tried it and the new version works as expected.

Thanks & 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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-10-26  8:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-24 10:21 [Caml-list] ocamlfind on mingw: .exe extensions missing in findlib.conf Soegtrop, Michael
2015-10-24 11:40 ` Gerd Stolpmann
2015-10-24 12:08   ` David Allsopp
2015-10-24 11:46 ` David Allsopp
2015-10-25 12:51   ` Gerd Stolpmann
2015-10-26  8:57     ` Soegtrop, Michael

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).