R &引用;对内存位置的访问无效“;安装模块时

R &引用;对内存位置的访问无效“;安装模块时,r,perl,mingw,perl-module,cpan,R,Perl,Mingw,Perl Module,Cpan,对Perl来说是个新手。我已经通过命令提示符从CPAN在我的Windows7电脑上安装了一些模块,但在安装Math::Random时遇到了麻烦。不知道这里发生了什么。我已经用谷歌搜索了好几个小时。这是我得到的 cpan> install Math::Random Database was generated on Thu, 14 Mar 2013 15:15:50 GMT Running install for module 'Math::Random' R

对Perl来说是个新手。我已经通过命令提示符从CPAN在我的Windows7电脑上安装了一些模块,但在安装Math::Random时遇到了麻烦。不知道这里发生了什么。我已经用谷歌搜索了好几个小时。这是我得到的

    cpan> install Math::Random
    Database was generated on Thu, 14 Mar 2013 15:15:50 GMT
    Running install for module 'Math::Random'
    Running make for G/GR/GROMMEL/Math-Random-0.71.tar.gz
    Fetching with LWP:
    http://cpan.strawberryperl.com/authors/id/G/GR/GROMMEL/Math-Random-0.71.tar.gz
    Checksum for C:\strawberry\cpan\sources\authors\id\G\GR\GROMMEL\Math-Random-0.71
    .tar.gz ok
    Scanning cache C:\strawberry\cpan\build for sizes
    ............................................................................DONE

    Invalid header block at offset unknown at C:\strawberry\perl\lib/CPAN/Tarzip.pm
    line 365.
    Invalid header block at offset unknown at C:\strawberry\perl\lib/CPAN/Tarzip.pm
    line 365.
    Invalid header block at offset unknown at C:\strawberry\perl\lib/CPAN/Tarzip.pm
    line 365.
    Invalid header block at offset unknown at C:\strawberry\perl\lib/CPAN/Tarzip.pm
    line 365.
    Invalid header block at offset unknown at C:\strawberry\perl\lib/CPAN/Tarzip.pm
    line 365.
    Invalid header block at offset unknown at C:\strawberry\perl\lib/CPAN/Tarzip.pm
    line 365.
    Invalid header block at offset unknown at C:\strawberry\perl\lib/CPAN/Tarzip.pm
    line 365.
    Invalid header block at offset unknown at C:\strawberry\perl\lib/CPAN/Tarzip.pm
    line 365.

      CPAN.pm: Building G/GR/GROMMEL/Math-Random-0.71.tar.gz

    Checking if your kit is complete...
    Looks good
    Writing Makefile for Math::Random
    Writing MYMETA.yml and MYMETA.json
    cp test2.pl blib\lib\Math\test2.pl
    cp Random.pm blib\lib\Math\Random.pm
    AutoSplitting blib\lib\Math\Random.pm (blib\lib\auto\Math\Random)
    cp test1.pl blib\lib\Math\test1.pl
    cp example.pl blib\lib\Math\example.pl
    C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp  -typemap
     C:\strawberry\perl\lib\ExtUtils\typemap  Random.xs > Random.xsc && C:\strawberr
    y\perl\bin\perl.exe -MExtUtils::Command -e mv -- Random.xsc Random.c
    gcc -c          -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -
    DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -s -O2     -DVERSION=\"0.
    71\"    -DXS_VERSION=\"0.71\"  "-IC:\strawberry\perl\lib\CORE"   Random.c
    gcc -c          -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -
    DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -s -O2     -DVERSION=\"0.
    71\"    -DXS_VERSION=\"0.71\"  "-IC:\strawberry\perl\lib\CORE"   com.c
    gcc -c          -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -
    DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -s -O2     -DVERSION=\"0.
    71\"    -DXS_VERSION=\"0.71\"  "-IC:\strawberry\perl\lib\CORE"   helper.c
    gcc -c          -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -
    DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -s -O2     -DVERSION=\"0.
    71\"    -DXS_VERSION=\"0.71\"  "-IC:\strawberry\perl\lib\CORE"   linpack.c
    gcc -c          -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -
    DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -s -O2     -DVERSION=\"0.
    71\"    -DXS_VERSION=\"0.71\"  "-IC:\strawberry\perl\lib\CORE"   randlib.c
    Running Mkbootstrap for Math::Random ()
    C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 644 Random.bs
    C:\strawberry\perl\bin\perl.exe -MExtUtils::Mksymlists \
         -e "Mksymlists('NAME'=>\"Math::Random\", 'DLBASE' => 'Random', 'DL_FUNCS' =
    > {  }, 'FUNCLIST' => [], 'IMPORTS' => {  }, 'DL_VARS' => []);"
    dlltool --def Random.def --output-exp dll.exp
    g++ -o blib\arch\auto\Math\Random\Random.dll -Wl,--base-file -Wl,dll.base -mdll
    -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib" Random.o     com.o
    helper.o        linpack.o       randlib.o   C:\strawberry\perl\lib\CORE\libperl5
    16.a C:\strawberry\c\i686-w64-mingw32\lib\libm.a C:\strawberry\c\i686-w64-mingw3
    2\lib\libmoldname.a C:\strawberry\c\i686-w64-mingw32\lib\libkernel32.a C:\strawb
    erry\c\i686-w64-mingw32\lib\libuser32.a C:\strawberry\c\i686-w64-mingw32\lib\lib
    gdi32.a C:\strawberry\c\i686-w64-mingw32\lib\libwinspool.a C:\strawberry\c\i686-
    w64-mingw32\lib\libcomdlg32.a C:\strawberry\c\i686-w64-mingw32\lib\libadvapi32.a
     C:\strawberry\c\i686-w64-mingw32\lib\libshell32.a C:\strawberry\c\i686-w64-ming
    w32\lib\libole32.a C:\strawberry\c\i686-w64-mingw32\lib\liboleaut32.a C:\strawbe
    rry\c\i686-w64-mingw32\lib\libnetapi32.a C:\strawberry\c\i686-w64-mingw32\lib\li
    buuid.a C:\strawberry\c\i686-w64-mingw32\lib\libws2_32.a C:\strawberry\c\i686-w6
    4-mingw32\lib\libmpr.a C:\strawberry\c\i686-w64-mingw32\lib\libwinmm.a C:\strawb
    erry\c\i686-w64-mingw32\lib\libversion.a C:\strawberry\c\i686-w64-mingw32\lib\li
    bodbc32.a C:\strawberry\c\i686-w64-mingw32\lib\libodbccp32.a C:\strawberry\c\i68
    6-w64-mingw32\lib\libcomctl32.a dll.exp
    dlltool --def Random.def --base-file dll.base --output-exp dll.exp
    g++ -o blib\arch\auto\Math\Random\Random.dll -mdll -s -L"C:\strawberry\perl\lib\
    CORE" -L"C:\strawberry\c\lib" Random.o  com.o   helper.o        linpack.o
    randlib.o   C:\strawberry\perl\lib\CORE\libperl516.a C:\strawberry\c\i686-w64-mi
    ngw32\lib\libm.a C:\strawberry\c\i686-w64-mingw32\lib\libmoldname.a C:\strawberr
    y\c\i686-w64-mingw32\lib\libkernel32.a C:\strawberry\c\i686-w64-mingw32\lib\libu
    ser32.a C:\strawberry\c\i686-w64-mingw32\lib\libgdi32.a C:\strawberry\c\i686-w64
    -mingw32\lib\libwinspool.a C:\strawberry\c\i686-w64-mingw32\lib\libcomdlg32.a C:
    \strawberry\c\i686-w64-mingw32\lib\libadvapi32.a C:\strawberry\c\i686-w64-mingw3
    2\lib\libshell32.a C:\strawberry\c\i686-w64-mingw32\lib\libole32.a C:\strawberry
    \c\i686-w64-mingw32\lib\liboleaut32.a C:\strawberry\c\i686-w64-mingw32\lib\libne
    tapi32.a C:\strawberry\c\i686-w64-mingw32\lib\libuuid.a C:\strawberry\c\i686-w64
    -mingw32\lib\libws2_32.a C:\strawberry\c\i686-w64-mingw32\lib\libmpr.a C:\strawb
    erry\c\i686-w64-mingw32\lib\libwinmm.a C:\strawberry\c\i686-w64-mingw32\lib\libv
    ersion.a C:\strawberry\c\i686-w64-mingw32\lib\libodbc32.a C:\strawberry\c\i686-w
    64-mingw32\lib\libodbccp32.a C:\strawberry\c\i686-w64-mingw32\lib\libcomctl32.a
    dll.exp
    C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 755 blib\arch\au
    to\Math\Random\Random.dll
    C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e cp -- Random.bs blib\arch
    \auto\Math\Random\Random.bs
    C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 644 blib\arch\au
    to\Math\Random\Random.bs
      GROMMEL/Math-Random-0.71.tar.gz
      C:\strawberry\c\bin\dmake.exe -- OK
    Running make test
    C:\strawberry\perl\bin\perl.exe "-Iblib\lib" "-Iblib\arch" test.pl
    1..16
    Can't load 'blib\arch/auto/Math/Random/Random.dll' for module Math::Random: load
    _file:Invalid access to memory location at C:/strawberry/perl/lib/DynaLoader.pm
    line 190.
     at test.pl line 9.
    Compilation failed in require at test.pl line 9.
    BEGIN failed--compilation aborted at test.pl line 9.
    dmake.exe:  Error code 130, while making 'test_dynamic'
      GROMMEL/Math-Random-0.71.tar.gz
      C:\strawberry\c\bin\dmake.exe test -- NOT OK
    //hint// to see the cpan-testers results for installing this module, try:
      reports GROMMEL/Math-Random-0.71.tar.gz
    Running make install
      make test had returned bad status, won't install without force
    Stopping: 'install' failed for 'Math::Random'.
    Failed during this command:
     GROMMEL/Math-Random-0.71.tar.gz              : make_test NO

我现在已经解决了这个问题。我删除了Rtools(帮助开发R包的软件),并将Path变量编辑为loose

C:\Rtools\bin;
C:\Rtools\perl\bin;
C:\Rtools\gcc-4.6.3\bin;
C:\Rtools\MinGW\bin;

然后我卸载并重新安装了草莓perl(之前我尝试了最后一步,但没有成功)。在阅读@summea link和@ikegami edit添加标签后,我怀疑路径中的MinGW可能是问题的原因

不确定是否是同一问题。。。但是其他人在PerlMonks遇到了类似的事情,这可能与你的草莓配置有关。。。或者可能是与自动运行配置相关的东西。。。(可能的答案在PerlMonks链接的底部。)谢谢@summea。解决了,问题就在路上