public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: William Hu <purplearmadillo77@proton.me>
To: David Allsopp <David.Allsopp@cl.cam.ac.uk>
Cc: Jon Turney <jon.turney@dronecode.org.uk>,
	"cygwin-apps@cygwin.com" <cygwin-apps@cygwin.com>
Subject: RE: [ITA] ocaml 4.14.0
Date: Fri, 15 Jul 2022 03:20:31 +0000	[thread overview]
Message-ID: <jXrsTT_0fqe86JzCrG6bXynPtOcizfg58BUcqR27JdBLOv0KMn90JnpZarWA4yjKTqfUxIGgHApjKcpEfAxoSBoWU3ZFXHv1CBiIoO4RbpA=@proton.me> (raw)
In-Reply-To: <bf3b4d528c78450691dd4ac6f48b4790@metastack.com>

Hi David,

> I think this down to neglect - the PIC/shared versions of the runtime were contributed for a specific purpose and aren't properly maintained/tested AFAICT.
>
> I'm not sure that libcamlrun_shared can ever have worked on Cygwin, at least certainly not since OCaml 3.11 (which is a loooong time ago). The patch builds cygcamlrun_shared.dll as a plugin DLL - so the symbols will have been stripped and moved into symtbl (hence the huge number of missing symbols when linking against it when it gets passed to a normal linker).
>
> What normally happens with flexlink is that either an executable or a "main program DLL" (compiled with flexlink -maindll) would receive that symtbl from a DLL it flexdll_dlopen's and the DLL receives static_symtbl from the executable. That then means that the DLL can relocate any symbols it expected from the main executable and any other flexdll_dlopen'd DLLs. However, that's all meant to happen at runtime - I don't think flexlink has ever supported compiling an executable itself which must flexdll_dlopen DLLs before its main function.
>
> I think it's quite feasible to add that to flexlink, but it's not a small piece of work - in the meantime I'd suggest instead deleting the BYTECODE_SHARED_LIBRARIES += and NATIVE_SHARED_LIBRARIES += lines in runtime/Makefile instead of patching them.

Duly noted. Thanks for the explanation!

>
> Would you be able to send the entire config.log file (off-list is fine!). I'm not seeing this at all in Cygwin32 here!
>
> All best,
>
>
> David

Config.log sent :) On another note, on x86_64, 16 of the testsuite tests are failing:
    tests/lib-scanf-2/'tscanf2_master.ml' with 1.1.1.1.1.1 (run)
    tests/lib-unix/common/'cloexec.ml' with 1.1.1.1.1.1.1 (run)
    tests/lib-systhreads/'testfork.ml' with 1.1.1.1 (bytecode)
    tests/tool-debugger/basic/'debuggee.ml' with 1.1.1.1.1.1.1 (check-program-output)
    tests/lib-unix/common/'process_pid.ml' with 1.1 (bytecode)
    tests/tool-debugger/dynlink/'host.ml' with 1.1.1.1.1.1.1.2.1 (check-program-output)
    tests/lib-unix/common/'pipe_eof.ml' with 1.1 (bytecode)
    tests/lib-unix/common/'wait_nohang.ml' with 1.1.1.1.1.1 (run)
    tests/tool-debugger/find-artifacts/'debuggee.ml' with 1.1.1.1.1.1.1.1.1.1 (check-program-output)
    tests/c-api/'alloc_async.ml' with 1 (native)
    tests/c-api/'alloc_async.ml' with 2 (bytecode)
    tests/lib-unix/common/'test_unix_cmdline.ml' with 1.1.1.1.1.1 (run)
    tests/lib-unix/common/'redirections.ml' with 1.1.1.1.1.1 (run)
    tests/tool-debugger/module_named_main/'main.ml' with 1.1.1.1.1.1.1 (check-program-output)
    tests/tool-debugger/no_debug_event/'noev.ml' with 1.1.1.1.1.1.1.1.1.1 (check-program-output)
    tests/tool-debugger/printer/'debuggee.ml' with 1.1.1.2.1.1.1 (check-program-output)

Two are innocuous "unused variable" warnings, but the others are of this form:

> Loading program...       0 [main] ocamlrun 40657 child_info_fork::abort: address space needed by 'dllunix.so' (0x400000) is already occupied
> Unix error: 'fork' failed: Resource temporarily unavailable

Github issues (e.g., https://github.com/ocaml/opam/issues/3785) have encountered
this error before, but the issue seems to imply it's been resolved. Are these test
failures expected/known (to be fair, 16 is a small number compared to 3000)? I can
send the test log too if that helps.

Thanks,
William


  reply	other threads:[~2022-07-15  3:20 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-04  2:03 William Hu
2022-07-04 17:03 ` Jon Turney
2022-07-05  0:42   ` William Hu
2022-07-05 19:44     ` Jon Turney
2022-07-13  2:56       ` William Hu
2022-07-13 15:41         ` David Allsopp
2022-07-14  3:36           ` William Hu
2022-07-14 14:56             ` David Allsopp
2022-07-15  3:20               ` William Hu [this message]
2022-07-16 14:22           ` Jon Turney
2022-07-23 16:38             ` William Hu
2022-07-31 14:52               ` Jon Turney
2022-08-07  2:26                 ` William Hu
2022-08-23 20:00             ` David Allsopp
2022-08-24  9:20               ` Corinna Vinschen
2022-08-24  9:28                 ` David Allsopp
2022-08-24  9:28                   ` David Allsopp
2022-08-24 10:04                   ` Corinna Vinschen
2022-07-16 14:05         ` Jon Turney
2022-07-17 20:56           ` William Hu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='jXrsTT_0fqe86JzCrG6bXynPtOcizfg58BUcqR27JdBLOv0KMn90JnpZarWA4yjKTqfUxIGgHApjKcpEfAxoSBoWU3ZFXHv1CBiIoO4RbpA=@proton.me' \
    --to=purplearmadillo77@proton.me \
    --cc=David.Allsopp@cl.cam.ac.uk \
    --cc=cygwin-apps@cygwin.com \
    --cc=jon.turney@dronecode.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).