Apologies, meant to click reply-all. Hi Jon, Thanks for all of the detailed feedback - I'll test the package more thoroughly next time. 1) libcamlrun: Oops, that's another oversight, forgot to look at the old patches. The other 3 patches seem unnecessary, but I had trouble linking either libcamlrun_shared.so or libcamlrun_shared.dll.a into a program (unresolved symbol errors). Added but it possibly needs further patching. I'll keep on digging. 1.5) I checked for other differences between the cygports to make sure I didn't miss anything else. I made some edits to src_install: I removed `dodoc Updating` since there doesn't seem to be a file named "Updating". I also removed symlinking header files to /usr/include. From what I understood, the OCaml documentation says the headers should "reside in the caml/ subdirectory of the OCaml standard library directory, which is returned by the command ocamlc -where (usually /usr/local/lib/ocaml or /usr/lib/ocaml)". Obviously the symlink doesn't move anything, but since their location is well documented I didn't see a reason to have the extra symlinks. Please let me know if this is too large of a change or there's a Cygwin (or non-Cygwin) convention that precludes this - I'm still getting the hang of this. 2) fma on x86: I'm actually getting the same error, but the tests should ostensibly pass on Cygwin32. I'll also look into this. 3) Interesting - on my machine, the camlheader[di] files had the .exe extensions. I did some digging around and found the files are *built* without the .exe suffix, and even *initially installed* without the .exe suffix, but ultimately come out with the .exe suffix. I ran cyport in debug mode and apparently the files are being renamed with the suffix post-install: + case "${exe##*/}" in + mv usr/lib/ocaml/camlheaderd usr/lib/ocaml/camlheaderd.exe + exe+=.exe and did a little more digging and I think these lines in cygport are the cause: https://github.com/cygwin/cygport/blob/096f27644bd3b28f29d7522e816bebd327cf24cb/lib/src_postinst.cygpart#L1010 On the topic of "testing more thoroughly", I attempted to use ocamlc to compile a simple program and it fails with "Cannot find file camlheader" but works when I remove the ".exe", so it seems that the presence of the .exe suffixes breaks the compiler. Is there a way to prevent cygport from adding it? 4) Thanks for the catch. Added --enable-ocamltest to the cygport. William ------- Original Message ------- On Tuesday, July 5th, 2022 at 3:44 PM, Jon Turney wrote: > On 05/07/2022 01:42, William Hu via Cygwin-apps wrote: > > > Hi Jon, > > > > Oops, sorry about that. The patch and updated cygport are now attached. > > Sending SSH key shortly. > > > Thanks. > > Firstly, I notice that you dropped 4.10.0-libcamlrun_shared.patch. Can > you explain the reasoning behind that? > > (After a bit of digging, I found this mail > https://cygwin.com/pipermail/cygwin/2010-October/191524.html which > explains the rationale behind it) > > Next, when I try to build this: > > on x86: > > > checking whether fma works... no > > configure: error: fma does not work, enable emulation with --enable-imprecise-c99-float-ops > > > I guess perhaps that configure option needs to be conditionally used on x86? > > > > > > ocaml-runtime-4.14.0-1.tar.xz > > > > > usr/bin/ocamlrun.exe > > > > > usr/bin/ocamlrund.exe > > > > > usr/bin/ocamlruni.exe > > > > > tar: usr/lib/ocaml/camlheader[di].exe: Cannot stat: No such file or directory > > [...] > > > tar: Exiting with failure status due to previous errors > > *** ERROR: Binary package creation failed: ocaml-runtime > > > camlheader[di] are made without the .exe extensions (you've changed the > cygport to add the exe, so maybe this was wrong before as they are > executables) > > I'm not sure if that's a missing bit of patching or something different > in your environment? > > > $ cygport ocaml.cygport test > > > > > > > Testing ocaml-4.14.0-1.x86_64 > > > > > Makefile:162: *** ocamltest not found in ../ocamltest. Stop. > > > > > make: *** [Makefile:156: all] Error 2 > > > > > *** ERROR: make failed > > > Seems like this requires the --enable-ocamltest configure option?