From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 74928 invoked by alias); 24 Feb 2017 18:15:49 -0000 Mailing-List: contact cygwin-apps-help@cygwin.com; run by ezmlm Precedence: bulk Sender: cygwin-apps-owner@cygwin.com List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Mail-Followup-To: cygwin-apps@cygwin.com Received: (qmail 74896 invoked by uid 89); 24 Feb 2017 18:15:48 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.0 required=5.0 tests=BAYES_20,KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 spammy=cygxt6dll, cygxt-6.dll, UD:cygXt-6.dll, bald X-HELO: blaine.gmane.org Received: from Unknown (HELO blaine.gmane.org) (195.159.176.226) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 24 Feb 2017 18:15:47 +0000 Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1chKOw-000346-71 for cygwin-apps@cygwin.com; Fri, 24 Feb 2017 19:15:30 +0100 To: cygwin-apps@cygwin.com From: Andrew Schulman Subject: Re: unison-2.48 build fails with latest ocaml and flexdll (ping: Yaakov, Damien) Date: Fri, 24 Feb 2017 18:15:00 -0000 Message-ID: <5mt0bcpirrh22jobp0qtm5q0hsfqqncjt8@4ax.com> References: <18002c59-1b77-5912-f5fa-c3e39540b8d8@gmail.com> <41t6ibtbcojbmar8blrc80fk8tmplbbuj3@4ax.com> <41t6ibtbcojbmar8blrc80fk8tmplbbuj3-e09XROE/p8c@public.gmane.org> <5723B6C7.8090100@maxrnd.com> <2169ibt34ifh3cr6s63bovbnb3ed485lj1@4ax.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Archive: encrypt X-IsSubscribed: yes X-SW-Source: 2017-02/txt/msg00024.txt.bz2 > > A bald xpdf run failed with... > > Cygwin runtime failure: /usr/bin/xpdf.exe: Invalid relocation. Offset > > 0x2fb02bad9 at address 0x100494523 doesn't fit into 32 bits > > I rebased /usr/bin/cygXt-6.dll from 0x0003fb480000 down to 0x0000fb480000, i.e. > > just turn the first 3 in the address to 0, and that allowed xpdf to run. > > So I tried this, moving dllunix.so from 0x3e6440000 down to 0xe6440000: > > $ rebase -i /usr/lib/ocaml/stublibs/dllunix.so > /usr/lib/ocaml/stublibs/dllunix.so base 0x0003e6440000 size 0x0004b000 > > $ rebase -b 0xe6440000 /usr/lib/ocaml/stublibs/dllunix.so > > $ rebase -i /usr/lib/ocaml/stublibs/dllunix.so > /usr/lib/ocaml/stublibs/dllunix.so base 0x0000e6440000 size 0x0004b000 > > The build still failed, so I moved it down further, to 0x06440000. After that > the build still failed but on a different DLL, > /usr/lib/ocaml/stublibs/dllcamlstr.so. So I rebased that one too, down to > 0x06510000. And finally the build succeeded! (Well, it still failed, but in a > source code problem, not a DLL problem.) So to follow up on this old thread: The commands to make ocaml work again in x86_64 are rebase -b 0x06440000 /usr/lib/ocaml/stublibs/dllunix.so rebase -b 0x06510000 /usr/lib/ocaml/stublibs/dllcamlstr.so > Damien: OCaml is broken OOTB in x86_64. dllunix.so and dllcamlstr.so need to be > rebased before it will work. This is still true today. The above commands will probably have to be rerun each time you use ocaml, since updating packages usually runs rebaseall which undoes the above. Andrew