delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/05/01/06:03:13

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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: <4274A949.3080509@x-ray.at>
Date: Sun, 01 May 2005 12:02:49 +0200
From: Reini Urban <rurban AT x-ray DOT at>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; de-AT; rv:1.8b) Gecko/20050217
MIME-Version: 1.0
To: perl-win32-porters AT listserv DOT ActiveState DOT com
CC: cygwin AT cygwin DOT com
Subject: Re: Perl-Win32-Porters Digest, Vol 14, Issue 1
References: <200504301905 DOT j3UJ552K018581 AT listserv DOT activestate DOT com>
In-Reply-To: <200504301905.j3UJ552K018581@listserv.activestate.com>
X-IsSubscribed: yes

robert johnson schrieb:
> hello
> 
> i have been using activestate's perl for win32 just fine, except that i cant do
> ZModem transfers.  so I installed CYGWIN, and built a new perl in that
> environment, with the hopes i could use available zmodem routines built for
> *nix.
> 
> problem is, whereas Win32::SerialPort worked just fine in windows, the
> corresponding Device::SerialPort is not working so well in Cygwin.  the make
> complains that it cant find the following header files:
> 
> /usr/include/sys/termiox.h
> /usr/include/sys/ttycom.h
> /usr/include/sys/modem.h
> 
> and warns:
> 
> checking the checking serial control via ioctl... no
> configure: WARNING: Without ioctl support, most serial control functions are
> missing.
> 
> well, thats not going to work.  and Device::Modem has a dependency on
> Device::SerialPort.
> 
> ive been all over the net, the boards, hassling the folks at cygwin and the
> author of the Devices::SerialPort module (Kees).  Cygwin claims that the
> headers in quesion have never been in their distribution, and so the problem is
> in the application code.  SerialPort.pm's author just said "hm, never tried it
> on Cygwin".
> 
> so...  my task, should i accept it, is to port SerialPort.pm over to cygwin, by
> resolving the problems with the three missing header files.  at least.  and
> probably then some more.
> 
> which would be difficult if i knew what i was doing.  But since I Have No Idea,
> it should be a breeze, right?
> 
> anyone got any suggestions?

refering to:
   http://sourceware.org/ml/cygwin/2005-04/msg01371.html

1) Why did you build perl from scratch where it would be just easier to 
install the cygwin package?
I didn't need those headers with the regular cygwin perl package and the 
regular cpan Device::SerialPort package.
You may need ioctl but it is easier to use the winapi directly than the 
POSIX quirks. Forget the headers. Look at the original source.

2) Why do ask cygwin questions here at the defunct activestate list?
The new libwin32 list is libwin32 AT perl DOT org

3) What's wrong with the Win32 package. Device::SerialPort is just a 
backport from the original Win32::SerialPort (based on 
Win32API::CommPort) over to POSIX. Using the direct package even on 
cygwin would be much better.

4) cpan Device::SerialPort
ioctl is missing, but this is not important imho.
checking serial control via ioctl... no
configure: WARNING: Without ioctl support, most serial control functions 
are missing
checking read/write of RTS signal... no
configure: WARNING: You will not be able to check or change the RTS line 
(direct flow control)
checking read/write of DTR signal... no
configure: WARNING: You will not be able to check or change the DTR line 
(modem hang up)

but only one test is failing:
t/test3.......FAILED test 93
         Failed 1/159 tests, 99.37% okay
   $err=$tock - $tick;
   is_bad ($err > 50);				# 93
   print "<0> elapsed time=$err\n";
( I had no modem attached )
1/727 subtests failed, 99.86% okay.

Conclusion if this is not enough:

1) I would recommend to build Win32::SerialPort and Win32API::CommPort 
on cygwin (SerialPort-0.19), which will just require adding MakeMaker 
support. At least the cygwin folks will highly appreciate it, if not the 
cpan folks also.
2) Easier would be to add cygwin support to Device::SerialPort by using 
the original WINAPI calls for the few ioctl functions. And it will be 
more likely that the Device::SerialPort maintainer will accept it.
-- 
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/
http://phpwiki.org/

--
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019