Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re^3: Trouble Installing Win32::GuiTest

by syphilis (Archbishop)
on Aug 15, 2012 at 00:13 UTC ( [id://987476]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Trouble Installing Win32::GuiTest
in thread Trouble Installing Win32::GuiTest

dmake: Error code 129, while making 'blib\arch\auto\Win32\GuiTest\GuiTest.dll'

I'd need to see the full output from the 'dmake' step.

Also can you give us the output of perl -V (that's an *uppercase* V).

Win32-GuiTest-1.60 builds and tests fine for me with both 32-bit and 64-bit Strawberry Perl 5.16.0.

Cheers,
Rob

Replies are listed 'Best First'.
Re^4: Trouble Installing Win32::GuiTest
by Anonymous Monk on Aug 15, 2012 at 20:02 UTC

    Rob, Here is the full output

    C:\strawberry\Win32-GuiTest-1.60>dmake cp lib/Win32/GuiTest/GuiTest.pc blib\lib\Win32\GuiTest\GuiTest.pc cp lib/Win32/GuiTest/Examples.pm blib\lib\Win32\GuiTest\Examples.pm cp lib/Win32/GuiTest.pm blib\lib\Win32\GuiTest.pm cp lib/Win32/GuiTest/Cmd.pm blib\lib\Win32\GuiTest\Cmd.pm C:\Perl64\bin\perl.exe -IC:\Perl64\lib -IC:\Perl64\lib C:\Perl64\lib\E +xtUtils\xsubpp -typemap C:\Perl64\lib\ExtUtils\typemap -typemap perl +object.map -typemap typemap GuiTest.xs >xstmp.c && C:\Perl64\bin\perl.exe -MExtUt +ils::Command -e mv -- xstmp.c GuiTest.cpp C:/STRAWB~1/c/bin/gcc.exe -c -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRIC +T -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE +-DPERL_IMPL ICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DHASATTRIBUTE -fno-stri +ct-aliasing -mms-bitfields -O2 -DVERSION=\"1.60\" -DXS_VERSIO +N=\"1.60\" "-IC:\Perl64\lib\CORE" GuiTest.cpp C:/STRAWB~1/c/bin/gcc.exe -c -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRIC +T -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE +-DPERL_IMPL ICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DHASATTRIBUTE -fno-stri +ct-aliasing -mms-bitfields -O2 -DVERSION=\"1.60\" -DXS_VERSIO +N=\"1.60\" "-IC:\Perl64\lib\CORE" DibSect.cpp Running Mkbootstrap for Win32::GuiTest () C:\Perl64\bin\perl.exe -MExtUtils::Command -e chmod -- 644 GuiTest.bs C:\Perl64\bin\perl.exe -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"Win32::GuiTest\", 'DLBASE' => 'GuiTest', + 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' = +> []);" Set up gcc environment - 4.4.7 20111023 (prerelease) [svn/rev.180339 - + mingw-w64/oz] dlltool --def GuiTest.def --output-exp dll.exp C:\STRAWB~1\c\bin\g++.exe -o blib\arch\auto\Win32\GuiTest\GuiTest.dll +-Wl,--base-file -Wl,dll.base -mdll -L"C:\Perl64\lib\CORE" GuiTest.o D +ibSect.o C:\Perl64\lib\CORE\perl514.lib -lkernel32 -luser32 -lgdi32 -lwinspool +-lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid +-lws2_32 -l mpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -lbufferoverflowU + -lmsvcrt dll.exp c:/strawb~1/c/bin/../lib/gcc/x86_64-w64-mingw32/4.4.7/../../../../x86_ +64-w64-mingw32/bin/ld.exe: cannot find -lbufferoverflowU collect2: ld returned 1 exit status dmake: Error code 129, while making 'blib\arch\auto\Win32\GuiTest\Gui +Test.dll' C:\strawberry\Win32-GuiTest-1.60>dmake install dlltool --def GuiTest.def --output-exp dll.exp C:\STRAWB~1\c\bin\g++.exe -o blib\arch\auto\Win32\GuiTest\GuiTest.dll +-Wl,--base-file -Wl,dll.base -mdll -L"C:\Perl64\lib\CORE" GuiTest.o D +ibSect.o C:\Perl64\lib\CORE\perl514.lib -lkernel32 -luser32 -lgdi32 -lwinspool +-lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid +-lws2_32 -l mpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -lbufferoverflowU + -lmsvcrt dll.exp c:/strawb~1/c/bin/../lib/gcc/x86_64-w64-mingw32/4.4.7/../../../../x86_ +64-w64-mingw32/bin/ld.exe: cannot find -lbufferoverflowU collect2: ld returned 1 exit status dmake: Error code 129, while making 'blib\arch\auto\Win32\GuiTest\Gui +Test.dll' C:\strawberry\Win32-GuiTest-1.60>dmake test dlltool --def GuiTest.def --output-exp dll.exp C:\STRAWB~1\c\bin\g++.exe -o blib\arch\auto\Win32\GuiTest\GuiTest.dll +-Wl,--base-file -Wl,dll.base -mdll -L"C:\Perl64\lib\CORE" GuiTest.o D +ibSect.o C:\Perl64\lib\CORE\perl514.lib -lkernel32 -luser32 -lgdi32 -lwinspool +-lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid +-lws2_32 -l mpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -lbufferoverflowU + -lmsvcrt dll.exp c:/strawb~1/c/bin/../lib/gcc/x86_64-w64-mingw32/4.4.7/../../../../x86_ +64-w64-mingw32/bin/ld.exe: cannot find -lbufferoverflowU collect2: ld returned 1 exit status dmake: Error code 129, while making 'blib\arch\auto\Win32\GuiTest\Gui +Test.dll' C:\strawberry\Win32-GuiTest-1.60>dmake install dlltool --def GuiTest.def --output-exp dll.exp C:\STRAWB~1\c\bin\g++.exe -o blib\arch\auto\Win32\GuiTest\GuiTest.dll +-Wl,--base-file -Wl,dll.base -mdll -L"C:\Perl64\lib\CORE" GuiTest.o D +ibSect.o C:\Perl64\lib\CORE\perl514.lib -lkernel32 -luser32 -lgdi32 -lwinspool +-lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid +-lws2_32 -l mpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -lbufferoverflowU + -lmsvcrt dll.exp c:/strawb~1/c/bin/../lib/gcc/x86_64-w64-mingw32/4.4.7/../../../../x86_ +64-w64-mingw32/bin/ld.exe: cannot find -lbufferoverflowU collect2: ld returned 1 exit status dmake: Error code 129, while making 'blib\arch\auto\Win32\GuiTest\Gui +Test.dll' C:\strawberry\Win32-GuiTest-1.60>dir Volume in drive C is OSPART Volume Serial Number is B87B-3490
      Yes, it looks like you're using 64-bit ActivePerl (as that's the only perl that wants to link to -lbufferoverflowU) with a 64-bit gcc compiler.
      Using a 32-bit gcc compiler with 32-bit ActivePerl is fine, but using a 64-bit gcc compiler with 64-bit ActivePerl simply will *not* work in the same way.

      The thing that's killing you is the fact that gcc doesn't have a bufferoverflowU library. You could work around that problem by copying one of the libraries in c:/strawberry/c/lib to c:/strawberry/c/lib/bufferoverflowU.a.
      That would satisfy that dependency but I think you'll then striike other problems.

      Options include:
      1) Using Strawberry Perl instead of ActivePerl;
      2) Using ActivePerl with one of the freely available MS compilers;
      3) Installing ExtUtils::FakeConfig into ActivePerl - which *will* enable you to use 64-bit gcc with 64-bit ActivePerl.

      I've done 3) with ActivePerl 5.10.0 (build 1005) and it works fairly well. Sometimes I can't build distros that use Module::Build ('perl build.pl') instead of dmake ('perl Makefile.PL') - for reasons that I've yet to uncover.
      And I had to additionally create a libperl510.a - which, in your case, would be libperl514.a .

      Cheers,
      Rob
Re^4: Trouble Installing Win32::GuiTest
by Anonymous Monk on Aug 16, 2012 at 23:31 UTC

    Hi Rob, Here is the output of the perl -V.

    C:\strawberry\Win32-GuiTest-1.60>perl -V Set up gcc environment - 4.4.7 20111023 (prerelease) [svn/rev.180339 - + mingw-w64/oz] Summary of my perl5 (revision 5 version 14 subversion 2) configuration +: Platform: osname=MSWin32, osvers=5.2, archname=MSWin32-x64-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef 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='C:/STRAWB~1/c/bin/gcc.exe', ccflags ='-DNDEBUG -DWIN32 -D_CONS +OLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_ +SITECUSTOMI ZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DHASATTRI +BUTE -fno-strict-aliasing -mms-bitfields', optimize='-O2', cppflags='-DWIN32' ccversion='', gccversion='4.4.7 20111023 (prerelease) [svn/rev.180 +339 - mingw-w64/oz]', gccosandvers='' intsize=4, longsize=4, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8 ivtype='__int64', ivsize=8, nvtype='double', nvsize=8, Off_t='__in +t64', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='C:\STRAWB~1\c\bin\g++.exe', ldflags ='-L"C:\Perl64\lib\CORE"' libpth=\lib libs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 +-lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm + -lversion -lodbc32 -lodbccp32 -lcomctl32 -lbufferoverflowU -lmsvcrt perllibs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvap +i32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lw +inmm -lvers ion -lodbc32 -lodbccp32 -lcomctl32 -lbufferoverflowU -lmsvcrt libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl514.lib gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-mdll -L"C:\Perl64\lib\CORE"' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PL_OP_SLAB +_ALLOC USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF USE_SITECUSTOMIZE Locally applied patches: ActivePerl Build 1402 [295342] Built under MSWin32 Compiled at Oct 7 2011 15:19:36 %ENV: PERL5LIB="C:\Users\SPULLA~1\perl5\lib\perl5\MSWin32-x64-multi-thre +ad;C:\Users\SPULLA~1\perl5\lib\perl5" PERL_JSON_BACKEND="JSON::XS" PERL_MM_OPT="INSTALL_BASE=C:\Users\SPULLA~1\perl5" PERL_YAML_BACKEND="YAML" @INC: C:\Users\SPULLA~1\perl5\lib\perl5\MSWin32-x64-multi-thread C:\Users\SPULLA~1\perl5\lib\perl5/MSWin32-x64-multi-thread C:\Users\SPULLA~1\perl5\lib\perl5 C:/Perl64/site/lib C:/Perl64/lib .
      Hi Rob, Here is the output of the perl -V.

      Yes - you're trying to use 64-bit gcc with 64-bit ActivePerl.
      If you want that to work you need to install ExtUtils::FakeConfig.

      Cheers,
      Rob
        Hi Rob, I am also facing the same problem while installing Win32-GuiTest on Perl 64 bit v5.14.2 with MingW 64 bit compiler. I have also installed the ExtUtils::FakeConfig from CPAN. Then also I am not able to install this module. Compiling error occurs.

        CPAN.pm: Going to build K/KA/KARASIK/Win32-GuiTest-1.60.tar.gz Set up gcc environment - gcc.exe (rubenvb-4.5.4) 4.5.4 Checking if your kit is complete... Looks good Writing Makefile for Win32::GuiTest Writing MYMETA.yml cp lib/Win32/GuiTest/GuiTest.pc blib\lib\Win32\GuiTest\GuiTest.pc cp lib/Win32/GuiTest/Examples.pm blib\lib\Win32\GuiTest\Examples.pm cp lib/Win32/GuiTest.pm blib\lib\Win32\GuiTest.pm cp lib/Win32/GuiTest/Cmd.pm blib\lib\Win32\GuiTest\Cmd.pm C:\Perl64\bin\perl.exe -IC:\Perl64\lib -IC:\Perl64\lib C:\Perl64\lib\E +xtUtils\xsubpp -typemap C:\Perl64\lib\ExtUtils\typemap -typemap perl +object.ma C:/Perl64/site/bin/gcc.exe -c -DNDEBUG -DWIN32 -D_CONSOLE -D +NO_STRICT -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECU +STOMIZE - C:/Perl64/site/bin/gcc.exe -c -DNDEBUG -DWIN32 -D_CONSOLE -D +NO_STRICT -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECU +STOMIZE - Running Mkbootstrap for Win32::GuiTest () C:\Perl64\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 GuiTest.b +s C:\Perl64\bin\perl.exe -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"Win32::GuiTest\", 'DLBASE' => 'GuiTest', + 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' = +> []);" Set up gcc environment - gcc.exe (rubenvb-4.5.4) 4.5.4 dlltool --def GuiTest.def --output-exp dll.exp C:\Perl64\site\bin\g++.exe -o blib\arch\auto\Win32\GuiTest\GuiTest.dll + -Wl,--base-file -Wl,dll.base -mdll -L"C:\Perl64\lib\CORE" GuiTest.o +DibSect.o c:/perl64/site/lib/auto/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.5.4/ +../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lbufferoverfl +owU collect2: ld returned 1 exit status dmake.exe: Error code 129, while making 'blib\arch\auto\Win32\GuiTest +\GuiTest.dll' KARASIK/Win32-GuiTest-1.60.tar.gz C:\Perl64\site\bin\dmake.exe -- NOT OK Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible Failed during this command: KARASIK/Win32-GuiTest-1.60.tar.gz : make NO

Re^4: Trouble Installing Win32::GuiTest
by Anonymous Monk on Aug 16, 2012 at 23:27 UTC

    Here is the fill output of it. But this time, it gave me dmake: Error code 255, while making 'test_dynamic'

    C:\strawberry\Win32-GuiTest-1.60>install dmake 'install' is not recognized as an internal or external command, operable program or batch file. C:\strawberry\Win32-GuiTest-1.60>dmake install dmake: makefile: line 375: Warning: -- Duplicate target [GuiTest.o] Skip blib\lib\Win32\GuiTest\GuiTest.pc (unchanged) Skip blib\lib\Win32\GuiTest\Examples.pm (unchanged) Skip blib\lib\Win32\GuiTest.pm (unchanged) Skip blib\lib\Win32\GuiTest\Cmd.pm (unchanged) gcc -c -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_ +SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_S +YS -fno-str ict-aliasing -mms-bitfields -s -O2 -DVERSION=\"1.60\" -DXS_V +ERSION=\"1.60\" "-IC:\strawberry\perl\lib\CORE" GuiTest.cpp gcc -c -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_ +SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_S +YS -fno-str ict-aliasing -mms-bitfields -s -O2 -DVERSION=\"1.60\" -DXS_V +ERSION=\"1.60\" "-IC:\strawberry\perl\lib\CORE" DibSect.cpp Running Mkbootstrap for Win32::GuiTest () C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 644 Gu +iTest.bs dlltool --def GuiTest.def --output-exp dll.exp g++ -o blib\arch\auto\Win32\GuiTest\GuiTest.dll -Wl,--base-file -Wl,dl +l.base -mdll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\li +b" GuiTest. o DibSect.o C:\strawberry\perl\lib\CORE\libperl514.a -lmoldname -lke +rnel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -l +ole32 -lole aut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lod +bccp32 -lcomctl32 dll.exp dlltool --def GuiTest.def --base-file dll.base --output-exp dll.exp g++ -o blib\arch\auto\Win32\GuiTest\GuiTest.dll -mdll -s -L"C:\strawbe +rry\perl\lib\CORE" -L"C:\strawberry\c\lib" GuiTest.o DibSect.o C:\s +trawberry\p erl\lib\CORE\libperl514.a -lmoldname -lkernel32 -luser32 -lgdi32 -lwin +spool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 - +luuid -lws2 _32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 755 bl +ib\arch\auto\Win32\GuiTest\GuiTest.dll C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e cp -- GuiTest.b +s blib\arch\auto\Win32\GuiTest\GuiTest.bs C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 644 bl +ib\arch\auto\Win32\GuiTest\GuiTest.bs Files found in blib\arch: installing files in blib\lib into architectu +re dependent library tree Installing C:\Users\SPULLA~1\perl5\lib\perl5\MSWin32-x64-multi-thread\ +auto\Win32\GuiTest\GuiTest.bs Installing C:\Users\SPULLA~1\perl5\lib\perl5\MSWin32-x64-multi-thread\ +auto\Win32\GuiTest\GuiTest.dll Installing C:\Users\SPULLA~1\perl5\lib\perl5\MSWin32-x64-multi-thread\ +Win32\GuiTest.pm Installing C:\Users\SPULLA~1\perl5\lib\perl5\MSWin32-x64-multi-thread\ +Win32\GuiTest\Cmd.pm Installing C:\Users\SPULLA~1\perl5\lib\perl5\MSWin32-x64-multi-thread\ +Win32\GuiTest\Examples.pm Installing C:\Users\SPULLA~1\perl5\lib\perl5\MSWin32-x64-multi-thread\ +Win32\GuiTest\GuiTest.pc Appending installation info to C:\Users\SPULLA~1\perl5\lib\perl5\MSWin +32-x64-multi-thread/perllocal.pod C:\strawberry\Win32-GuiTest-1.60>dmake test dmake: makefile: line 375: Warning: -- Duplicate target [GuiTest.o] C:\strawberry\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_h +arness(0, 'blib\lib', 'blib\arch')" t/*.t t/01_basic.t ..... 3/? Bailout called. Further testing stopped: Plea +se close existing Notepad windows before proceeding FAILED--Further testing stopped: Please close existing Notepad windows + before proceeding dmake: Error code 255, while making 'test_dynamic' C:\strawberry\Win32-GuiTest-1.60>
      dmake: Error code 255, while making 'test_dynamic'

      Yes, that build worked fine. If you had closed all instances of notepad before doing that build you would most probably have found that the all tests passed and the build succeeded.

      So ... try doing the same thing again, but this time close all instances of notepad first. (Opened notepads cause trouble for the Win32-GuiTest suite - which is why it bails out if it detects that notepad is already opened.)

      Cheers,
      Rob

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (4)
As of 2024-03-19 03:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found