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: Mon, 18 Apr 2016 04:40:22 +0000 (UTC)
- Subject: Re: Invalid relocation for xpdf
- Authentication-results: sourceware.org; auth=none
- References: <1460939423 dot 269224 dot 30670 dot 10877 at mail dot rambler dot ru>
Jaakov Jaakov writes:
> Mark, thanks!
>
> But, unfortunately:
> /usr/bin$ rebase --base=0xf7300000 cygXt-6.dll
> ReBaseImage (/usr/bin/cygXt-6.dll) failed with last error = 6
>
> rebase -i *.dll outputs no stars at all (see the attachment).
>
> Is there, perhaps, a chance for a permanent solution?
Sorry but my suspicion expressed earlier, that there's an address
collision, was incorrect. The rebase source code shows it's a Windows
error code being reported, and it's Windows' ReBaseImage64() function
itself having some issue operating on the cygXt-6.dll file. Do you have
write access to that file and its directory?
The "last error = 6" means ERROR_INVALID_HANDLE and just concerns your
machine. It is unrelated to the root issue of a relocation problem.
A permanent solution would involve somebody debugging why our toolchain
generates relocation entries too small for the address range we support.
Obviously relocation on 64-bit works the vast majority of the time or
we'd be inundated with problem reports. Your report is the easiest way
to demonstrate the root issue so thank you for reporting it!
Anyone curious to dig into this, here's the recipe:
- install xpdf with setup*.exe
- try to run it, no X server needed, no args needed
If it runs without complaint, or runs and complains "Can't open
display", there's no issue on your machine. But if you instead
immediately get a Cygwin runtime error mentioning relocation, you're
seeing this issue.
..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