Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re^2: Inline:CPP module won't install

by Steve_BZ (Chaplain)
on Apr 06, 2010 at 01:38 UTC ( [id://832950]=note: print w/replies, xml ) Need Help??


in reply to Re: Inline:CPP module won't install
in thread Inline:CPP module won't install

Hi Anon, this looks exactly like what I'm looking for. But it's way over my pay-grade.

update

When it says "Setting STD_IOSTREAM to a true value helps, and all tests pass nicely.", what is STD_IOSTREAM? Is it an environment variable (I'm doing this on windows, so is it system or user)? And what does 'true' value mean? It could be "1" or does it mean a path to iostream.h which exists?

I tried setting the system environment variable STD_IOSTREAM to '1' and running with compiler g++, but the results are the same. So I feel I must have misunderstood the patch process.

OK, well I finally understood what the patch was saying. I edited the CPP.pm files and Makefile.PL manually (is there an automatic way of doing it?) the 'Makefile.PL' runs smoothly as does 'nmake'. But 'nmake test' gives:

C:\Perl\cpan\build\Inline-CPP-0.25-U_GYPW>nmake test Microsoft (R) Program Maintenance Utility Version 1.50 Copyright (c) Microsoft Corp 1988-94. All rights reserved. nmake -f Makefile all -nologo cd .. C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harn +ess(0, 'bl ib\lib', 'blib\arch')" t/*.t t/01basic..... Microsoft (R) Program Maintenance Utility Version 1.50 Copyright (c) Microsoft Corp 1988-94. All rights reserved. C:\Perl\bin\perl.exe C:\Perl\lib\ExtUtils\xsubpp -typemap C:\ +Perl\lib\E xtUtils\typemap -typemap C:\Perl\cpan\build\Inline-CPP-0.25-U_GYPW\_In +line\build \_01basic_t_5cd2\CPP.map _01basic_t_5cd2.xs > _01basic_t_5cd2.xsc && +C:\Perl\bi n\perl.exe -MExtUtils::Command -e mv _01basic_t_5cd2.xsc _01basic_t_5c +d2.c g++ -c -IC:/Perl/cpan/build/Inline-CPP-0.25-U_GYPW/t -DNDEBU +G -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE_SITECUST +OMIZE -DPR IVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PE +RLIO -DPER L_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -O2 -DVERSION= +\"0.00\" -DXS_VERSION=\"0.00\" "-IC:\Perl\lib\CORE" _01basic_t_5cd2.c Running Mkbootstrap for _01basic_t_5cd2 () C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 _01basic +_t_5cd2.bs C:\Perl\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists('N +AME'=>\"_0 1basic_t_5cd2\", 'DLBASE' => '_01basic_t_5cd2', 'DL_FUNCS' => { }, 'F +UNCLIST' = > [], 'IMPORTS' => { }, 'DL_VARS' => []);" Set up gcc environment - 3.4.5 (mingw special) dlltool --def _01basic_t_5cd2.def --output-exp dll.exp g++ -o blib\arch\auto\_01basic_t_5cd2\_01basic_t_5cd2.dll -Wl, +--base-fil e -Wl,dll.base -mdll -L"C:\Perl\lib\CORE" _01basic_t_5cd2.o -Wl,--imag +e-base,0x3 e430000 C:\Perl\lib\CORE\perl58.lib C:\msys\mingw\lib\libstdc++.a C:\ +msys\mingw \lib\libkernel32.a C:\msys\mingw\lib\libuser32.a C:\msys\mingw\lib\lib +gdi32.a C: \msys\mingw\lib\libwinspool.a C:\msys\mingw\lib\libcomdlg32.a C:\msys\ +mingw\lib\ libadvapi32.a C:\msys\mingw\lib\libshell32.a C:\msys\mingw\lib\libole3 +2.a C:\msy s\mingw\lib\liboleaut32.a C:\msys\mingw\lib\libnetapi32.a C:\msys\ming +w\lib\libu uid.a C:\msys\mingw\lib\libws2_32.a C:\msys\mingw\lib\libmpr.a C:\msys +\mingw\lib \libwinmm.a C:\msys\mingw\lib\libversion.a C:\msys\mingw\lib\libodbc32 +.a C:\msys \mingw\lib\libodbccp32.a C:\msys\mingw\lib\libmsvcrt.a dll.exp C:\msys\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld. +exe: BFD ( GNU Binutils) 2.18.50.20080109 assertion fail ../../binutils-2.18.50/b +fd/cofflin k.c:2270 C:\msys\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld. +exe: C:\ms ys\mingw\lib\libmsvcrt.a(dsjhs00137.o): bad reloc address 0x154 in sec +tion `.tex t' collect2: ld returned 1 exit status NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code + '0x1' Stop. A problem was encountered while attempting to compile and install your + Inline CPP code. The command that failed was: nmake > out.make 2>&1 The build directory was: C:\Perl\cpan\build\Inline-CPP-0.25-U_GYPW\_Inline\build\_01basic_t_5cd +2 To debug the problem, cd to the build directory, and inspect the outpu +t files. at t/01basic.t line 30 BEGIN failed--compilation aborted at t/01basic.t line 64. t/01basic.....dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 1-10 Failed 10/10 tests, 0.00% okay t/02prefix.... Microsoft (R) Program Maintenance Utility Version 1.50 Copyright (c) Microsoft Corp 1988-94. All rights reserved. C:\Perl\bin\perl.exe C:\Perl\lib\ExtUtils\xsubpp -typemap C:\ +Perl\lib\E xtUtils\typemap -typemap C:\Perl\cpan\build\Inline-CPP-0.25-U_GYPW\_In +line\build \_02prefix_t_4ede\CPP.map _02prefix_t_4ede.xs > _02prefix_t_4ede.xsc +&& C:\Perl \bin\perl.exe -MExtUtils::Command -e mv _02prefix_t_4ede.xsc _02prefix +_t_4ede.c g++ -c -IC:/Perl/cpan/build/Inline-CPP-0.25-U_GYPW/t -DNDEBU +G -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE_SITECUST +OMIZE -DPR IVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PE +RLIO -DPER L_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -O2 -DVERSION= +\"0.00\" -DXS_VERSION=\"0.00\" "-IC:\Perl\lib\CORE" _02prefix_t_4ede.c Running Mkbootstrap for _02prefix_t_4ede () C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 _02prefi +x_t_4ede.b s C:\Perl\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists('N +AME'=>\"_0 2prefix_t_4ede\", 'DLBASE' => '_02prefix_t_4ede', 'DL_FUNCS' => { }, +'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" Set up gcc environment - 3.4.5 (mingw special) dlltool --def _02prefix_t_4ede.def --output-exp dll.exp g++ -o blib\arch\auto\_02prefix_t_4ede\_02prefix_t_4ede.dll -W +l,--base-f ile -Wl,dll.base -mdll -L"C:\Perl\lib\CORE" _02prefix_t_4ede.o -Wl,--i +mage-base, 0x2d550000 C:\Perl\lib\CORE\perl58.lib C:\msys\mingw\lib\libstdc++.a +C:\msys\mi ngw\lib\libkernel32.a C:\msys\mingw\lib\libuser32.a C:\msys\mingw\lib\ +libgdi32.a C:\msys\mingw\lib\libwinspool.a C:\msys\mingw\lib\libcomdlg32.a C:\ms +ys\mingw\l ib\libadvapi32.a C:\msys\mingw\lib\libshell32.a C:\msys\mingw\lib\libo +le32.a C:\ msys\mingw\lib\liboleaut32.a C:\msys\mingw\lib\libnetapi32.a C:\msys\m +ingw\lib\l ibuuid.a C:\msys\mingw\lib\libws2_32.a C:\msys\mingw\lib\libmpr.a C:\m +sys\mingw\ lib\libwinmm.a C:\msys\mingw\lib\libversion.a C:\msys\mingw\lib\libodb +c32.a C:\m sys\mingw\lib\libodbccp32.a C:\msys\mingw\lib\libmsvcrt.a dll.exp C:\msys\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld. +exe: BFD ( GNU Binutils) 2.18.50.20080109 assertion fail ../../binutils-2.18.50/b +fd/cofflin k.c:2270 C:\msys\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld. +exe: C:\ms ys\mingw\lib\libmsvcrt.a(dsjhs00137.o): bad reloc address 0x154 in sec +tion `.tex t' collect2: ld returned 1 exit status NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code + '0x1' Stop. A problem was encountered while attempting to compile and install your + Inline CPP code. The command that failed was: nmake > out.make 2>&1 The build directory was: C:\Perl\cpan\build\Inline-CPP-0.25-U_GYPW\_Inline\build\_02prefix_t_4e +de To debug the problem, cd to the build directory, and inspect the outpu +t files. at t/02prefix.t line 0 INIT failed--call queue aborted. t/02prefix....dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 1-4 Failed 4/4 tests, 0.00% okay Failed Test Stat Wstat Total Fail List of Failed ---------------------------------------------------------------------- +--------- t/01basic.t 2 512 10 20 1-10 t/02prefix.t 2 512 4 8 1-4 Failed 2/2 test scripts. 14/14 subtests failed. Files=2, Tests=14, 153 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00 + CPU) Failed 2/2 test programs. 14/14 subtests failed. NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code + '0x2' Stop.

Thanks for all your efforts.

Regards

Steve

Replies are listed 'Best First'.
Re^3: Inline:CPP module won't install
by syphilis (Archbishop) on Apr 06, 2010 at 07:01 UTC
    You're using gcc-3.4.5, so there should be no need to install the STD_IOSTREAM patch. One thing I would recommend is that you use 'dmake' (available from CPAN or, I think, as 'ppm install dmake'). That will at least remove that crappy old version of nmake you're using from the mix of things that could cause problems, though I doubt it's the problem here.

    With 'dmake' installed, check that perl -V:make reports 'dmake'. (You may need to remove 'nmake.exe' from your path for that to happen.)

    Then, in a freshly unpacked Inline-CPP-0.25 source folder, run 'perl Makefile.PL', accepting the prompts to use 'g++' and '-lstdc++'. Then run 'dmake test' and it should work ok.

    It's not a good idea to have mingw in the msys tree .... I think that can cause problems with msys, though it shouldn't be a problem here. The simplest way to get both 'dmake' and 'mingw' for ActivePerl is to run 'ppm install MinGW' - doesn't require any path alterations or other fiddling about.

    Let us know what, if any, errors arise - also the version of Parse::RecDescent that you installed.

    Cheers,
    Rob
      It's not a good idea to have mingw in the msys tree .... I think that can cause problems with msys, though it shouldn't be a problem here.

      Maybe you should mention that to the MinGW folks, because thats how they have it arranged by default.

        Maybe you should mention that to the MinGW folks, because thats how they have it arranged by default.

        If that's so then I must be mistaken. Perhaps problems arise iff MinGW gets installed into some other part(s) of the msys tree, but the msys top level folder is ok.

        I keep 'em separate ... so it's something I don't have to even think about :-)

        Cheers,
        Rob

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://832950]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (7)
As of 2024-04-19 17:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found