This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Win32::API perl module


I have been trying to compile up Win32::API perl module under Cygwin's perl.

The latest version off CPAN doesn't build (see below).

I have found some refernces to patches people have applied to get it working in the past. In particular Win32:API version 0.20.
http://anfaenger.de/cygwin/libwin32/Win32-API-0.20cygwin/
But I was unable to get that working either, maybe because the Cygwin.dll and/or Perl (v5.8.2) has moved on since that patch was done?


I was wondering if anyone has got it working for themselves?
If not, I'd really appreciate someone taking a look. I am happy to do some of my own dirty work, but I have little knowledge of the Cygwin.dll so I really struggle to know where to look. I gather Win32::API is relying on a hook that the Cygwin.dll is not providing?


All I really need this for is to call a procedure in a DLL, that does some port IO for me. At the moment my work around is to use Active State perl, for which Win32::API does build, but it would be better to only have one version of Perl around.

Regards,
Jason

[/tmp/Win32-API-0.40]$ perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Win32::API::Callback
Writing Makefile for Win32::API
[/tmp/Win32-API-0.40]$ make
cp Type.pm blib/lib/Win32/API/Type.pm
cp Callback.pm blib/lib/Win32/API/Callback.pm
cp Struct.pm blib/lib/Win32/API/Struct.pm
cp API.pm blib/lib/Win32/API.pm
make[1]: Entering directory `/tmp/Win32-API-0.40/Callback'
/usr/bin/perl.exe /usr/lib/perl5/5.8.2/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.8.2/ExtUtils/typemap Callback.xs > Callback.xsc && mv Callback.xsc Callback.c
gcc -c -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -DUSEIMPORTLIB -O2 -DVERSION=\"0.40\" -DXS_VERSION=\"0.40\" "-I/usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE" Callback.c
Callback.xs: In function `XS_Win32__API__Callback_PushSelf':
Callback.xs:893: warning: cast to pointer from integer of different size
Callback.xs: In function `XS_Win32__API__Callback_DESTROY':
Callback.xs:905: warning: cast to pointer from integer of different size
Running Mkbootstrap for Win32::API::Callback ()
chmod 644 Callback.bs
rm -f ../blib/arch/auto/Win32/API/Callback/Callback.dll
LD_RUN_PATH="" ld2 -s -L/usr/local/lib Callback.o -o ../blib/arch/auto/Win32/API/Callback/Callback.dll /usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/libperl.dll.a gcc -shared -o Callback.dll -Wl,--out-implib=libCallback.dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--stack,8388608 \
-s -L/usr/local/lib Callback.o /usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/libperl.dll.a
Creating library file: libCallback.dll.a
Callback.o(.text+0x87b):Callback.c: undefined reference to `_itoa'
Callback.o(.text+0xf87):Callback.c: undefined reference to `_itoa'
collect2: ld returned 1 exit status
perlld: *** system() failed to execute
gcc -shared -o Callback.dll -Wl,--out-implib=libCallback.dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--stack,8388608 \
-s -L/usr/local/lib Callback.o /usr/lib/perl5/5.8.2/cygwin-thread-multi-64int/CORE/libperl.dll.a


make[1]: *** [../blib/arch/auto/Win32/API/Callback/Callback.dll] Error 1
make[1]: Leaving directory `/tmp/Win32-API-0.40/Callback'
make: *** [subdirs] Error 2


-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]