This is the mail archive of the cygwin 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: Rebase issues with cygwin RMagick


Bjarne Christiansen wrote:

> I have created a simple rmagick  ruby script, which works fine, but
> when I get to get input from wxcocoadialog (a gui dialog) I run into
> the "good" old "unable to remap" issue. I'm usually able to fix these
> kind of issues by doing a rebaseall, but not this time :-( I have also
> tried to reinstall cygwin, imagemagick and rmagick, but nothing seems
> to help. The script worked fine a couple of weeks ago, so I'm assuming
> that it's caused by a recent cygwin update(?)

rebaseall only knows about DLLs that are installed as packages through
setup.exe.  rmagick is not a package, and thus its DLL is not being
rebased.  You need to use the -T option to rebaseall to supply a file
containing a list of all extra DLLs that should be rebased.

> It seems that the --enable-auto-image-base flag has been set for ruby
> and imagemagick...

That would be the preferred solution.  However it's clear from your
error message below that rmagick.so was not compiled with
--enable-auto-image-base, so when you build that you need to set the
LDFLAGS or CFLAGS (or however the build system does it) so that it is
used when linking.  In order for auto image base system to work, all
DLLs have to be compiled with the option, not just some.

>     8374 [main] ruby 3516 C:\cygwin\bin\ruby.exe: *** fatal error -
> unable to remap C:\cygwin\lib\ruby\site_ruby\1
> .8\i386-cygwin\RMagick.so to same address as parent(0x3A000) != 0x1C980000
>       5 [main] ruby 5524 fork: child 3516 - died waiting for dll
> loading, errno 11
> 1192542 [main] ruby 884 C:\cygwin\bin\ruby.exe: *** fatal error -
> unable to remap
> C:\cygwin\lib\ruby\site_ruby\1.8\i386-cygwin\RMagick.so to same
> address as parent(0x3A000) != 0x1C980000

0x3a000 implies that this DLL was not given an imagebase (or it was
given some default value like 0x10000000) which means it's going to be
relocated and thus fail on fork.

Brian

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


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