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