Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <4188D163.7020204@ieee.org> Date: Wed, 03 Nov 2004 12:38:59 +0000 From: Jason Pearce User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040616 MIME-Version: 1.0 To: Cygwin List Subject: Win32::API perl module Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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/