This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Invalid relocation for xpdf
- From: Mark Geisert <mark at maxrnd dot com>
- To: cygwin at cygwin dot com
- Date: Sun, 17 Apr 2016 04:46:29 +0000 (UTC)
- Subject: Re: Invalid relocation for xpdf
- Authentication-results: sourceware.org; auth=none
- References: <1111438834 dot 462634 dot 961ea0e5-8785-4a9b-803a-599a405ed7c7 dot open-xchange at email dot 1und1 dot de>
Tobias Zawada writes:
> Hello all,
> first of all thanks for cygwin! It is very useful to me.
>
> I get the runtime errors of the following kind for some time now:
>
> Cygwin runtime failure: /usr/bin/xpdf.exe: Invalid relocation. Offset
> 0x2f7fdbad9 at address 0x100494523 doesn't fit into 32 bits
>
> Killing all cygwin processes and running rebaseall from dash does not
help.
>
> I've installed the source package for xpdf and compiled it. This
version runs
> fine (from /usr/local/bin/xpdf). So I have a workaround and it is not
a blocker
> for me. Thank you for looking at the problem though.
I've reproduced this. The source code at XPDFTree.cc:218 compiles into
a reference of XtInherit(), in the cygXt-6.dll. Unfortunately the
relocation needed to reach that library up where rebase puts it is too
big to fit in the space the compiler/linker left for it. You can solve
this issue by rebasing cygXt-6.dll. Here's what I did for example:
/usr/bin# rebase -i cygXt*
/usr/bin/cygXt-6.dll base 0x0003ffa70000 size 0x00058000
/usr/bin# rebase --base=0x0ffa70000 cygXt-6.dll
/usr/bin# rebase -i cygXt*
/usr/bin/cygXt-6.dll base 0x0000ffa70000 size 0x00058000
xpdf seems to run fine after that. If you solve your issue this way,
you'll have to repeat it after every run of setup*.exe because it'll
rebase the library up out of range again automatically :-( .
I've run into the same issue with libgmp used by some other app. I
wonder why our toolchain generates relocation entries that cannot be
resolved properly at runtime given the huge address space we use on 64-
bit Windows.
..mark
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple