This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: unison-2.48 build fails with latest ocaml and flexdll (ping: Yaakov, Damien)
- From: Andrew Schulman <schulman dot andrew at epa dot gov>
- To: cygwin-apps at cygwin dot com
- Date: Sat, 30 Apr 2016 07:54:08 -0400
- Subject: Re: unison-2.48 build fails with latest ocaml and flexdll (ping: Yaakov, Damien)
- Authentication-results: sourceware.org; auth=none
- References: <da9ihbhqq10li34euc21httcri45rgq28i at 4ax dot com> <h1hvhblmsho84o6ofuetks19agfo3u9ro4 at 4ax dot com> <h1hvhblmsho84o6ofuetks19agfo3u9ro4-e09XROE/p8c at public dot gmane dot org> <18002c59-1b77-5912-f5fa-c3e39540b8d8 at gmail dot com> <41t6ibtbcojbmar8blrc80fk8tmplbbuj3 at 4ax dot com> <41t6ibtbcojbmar8blrc80fk8tmplbbuj3-e09XROE/p8c at public dot gmane dot org> <5723B6C7 dot 8090100 at maxrnd dot com>
> 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 thank you! to everyone who helped on this. I'm just a poor package maintainer
and this stuff is a bit over my head.
Damien: OCaml is broken OOTB in x86_64. dllunix.so and dllcamlstr.so need to be
rebased before it will work.
Andrew