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]

rebaseall/peflagsall/perlrebase - which is the recommended way using CPAN modules


Hello,

I'm using latest snapshot and all installed cygwin packages are up to date.
All categories except KDE, GNOME, AUDIO and GAMES are installed.

$ uname -a
CYGWIN_NT-6.1-WOW64 PCFX061 1.7.10s(0.259/5/3) 20120201 05:28:17 i686 Cygwin

And I've installed an build some CPAN modules.

rebaseall and peflagsall are run - cause of other fork failures nad runing 
WIN7/64.

But there are still some fork errors (not reproducabale) - perhaps of not 
using perlrebase.

In posting http://thread.gmane.org/gmane.os.cygwin/130879/focus=130884 I've 
found an information that all perl modules
have to be rebased together with perlrebase on top of rebaseall.

So I take a deeper look into the perl rebase script and read some postings 
regarding having
problems with fork error.

perlrebase will rebase all releated perl5 DLLs together to a address range. 
This address range should be 
below the address range used by rebaseall and there has to be free memory 
space below the perlrebase address range. 
This is cause of cygwin perl internals 
(http://thread.gmane.org/gmane.os.cygwin/130879/focus=130884) whil eusing CPAN 
XS modules.
So far so good. 
Another thing which is done by perlrebase is the following: all DLLs are set 
to be not to have a dynamicbase (--dynamicbase=0) flag set!

On the other hand peflagsall will set the opposite: --dynamicbase=1 for all 
dlls including perl5 dll.

So for me it's really not clear - what to do exactly - to possible resolve 
fork errors.

Another interesting thing is that the default address of perlrebase will 
conflict with my address range of rebase all.
The rebaseall address range will use addresses from 0x70000000 .. 0x479c0000!
And the default address range of perlrebase is 0x57000000 (I know I can 
override it) - so both ranges will overlap ...

Overriding the address range will break the rebase database which is used 
since rebase 4.x.
So I cannot easily figure out address ranges which will overlap with "rebase -
s -i".

Can anyone give me a hint - what is correct way in rebaseall/peflags/perreabe 
cygwin DLLs, perl5 DLLS and perl5 CPAN DLLs.

I know that a new perlrebase is under developement - but it's not released yet 
cause of other problems.
The new perlrebase addresses will address more problems (adding more and more 
CPAN modules, .... ).

But my system is really static - no more CPAN modules will be added - so 
adding other modules is not the problem.
Perhaps this si already solved with the new perlrebase script?

So - what is the recommended memory layout (DLLS) on such a system.


Any help is welcome.

best regards

heiko



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


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