We're getting somewhere !
* EDIT: In fact we broke something (see later)... but it might help us understand the issue, as it has something to do with missing files and Cygwin.
Devel::Pragma is now "make"ing, with a different bug. After running the Checksum (which was ok), it says :
Running make for C/CH/CHOCOLATE/Devel-Pragma-0.54.tar.gz
Checksum for /cygdrive/c/Dropbox/.cpan/sources/authors/id/C/CH/CHOCOLA
+TE/Devel-Pragma-0.54.tar.gz ok
1 [main] perl 532 child_info_fork::abort: C:\cygwin\lib\perl5\5.
+14\i686-cygwin-threads-64int\auto\Storable\Storable.dll: Loaded to di
+fferent address: parent(0x62730000) != child(0xF40000)
2 [main] perl 952 child_info_fork::abort: C:\cygwin\lib\perl5\5.
+14\i686-cygwin-threads-64int\auto\Storable\Storable.dll: Loaded to di
+fferent address: parent(0x62730000) != child(0xF40000)
2 [main] perl 5212 child_info_fork::abort: C:\cygwin\lib\perl5\5
+.14\i686-cygwin-threads-64int\auto\Storable\Storable.dll: Loaded to d
+ifferent address: parent(0x62730000) != child(0xF40000)
1 [main] perl 4156 child_info_fork::abort: C:\cygwin\lib\perl5\5
+.14\i686-cygwin-threads-64int\auto\Storable\Storable.dll: Loaded to d
+ifferent address: parent(0x62730000) != child(0xF40000)
There are now more than 200 similar lines. And the time between two of these lines must be taking longer and longer, as now it takes more than 5 minutes; and i certainly didn't wait for a total of 1000 minutes.
Additional info: Storable said, during its installation
CPAN.pm: Building A/AM/AMS/Storable-2.39.tar.gz
Checking if your kit is complete...
Warning: the following files are missing in your kit:
Storable.bs
Storable.c
Storable.o
Please inform the author.
Writing Makefile for Storable
Writing MYMETA.yml and MYMETA.json
You appear to have a perl configured to use 64 bit integers in its sca
+lar
variables. If you have existing data written with an earlier version
+of
Storable which this version of Storable refuses to load with a
Byte order is not compatible
error, then please read the section "64 bit data in perl 5.6.0 and 5.6
+.1"
in the Storable documentation for instructions on how to read your dat
+a.
(You can find the documentation at the end of Storable.pm in POD forma
+t)
cp Storable.pm blib/lib/Storable.pm
/usr/bin/perl.exe /usr/lib/perl5/site_perl/5.14/ExtUtils/xsubpp -type
+map /usr/lib/perl5/5.14/ExtUtils/typemap Storable.xs > Storable.xsc
+&& mv Storable.xsc Storable.c
gcc-4 -c -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -g -fno-strict-al
+iasing -pipe -fstack-protector -DUSEIMPORTLIB -O3 -DVERSION=\"2.39
+\" -DXS_VERSION=\"2.39\" "-I/usr/lib/perl5/5.14/i686-cygwin-threads
+-64int/CORE" Storable.c
Running Mkbootstrap for Storable ()
chmod 644 Storable.bs
rm -f blib/arch/auto/Storable/Storable.dll
g++-4 --shared -Wl,--enable-auto-import -Wl,--export-all-symbols -W
+l,--image-base=0x62730000 -L/usr/local/lib -fstack-protector Storable
+.o -o blib/arch/auto/Storable/Storable.dll \
/usr/lib/perl5/5.14/i686-cygwin-threads-64int/CORE/cygperl5_14.dll
+ \
chmod 755 blib/arch/auto/Storable/Storable.dll
cp Storable.bs blib/arch/auto/Storable/Storable.bs
chmod 644 blib/arch/auto/Storable/Storable.bs
Manifying blib/man3/Storable.3pm
AMS/Storable-2.39.tar.gz
/usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" "te
+st_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/attach_errors.t ..... ok
t/attach_singleton.t .. ok
t/blessed.t ........... ok
t/canonical.t ......... ok
t/circular_hook.t ..... ok
t/code.t .............. ok
t/compat01.t .......... skipped: Test only works for 32 bit little-end
+ing machines
t/compat06.t .......... ok
t/croak.t ............. ok
t/dclone.t ............ ok
t/downgrade.t ......... ok
t/file_magic.t ........ ok
t/forgive.t ........... ok
t/freeze.t ............ ok
t/integer.t ........... ok
t/interwork56.t ....... ok
t/just_plain_nasty.t .. ok
t/lock.t .............. ok
t/malice.t ............ ok
t/overload.t .......... ok
t/recurse.t ........... ok
t/restrict.t .......... ok
t/retrieve.t .......... ok
t/robust.t ............ ok
t/sig_die.t ........... ok
t/store.t ............. ok
t/threads.t ........... ok
t/tied.t .............. ok
t/tied_hook.t ......... ok
t/tied_items.t ........ ok
t/utf8.t .............. ok
t/utf8hash.t .......... ok
t/weak.t .............. ok
All tests successful.
Files=33, Tests=2611, 46 wallclock secs ( 1.53 usr 1.19 sys + 13.79 c
+usr 24.73 csys = 41.24 CPU)
Result: PASS
AMS/Storable-2.39.tar.gz
/usr/bin/make test -- OK
Running make install
Files found in blib/arch: installing files in blib/lib into architectu
+re dependent library tree
Installing /usr/lib/perl5/5.14/i686-cygwin-threads-64int/auto/Storable
+/Storable.bs
Installing /usr/lib/perl5/5.14/i686-cygwin-threads-64int/auto/Storable
+/Storable.dll
Installing /usr/lib/perl5/5.14/i686-cygwin-threads-64int/Storable.pm
Installing /usr/share/man/man3/Storable.3pm
Appending installation info to /usr/lib/perl5/5.14/i686-cygwin-threads
+-64int/perllocal.pod
AMS/Storable-2.39.tar.gz
/usr/bin/make install -- OK
Then i tried to download the Storable tar.gz archive, and did this:
$ perl Makefile.PL --xs
Checking if your kit is complete...
Warning: the following files are missing in your kit:
Storable.bs
Storable.c
Storable.o
Please inform the author.
Writing Makefile for Storable
Writing MYMETA.yml and MYMETA.json
You appear to have a perl configured to use 64 bit integers in its sca
+lar
variables. If you have existing data written with an earlier version
+of
Storable which this version of Storable refuses to load with a
Byte order is not compatible
error, then please read the section "64 bit data in perl 5.6.0 and 5.6
+.1"
in the Storable documentation for instructions on how to read your dat
+a.
(You can find the documentation at the end of Storable.pm in POD forma
+t)
I can confirm that these files are not in the tar.gz archive.
Then i tried this (same without --xs) :
$ perl Makefile.PL
Writing Makefile for Storable
Writing MYMETA.yml and MYMETA.json
You appear to have a perl configured to use 64 bit integers in its sca
+lar
variables. If you have existing data written with an earlier version
+of
Storable which this version of Storable refuses to load with a
Byte order is not compatible
error, then please read the section "64 bit data in perl 5.6.0 and 5.6
+.1"
in the Storable documentation for instructions on how to read your dat
+a.
(You can find the documentation at the end of Storable.pm in POD forma
+t)
OUCH !
It's doing the same with other modules now !
Trying to install L:
$ cpan L
CPAN: Storable loaded ok (v2.39)
Reading '/cygdrive/c/Dropbox/.cpan/Metadata'
Database was generated on Sun, 30 Dec 2012 01:21:09 GMT
Running install for module 'L'
Running make for S/SO/SONGMU/L-0.01.tar.gz
CPAN: LWP::UserAgent loaded ok (v6.04)
CPAN: Time::HiRes loaded ok (v1.972101)
Fetching with LWP:
http://cpan.singletasker.co.uk/authors/id/S/SO/SONGMU/L-0.01.tar.gz
CPAN: YAML loaded ok (v0.84)
CPAN: Digest::SHA loaded ok (v5.71)
Fetching with LWP:
http://cpan.singletasker.co.uk/authors/id/S/SO/SONGMU/CHECKSUMS
CPAN: Compress::Zlib loaded ok (v2.033)
Checksum for /cygdrive/c/Dropbox/.cpan/sources/authors/id/S/SO/SONGMU/
+L-0.01.tar.gz ok
1 [main] perl 4564 child_info_fork::abort: unable to remap IO.dl
+l to same address as parent (00F30000) - try running rebaseall
2 [main] perl 4176 child_info_fork::abort: unable to remap Socke
+t.dll to same address as parent (00F40000) - try running rebaseall
1 [main] perl 612 child_info_fork::abort: unable to remap IO.dll
+ to same address as parent (00F30000) - try running rebaseall
2 [main] perl 536 child_info_fork::abort: unable to remap Socket
+.dll to same address as parent (00F40000) - try running rebaseall
Trying to install Util::Any:
$ cpan Util::Any
CPAN: Storable loaded ok (v2.39)
Reading '/cygdrive/c/Dropbox/.cpan/Metadata'
Database was generated on Sun, 30 Dec 2012 01:21:09 GMT
Running install for module 'Util::Any'
Running make for K/KT/KTAT/Util-Any-0.22.tar.gz
CPAN: LWP::UserAgent loaded ok (v6.04)
CPAN: Time::HiRes loaded ok (v1.972101)
Fetching with LWP:
http://cpan.singletasker.co.uk/authors/id/K/KT/KTAT/Util-Any-0.22.tar.
+gz
CPAN: YAML loaded ok (v0.84)
CPAN: Digest::SHA loaded ok (v5.71)
Fetching with LWP:
http://cpan.singletasker.co.uk/authors/id/K/KT/KTAT/CHECKSUMS
CPAN: Compress::Zlib loaded ok (v2.033)
Checksum for /cygdrive/c/Dropbox/.cpan/sources/authors/id/K/KT/KTAT/Ut
+il-Any-0.22.tar.gz ok
3 [main] perl 7876 child_info_fork::abort: unable to remap IO.dl
+l to same address as parent (00F30000) - try running rebaseall
1 [main] perl 8104 child_info_fork::abort: unable to remap Socke
+t.dll to same address as parent (00F40000) - try running rebaseall
We have definitly broken something: Storable never gave me this problem in the past.
That is extremely annoying: i cannot install any module at all until Storable is fixed.
I am definitely sure that i am running a Windows XP 32 bit, how can Storable suddenly think the opposite?
And what is the real problem: the fact that Storable doesn't find some files:
Storable.bs
Storable.c
Storable.o
Or the fact that it says something about my 64bit-ness?
And is it hidden by the fact that it didn't run the t/compat01.t test? (skipped: Test only works for 32 bit little-ending machines)
...more research...
I found this, it could be worth a try:
http://perldoc.perl.org/perlcygwin.html
says
Configure-time Options for Perl on Cygwin
The INSTALL document describes several Configure-time options. Some of
+ these will work with Cygwin, others are not yet possible. Also, some
+ of these are experimental. You can either select an option when Conf
+igure prompts you or you can define (undefine) symbols on the command
+ line.
\[...\]
-Uuse64bitint
By default Perl uses 64 bit integers. If you want to use smaller 32 bi
+t integers, define this symbol.
-Duselargefiles
Cygwin uses 64-bit integers for internal size and position calculation
+s, this will be correctly detected and defined by Configure.
Here is my current Perl configuration:
$ perl -V
Summary of my perl5 (revision 5 version 14 subversion 2) configuration
+:
Platform:
osname=cygwin, osvers=1.7.15(0.26053), archname=cygwin-thread-mult
+i-64int
uname='cygwin_nt-5.1 winxp 1.7.15(0.26053) 2012-05-09 10:25 i686 c
+ygwin '
config_args='-de -Dlibperl=cygperl5_14.dll -Dcc=gcc-4 -Dld=g++-4 -
+Darchname=i686-cygwin-threads-64int -Dmksymlinks -Dusethreads -Accfla
+gs=-g'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=und
+ef
use64bitint=define, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc-4', ccflags ='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -g
+-fno-strict-aliasing -pipe -fstack-protector',
optimize='-O3',
cppflags='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -g -fno-strict-
+aliasing -pipe -fstack-protector'
ccversion='', gccversion='4.5.3', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=1
+2
ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='of
+f_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='g++-4', ldflags =' -Wl,--enable-auto-import -Wl,--export-all-s
+ymbols -Wl,--enable-auto-image-base -fstack-protector -L/usr/local/li
+b'
libpth=/usr/local/lib /usr/lib /lib
libs=-lgdbm -ldb -ldl -lcrypt -lgdbm_compat
perllibs=-ldl -lcrypt
libc=/usr/lib/libc.a, so=dll, useshrplib=true, libperl=cygperl5_14
+.dll
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags=' --shared -Wl,--enable-auto-import -Wl
+,--export-all-symbols -Wl,--enable-auto-image-base -L/usr/local/lib -
+fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_PRESERVE_IVUV
PERL_USE_SAFE_PUTENV USE_64_BIT_INT USE_ITHREA
+DS
USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF
USE_REENTRANT_API
Locally applied patches:
Bug#55162 File::Spec::case_tolerant performance
CYG07 $vendorarch/auto/.rebase
CYG15 static Win32CORE
CYG17 cyg-1.7 paths-utf8
0c612ce82 Fix building static extensions on cygwin, -UUSEIMPOR
+TLIB
1bac5ecc1 Fix 64-bit threading sv.c: S_anonymise_cv_maybe
Cygwin::sync_winenv added
Built under cygwin
Compiled at Jul 12 2012 14:17:21
%ENV:
PERL5LIB="cygdrive/c/Dropbox/DOCS/WORK/PATH/my_PERL_SHARED_MODULES
+; cygdrive/c/Dropbox/DOCS/WORK/PATH/Scripts_Perl; C:/Cygwin/lib/perl
+5/site_perl/5.14/i686-cygwin-threads-64int/"
PERL_JSON_BACKEND="JSON::XS"
PERL_YAML_BACKEND="YAML"
@INC:
cygdrive/c/Dropbox/DOCS/WORK/PATH/my_PERL_SHARED_MODULES; cygdrive
+/c/Dropbox/DOCS/WORK/PATH/Scripts_Perl; C
/Cygwin/lib/perl5/site_perl/5.14/i686-cygwin-threads-64int/
/usr/lib/perl5/site_perl/5.14/i686-cygwin-threads-64int
/usr/lib/perl5/site_perl/5.14
/usr/lib/perl5/vendor_perl/5.14/i686-cygwin-threads-64int
/usr/lib/perl5/vendor_perl/5.14
/usr/lib/perl5/5.14/i686-cygwin-threads-64int
/usr/lib/perl5/5.14
/usr/lib/perl5/site_perl/5.10
/usr/lib/perl5/vendor_perl/5.10
/usr/lib/perl5/site_perl/5.8
.
The interesting bit for me is use64bitint=define.
AS a reminder, perl's documentation says:
-Uuse64bitint
By default Perl uses 64 bit integers. If you want to use smaller 32 bi
+t integers, define this symbol.
Which would mean that i'm using this at the moment: i am using 32 bit integers, rather than 64bit ones.
But Storable doesn't seem to see this, as it says:
You appear to have a perl configured to use 64 bit integers in its sca
+lar
variables. If you have existing data written with an earlier version
+of
Storable which this version of Storable refuses to load with a
Byte order is not compatible
error, then please read the section "64 bit data in perl 5.6.0 and 5.6
+.1"
in the Storable documentation for instructions on how to read your dat
+a.
So i don't really know what to do with this. I seem to be configured correctly... I guess i could always try to change the configuration and see what happens. There's only 4 possible combinations, with there two configuration parameters.
I found Perl::Configure. I could try to use it tomorrow...unless if someone has an other idea - maybe something to related to these missing files?
I'm too tired now, and sleeping will give a chance to people to tell me: "don't do this, you'll break everything!" Or to come up with ideas.
But i won't let go: i want Method::Signatures's extra sweet sugar.
|