This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: unison-2.48 build fails with latest ocaml and flexdll (ping: Yaakov, Damien)


> > 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]