caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Soegtrop, Michael" <michael.soegtrop@intel.com>
To: Andreas Hauptmann <andreashauptmann@t-online.de>,
	Alain Frisch <alain.frisch@lexifi.com>,
	"caml-list@inria.fr" <caml-list@inria.fr>
Subject: RE: [Caml-list] flexdll issue with lablgtk
Date: Tue, 27 Oct 2015 09:05:19 +0000	[thread overview]
Message-ID: <0F7D3B1B3C4B894D824F5B822E3E5A172CE33BA4@IRSMSX102.ger.corp.intel.com> (raw)
In-Reply-To: <n0nci6$nmv$1@ger.gmane.org>

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

Dear Andreas, Alain,

since it was already almost through, I finished the flexdll bootstrapping build (get binary flexdll - build Ocaml - build flexdll - rebuild Ocaml) with the modified flexdll sources (patch attached for reference). My build environment is Mingw64 host/target build on Cygwin64.

My observations are:

- Some Ocaml binaries are substantially different between the first and second build (not just different build path). Not sure if this is expected.
- Menhir, CamlP4 and CamlP5 build fine with the second stage Ocaml, but I didn't test if they work. I run all my scripts with "set -o errexit", so I am quite sure that it was successful if it runs through.
- lablgtk make stops essentially with the first build command
 
	make -C src world
	make[1]: Entering directory '/home/soegtrop/OCAML/lablgtk-2.18.3/src'
	ocamlc.opt -c -pp "camlp4o -impl" -impl varcc.ml4
	Fatal error: cannot load shared library dllunix
	Reason: Invalid access to memory location.
	File "varcc.ml4", line 1:
	Error: Error while running external preprocessor
	Command line: camlp4o -impl "varcc.ml4" > D:\bin\cygwin64test\tmp\ocamlppa21f37

So as it looks this change results in a corrupted dllunix library.

I will now try the approach suggested by Andreas.

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: flexdll-0.34.patch --]
[-- Type: application/octet-stream, Size: 1088 bytes --]

diff -c flexdll-0.34.orig/reloc.ml flexdll-0.34.patched/reloc.ml
*** flexdll-0.34.orig/reloc.ml	2015-01-22 17:30:07.000000000 +0100
--- flexdll-0.34.patched/reloc.ml	2015-10-27 09:01:06.146099400 +0100
***************
*** 346,351 ****
--- 346,354 ----
      ) else true
    in
    let section sec =
+     (* M.SOEGTROP: disabled cause of problems with lablgtk for mingw64 build on cygwin.
+        See https://github.com/alainfrisch/flexdll/commit/37e6b5ad904b0d4648cebb09c19ed10e6f8dea28
+        
      if sec.sec_opts &&& 0x1000l <> 0l && has_prefix ".rdata$.refptr." sec.sec_name then
        begin
          (* under Cygwin64, gcc introduces mergable (link once) COMDAT sections to store
***************
*** 354,359 ****
--- 357,363 ----
          sec.sec_opts <- 0xc0500040l;
          sec.sec_name <- Printf.sprintf ".flexrefptrsection%i" (Oo.id (object end));
        end;
+     *)
  
      let min = ref Int32.max_int and max = ref Int32.min_int in
      let sym = lazy (let s = Symbol.intern sec 0l in
Common subdirectories: flexdll-0.34.orig/test and flexdll-0.34.patched/test

  reply	other threads:[~2015-10-27  9:05 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-26 16:43 Soegtrop, Michael
2015-10-26 16:49 ` Alain Frisch
2015-10-27  8:27 ` Andreas Hauptmann
2015-10-27  9:05   ` Soegtrop, Michael [this message]
2015-10-27 10:06   ` Soegtrop, Michael

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=0F7D3B1B3C4B894D824F5B822E3E5A172CE33BA4@IRSMSX102.ger.corp.intel.com \
    --to=michael.soegtrop@intel.com \
    --cc=alain.frisch@lexifi.com \
    --cc=andreashauptmann@t-online.de \
    --cc=caml-list@inria.fr \
    /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 NNTP newsgroup(s).