Problems compiling Win32 modules from CPAN

39 views
Skip to first unread message

Jared

unread,
Feb 13, 2011, 9:35:06 PM2/13/11
to camelbox
I've been having problems getting Win32 modules to compile on
Camelbox, which I need for my app. Originally I couldn't get
Win32::API and Win32::API to compile but updating MinGW to the latest
from MinGW's site fixed Win32::API. Now I'm still having problems with
Win32::Process. I tried updating the Win32 module, which failed too.
Here's the output of CPAN:

cpan[1]> install Win32::Process
CPAN: Storable loaded ok (v2.18)
Going to read C:\camelbox\.cpan\Metadata
Database was generated on Sun, 13 Feb 2011 21:29:06 GMT
CPAN: YAML loaded ok (v0.68)
Going to read C:\camelbox\.cpan\build/
............................................................................DONE

Found 13 old builds, restored the state of 13
Running install for module 'Win32::Process'
Running make for J/JD/JDB/Win32-Process-0.14.tar.gz
CPAN: Digest::SHA loaded ok (v5.45)
CPAN: Compress::Zlib loaded ok (v2.008)
Checksum for C:\camelbox\.cpan\sources\authors\id\J\JD\JDB\Win32-
Process-0.14.ta
r.gz ok
Scanning cache C:\camelbox\.cpan\build for sizes
............................................................................DONE

Win32-Process-0.14/
Win32-Process-0.14/Changes
Win32-Process-0.14/hints/
Win32-Process-0.14/hints/cygwin.pl
Win32-Process-0.14/Makefile.PL
Win32-Process-0.14/MANIFEST
Win32-Process-0.14/META.yml
Win32-Process-0.14/ppport.h
Win32-Process-0.14/Process.hpp
Win32-Process-0.14/Process.pm
Win32-Process-0.14/Process.xs
Win32-Process-0.14/test.pl
Win32-Process-0.14/typemap
CPAN: File::Temp loaded ok (v0.18)

CPAN.pm: Going to build J/JD/JDB/Win32-Process-0.14.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for Win32::Process
cp Process.pm blib\lib\Win32\Process.pm
C:\camelbox\bin\perl.exe -IC:\camelbox\lib -IC:\camelbox\lib C:
\camelbox\lib\Ext
Utils\xsubpp -typemap C:\camelbox\lib\ExtUtils\typemap -typemap
typemap Process
.xs >xstmp.c && C:\camelbox\bin\perl.exe -MExtUtils::Command -e mv
xstmp.c Proce
ss.cpp
gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -
DPERL_IMPLICIT_CONTEXT -DPERL_
IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX -s -O2 -
DVERSION=\"0.
14\" -DXS_VERSION=\"0.14\" "-IC:\camelbox\lib\CORE" Process.cpp
In file included from C:\camelbox\lib\CORE/win32thread.h:4:0,
from C:\camelbox\lib\CORE/perl.h:2748,
from Process.xs:13:
C:\camelbox\lib\CORE/win32.h:238:0: warning: "isnan" redefined
c:\camelbox\bin\../lib/gcc/mingw32/4.5.2/../../../../include/math.h:
411:0: note:
this is the location of the previous definition
Process.c: In function 'void boot_Win32__Process(PerlInterpreter*,
CV*)':
Process.c:840:1: warning: deprecated conversion from string constant
to 'char*'
Running Mkbootstrap for Win32::Process ()
C:\camelbox\bin\perl.exe -MExtUtils::Command -e chmod 644 Process.bs
C:\camelbox\bin\perl.exe -MExtUtils::Mksymlists \
-e "Mksymlists('NAME'=>\"Win32::Process\", 'DLBASE' => 'Process',
'DL_FUNCS
' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
dlltool --def Process.def --output-exp dll.exp
g++ -o blib\arch\auto\Win32\Process\Process.dll -Wl,--base-file -
Wl,dll.base -md
ll -s -L"C:\camelbox\lib\CORE" -L"C:\camelbox\lib" Process.o -Wl,--
image-base,0x
35010000 C:\camelbox\lib\CORE\libperl510.a -lmsvcrt -lmoldname -
lkernel32 -luse
r32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -
loleaut32 -lneta
pi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32
dll.exp
Process.o:Process.cpp:(.eh_frame+0x12): undefined reference to
`__gxx_personalit
y_v0'
C:\camelbox\lib/libstdc++.a(new_op.o):new_op.cc:(.text+0x34):
undefined referenc
e to `_Unwind_SjLj_Register'
C:\camelbox\lib/libstdc++.a(new_op.o):new_op.cc:(.text+0x87):
undefined referenc
e to `_Unwind_SjLj_Unregister'
C:\camelbox\lib/libstdc++.a(new_op.o):new_op.cc:(.text+0xb7):
undefined referenc
e to `_Unwind_SjLj_Resume'
C:\camelbox\lib/libstdc++.a(eh_catch.o):eh_catch.cc:(.text+0x34):
undefined refe
rence to `_Unwind_SjLj_Register'
C:\camelbox\lib/libstdc++.a(eh_catch.o):eh_catch.cc:(.text+0x72):
undefined refe
rence to `_Unwind_SjLj_Unregister'
C:\camelbox\lib/libstdc++.a(eh_catch.o):eh_catch.cc:(.text+0xaa):
undefined refe
rence to `_Unwind_SjLj_Unregister'
C:\camelbox\lib/libstdc++.a(eh_catch.o):eh_catch.cc:(.text+0xee):
undefined refe
rence to `_Unwind_SjLj_Resume'
C:\camelbox\lib/libstdc++.a(eh_personality.o):eh_personality.cc:(.text
+0x461): u
ndefined reference to `_Unwind_SjLj_Register'
C:\camelbox\lib/libstdc++.a(eh_personality.o):eh_personality.cc:(.text
+0x5d4): u
ndefined reference to `_Unwind_SjLj_Unregister'
C:\camelbox\lib/libstdc++.a(eh_personality.o):eh_personality.cc:(.text
+0x6c6): u
ndefined reference to `_Unwind_SjLj_Unregister'
C:\camelbox\lib/libstdc++.a(eh_personality.o):eh_personality.cc:(.text
+0x92a): u
ndefined reference to `_Unwind_SjLj_Resume'
C:\camelbox\lib/libstdc++.a(eh_personality.o):eh_personality.cc:(.text
+0x9b7): u
ndefined reference to `_Unwind_SjLj_Register'
C:\camelbox\lib/libstdc++.a(eh_personality.o):eh_personality.cc:(.text
+0xa3b): u
ndefined reference to `_Unwind_SjLj_Resume'
C:\camelbox\lib/libstdc++.a(eh_throw.o):eh_throw.cc:(.text+0x7b):
undefined refe
rence to `__w32_sharedptr_unexpected'
C:\camelbox\lib/libstdc++.a(eh_throw.o):eh_throw.cc:(.text+0x8c):
undefined refe
rence to `__w32_sharedptr_terminate'
C:\camelbox\lib/libstdc++.a(eh_throw.o):eh_throw.cc:(.text+0xa1):
undefined refe
rence to `_Unwind_SjLj_RaiseException'
C:\camelbox\lib/libstdc++.a(eh_throw.o):eh_throw.cc:(.text+0xfa):
undefined refe
rence to `_Unwind_SjLj_Resume_or_Rethrow'
C:\camelbox\lib/libstdc++.a(eh_alloc.o):eh_alloc.cc:(.text+0x54):
undefined refe
rence to `_Unwind_SjLj_Register'
C:\camelbox\lib/libstdc++.a(eh_alloc.o):eh_alloc.cc:(.text+0x98):
undefined refe
rence to `_Unwind_SjLj_Unregister'
C:\camelbox\lib/libstdc++.a(eh_alloc.o):eh_alloc.cc:(.text+0x197):
undefined ref
erence to `_Unwind_SjLj_Resume'
C:\camelbox\lib/libstdc++.a(eh_alloc.o):eh_alloc.cc:(.text+0x1e4):
undefined ref
erence to `_Unwind_SjLj_Register'
C:\camelbox\lib/libstdc++.a(eh_alloc.o):eh_alloc.cc:(.text+0x252):
undefined ref
erence to `_Unwind_SjLj_Unregister'
C:\camelbox\lib/libstdc++.a(eh_alloc.o):eh_alloc.cc:(.text+0x28f):
undefined ref
erence to `_Unwind_SjLj_Resume'
C:\camelbox\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x4e):
undefined
reference to `__w32_sharedptr'
C:\camelbox\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0xb4):
undefined
reference to `_Unwind_SjLj_Register'
C:\camelbox\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0xb9):
undefined
reference to `__w32_sharedptr'
C:\camelbox\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0xd1):
undefined
reference to `_Unwind_SjLj_Unregister'
C:\camelbox\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x101):
undefined
reference to `_Unwind_SjLj_Unregister'
C:\camelbox\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x12c):
undefined
reference to `_Unwind_SjLj_Resume'
C:\camelbox\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x174):
undefined
reference to `_Unwind_SjLj_Register'
C:\camelbox\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x179):
undefined
reference to `__w32_sharedptr'
C:\camelbox\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x186):
undefined
reference to `__w32_sharedptr'
C:\camelbox\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x1b4):
undefined
reference to `_Unwind_SjLj_Unregister'
C:\camelbox\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x1e3):
undefined
reference to `__w32_sharedptr'
C:\camelbox\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x1ef):
undefined
reference to `__w32_sharedptr'
C:\camelbox\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x20d):
undefined
reference to `_Unwind_SjLj_Unregister'
C:\camelbox\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x238):
undefined
reference to `_Unwind_SjLj_Resume'
C:\camelbox\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x23d):
undefined
reference to `__w32_sharedptr'
C:\camelbox\lib/libstdc++.a(eh_globals.o):eh_globals.cc:(.text+0x28a):
undefined
reference to `__w32_sharedptr'
C:\camelbox\lib/libstdc++.a(eh_terminate.o):eh_terminate.cc:(.text
+0x34): undefi
ned reference to `_Unwind_SjLj_Register'
C:\camelbox\lib/libstdc++.a(eh_terminate.o):eh_terminate.cc:(.text
+0x67): undefi
ned reference to `__w32_sharedptr_terminate'
C:\camelbox\lib/libstdc++.a(eh_terminate.o):eh_terminate.cc:(.text
+0x97): undefi
ned reference to `__w32_sharedptr_unexpected'
C:\camelbox\lib/libstdc++.a(eh_terminate.o):eh_terminate.cc:(.text
+0xb3): undefi
ned reference to `__w32_sharedptr_terminate'
C:\camelbox\lib/libstdc++.a(eh_terminate.o):eh_terminate.cc:(.text
+0xd3): undefi
ned reference to `__w32_sharedptr_unexpected'
collect2: ld returned 1 exit status
dmake.EXE: Error code 129, while making 'blib\arch\auto\Win32\Process
\Process.d
ll'
JDB/Win32-Process-0.14.tar.gz
C:\camelbox\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:
JDB/Win32-Process-0.14.tar.gz : make NO

Any ideas?

Brian Manning

unread,
Feb 14, 2011, 2:32:31 PM2/14/11
to came...@googlegroups.com
On Sun, Feb 13, 2011 at 6:35 PM, Jared <jared....@gmail.com> wrote:
> I've been having problems getting Win32 modules to compile on
> Camelbox, which I need for my app. Originally I couldn't get
> Win32::API and Win32::API to compile but updating MinGW to the latest
> from MinGW's site fixed Win32::API.

What was wrong with the version of Win32::API that came with Camelbox (0.58)?

> Now I'm still having problems with
> Win32::Process. I tried updating the Win32 module, which failed too.

[snipped]
> Any ideas?

What was wrong with the version of Win32::Process that came with
Camelbox (0.14)?

I don't recommend swapping MinGW out with a newer version; the version
that was compiled with that specific release of Camelbox is the one
you should be using. If you want a newer version of MinGW, you should
compile your own Perl against it. I see this a lot on the DBI list,
you generally only want to use the compiler that originally compiled
your Perl and associated modules, or "Problems will ensue".

Thanks,

Brian

Jared

unread,
Feb 14, 2011, 6:01:14 PM2/14/11
to camelbox
What's wrong with the Win32::API and Win32::Process modules that came
with Camelbox? I missed the option to install the Win32 modules in the
installer (doh!). It's working now, thanks for the quick response lol.

-Jared

On Feb 14, 2:32 pm, Brian Manning <elspicyj...@gmail.com> wrote:
Reply all
Reply to author
Forward
0 new messages