This is the mail archive of the
cygwin
mailing list for the Cygwin project.
rebaseall/peflagsall/perlrebase - which is the recommended way using CPAN modules
- From: Heiko Elger <heiko_elger at arburg dot com>
- To: cygwin at cygwin dot com
- Date: Thu, 2 Feb 2012 12:44:02 +0000 (UTC)
- Subject: 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