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@perl.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/