Hi,
This is just a problem for your particular machine / setup with multiple
compilers installed and the slight strangeness of the ActiveState mingw
PPM install.
To set up a working environment:
For example:
Install ActivePerl 5.12.3.12004 to
C:\aperltest
Create a batch file with the following two line content:
#-------------------------------------------------------------
set
PATH=C:\aperltest\site\bin;C:\aperltest\bin;C:\aperltest\site\lib\auto\MinGW\bin;%PATH%
cmd /K
#-------------------------------------------------------------
Run it and in the resulting command prompt:
cpan -i Alien::wxWidgets
Installs mingw-5.1.4 and Alien::wxWidgets successfully.
I feel the original issue is just a broken compiler environment rather
than an Alien issue - though it's just an opinion.
For info:
Your original issue arose because you have multiple compilers installed.
For the mingw install to work correctly if you have other compliers, it
needs to come first on your path. The ActivePerl mingw PPM is, I would
guess, prepared for users without other compilers installed.
There is a second issue that would have been encountered which is caused
by the PPM mingw install not putting mingwm10.dll on the PATH - which is
the right general thing to do - but it ought to be there when you're
actually building in the mingw environment. That's the only reason for
needing C:\aperltest\site\lib\auto\MinGW\bin on the path in the example.
Anyhow, I'll add a default fallback to Alien to look for
<site_arch>auto\MinGW\bin\mingwm10.dll if it isn't found on the path as
a specific workaround for ActivePerl mingw PPM.
This alone won't have made your own original install work, (mingw not
first on path - other compilers installed) but it would fix it for
anyone without other compilers already installed.
Regards
Mark
On 14/06/2011 08:39, Ahmad Zawawi wrote:
Here is the Alien::wxWidgets 0.52 failure when using ActivePerl 5.12.3
and ActiveState provided gcc. Please note that not all ActivePerl
platforms are supported for MinGW and dmake PPMs.
http://code.activestate.com/ppm/MinGW/
http://code.activestate.com/ppm/dmake/
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
cpanm (App::cpanminus) 1.4007 on perl 5.012003 built for
MSWin32-x86-multi-thread
Work directory is /.cpanm/work/1308034634.3520
You have make C:\Perl\site\bin\dmake.exe
You have LWP 5.837
Falling back to Archive::Tar 1.76
Searching Alien::wxWidgets on cpanmetadb ...
--> Working on Alien::wxWidgets
Fetching
http://search.cpan.org/CPAN/authors/id/M/MD/MDOOTSON/Alien-wxWidgets-0.52.tar.gz
-> OK
Unpacking Alien-wxWidgets-0.52.tar.gz
Entering Alien-wxWidgets-0.52
Checking configure dependencies from META.yml
Checking if you have Module::Build 0.28 ... Yes (0.3607)
Configuring Alien-wxWidgets-0.52
Running Build.PL
Set up gcc environment - 3.4.5 (mingw-vista special r3)
Set up gcc environment - 3.4.5 (mingw-vista special r3)
Creating new 'MYMETA.yml' with configuration results
Creating new 'Build' script for 'Alien-wxWidgets' version '0.52'
-> OK
Checking dependencies from MYMETA.yml ...
Checking if you have Module::Pluggable 2.6 ... Yes (3.9)
Checking if you have File::Spec 1.50 ... Yes (3.33)
Checking if you have Module::Build 0.28 ... Yes (0.3607)
Checking if you have ExtUtils::CBuilder 0.24 ... Yes (0.280201)
Building and testing Alien-wxWidgets-0.52
Set up gcc environment - 3.4.5 (mingw-vista special r3)
Set up gcc environment - 3.4.5 (mingw-vista special r3)
Set up gcc environment - 3.4.5 (mingw-vista special r3)
Set up gcc environment - 3.4.5 (mingw-vista special r3)
Could not find or check module 'IPC::Run' [THIS MAY BE A PROBLEM!] at
C:/Perl/lib/IPC/Cmd.pm line 126
Building Alien-wxWidgets
Fetching wxWidgets...
fetching from:
http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.8.12.tar.gz
Extracting wxWidgets...
Error listing contents of archive
'C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\wxWidgets-2.8.12.tar.gz':
at inc/My/Build/Base.pm line 322
Patching wxWidgets...
Applying patch:
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxMSW-2.8.0-setup_u.patch
perl -pe "" --
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxMSW-2.8.0-setup_u.patch
| ..\inc\bin\patch.exe -N -p0 -u -b -z .bak
patching file include/wx/msw/setup.h
Hunk #6 succeeded at 1003 (offset 13 lines).
Hunk #7 succeeded at 1064 (offset 13 lines).
Hunk #8 succeeded at 1185 (offset 13 lines).
Hunk #9 succeeded at 1233 (offset 13 lines).
Applying patch:
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxMSW-2.8.10-config.patch
perl -pe "" --
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxMSW-2.8.10-config.patch
| ..\inc\bin\patch.exe -N -p0 -u -b -z .bak
patching file build/msw/config.gcc
Hunk #1 succeeded at 83 with fuzz 1 (offset 6 lines).
Applying patch:
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxMSW-2.8.11-makefiles.patch
perl -pe "" --
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxMSW-2.8.11-makefiles.patch
| ..\inc\bin\patch.exe -N -p0 -u -b -z .bak
patching file build/msw/makefile.gcc
patching file contrib/build/stc/makefile.gcc
Applying patch:
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxMSW-2.8.10-w64-mslu.patch
perl -pe "" --
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxMSW-2.8.10-w64-mslu.patch
| ..\inc\bin\patch.exe -N -p0 -u -b -z .bak
patching file src/msw/mslu.cpp
Applying patch:
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxMSW-2.8.10-w64-winhash.patch
perl -pe "" --
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxMSW-2.8.10-w64-winhash.patch
| ..\inc\bin\patch.exe -N -p0 -u -b -z .bak
patching file src/msw/window.cpp
Hunk #1 succeeded at 3434 (offset 3 lines).
Hunk #2 succeeded at 3465 (offset 10 lines).
patching file src/msw/app.cpp
Applying patch:
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxMSW-2.8.12-w64.patch
perl -pe "" --
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxMSW-2.8.12-w64.patch
| ..\inc\bin\patch.exe -N -p0 -u -b -z .bak
patching file src/aui/framemanager.cpp
Hunk #1 succeeded at 974 (offset 1 line).
patching file src/common/utilscmn.cpp
patching file src/msw/dcprint.cpp
patching file src/msw/window.cpp
Hunk #2 succeeded at 3464 with fuzz 1 (offset 9 lines).
patching file src/msw/toplevel.cpp
patching file src/msw/menuitem.cpp
patching file src/msw/mdi.cpp
patching file src/msw/tooltip.cpp
patching file src/msw/menu.cpp
patching file src/msw/tbar95.cpp
patching file src/msw/thread.cpp
patching file src/msw/frame.cpp
Hunk #2 succeeded at 1086 (offset 5 lines).
patching file src/msw/pen.cpp
patching file src/msw/helpwin.cpp
patching file src/msw/printdlg.cpp
patching file src/msw/textctrl.cpp
patching file include/wx/defs.h
Hunk #2 succeeded at 959 (offset 5 lines).
Applying patch:
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxMSW-2.8.12-w64-stc.patch
perl -pe "" --
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxMSW-2.8.12-w64-stc.patch
| ..\inc\bin\patch.exe -N -p0 -u -b -z .bak
patching file contrib/src/stc/scintilla/include/Scintilla.h
Applying patch:
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxMSW-2.8.11-filefn.patch
perl -pe "" --
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxMSW-2.8.11-filefn.patch
| ..\inc\bin\patch.exe -N -p0 -u -b -z .bak
patching file include/wx/filefn.h
Applying patch:
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxWidgets-2.8.0-magic.patch
perl -pe "" --
C:\.cpanm\work\1308034634.3520\Alien-wxWidgets-0.52\patches\wxWidgets-2.8.0-magic.patch
| ..\inc\bin\patch.exe -N -p0 -u -b -z .bak
patching file src/generic/grid.cpp
Hunk #1 succeeded at 8317 (offset 272 lines).
if not exist gcc_mswudll mkdir gcc_mswudll
if not exist ..\..\lib\gcc_dll mkdir ..\..\lib\gcc_dll
if not exist ..\..\lib\gcc_dll\mswu mkdir ..\..\lib\gcc_dll\mswu
if not exist ..\..\lib\gcc_dll\mswu\wx mkdir ..\..\lib\gcc_dll\mswu\wx
if not exist ..\..\lib\gcc_dll\mswu\wx\setup.h copy
..\..\include\wx\msw\setup.h ..\..\lib\gcc_dll\mswu\wx\setup.h
1 file(s) copied.
if not exist ..\..\lib\gcc_dll\mswu\wx\msw mkdir ..\..\lib\gcc_dll\mswu\wx\msw
gcc -E "..\..\include\wx\msw\genrcdefs.h">
"..\..\lib\gcc_dll\mswu\wx\msw\rcdefs.h"
gcc -c -o gcc_mswudll\wxregex_regcomp.o -O2 -mthreads
-DHAVE_W32API_H -I..\..\include -I..\..\lib\gcc_dll\mswu -D__WXMSW__
-D_UNICODE -MTgcc_mswudll\wxregex_regcomp.o
-MFgcc_mswudll\wxregex_regcomp.o.d -MD -MP ../../src/regex/regcomp.c
gcc: installation problem, cannot exec `cc1': No such file or directory
mingw32-make: *** [gcc_mswudll\wxregex_regcomp.o] Error 1
system: mingw32-make -f makefile.gcc all UNICODE=1 MSLU=0
BUILD=release SHARED=1: 512 at inc/My/Build/Win32.pm line 269
-> FAIL Installing Alien::wxWidgets failed. See \.cpanm\build.log for details.