The end of life for Redhat 6.2 security updates happened at the end of March. Because of this, I have been upgrading our remote buildings with Redhat 8. Since each building has a T1 router, I wrote a small program to log the routers messages to a text file. While performing these upgrades, I ran into some small trouble with my code, which relies on the perl module: "Device::SerialPort". While attempting to install this, I ran into this error:
[root@domain Device-SerialPort-0.13]# perl Makefile.PL Finding ioctl methods ... trying 'termios.ph'... nope trying 'asm/termios.ph'... nope trying 'sys/termiox.ph'... nope trying 'sys/termios.ph'... nope trying 'sys/ttycom.ph'... nope trying 'sys/modem.ph'... nope Device::Serial could not find ioctl definitions! Perl did not find any .ph files to get at least the following ioctls: TIOCMBIS TIOCMBIC TIOCMGET CRTSCTS Please check your Perl installation, or read 'man h2ph'. As root, you may need to run: cd /usr/include; h2ph -r -l . before the Perl *.ph files will work.
So, I did what it told me to do: 'cd /usr/include; h2ph -r -l .' However, after trying to build Device::SerialPort again, it gave the same error. Time to google.
I came across a post: (Long url moved to end of page ) Which started me in the right direction. Although this post didn't fix *my* problem, at least I was headed in the right direction. After a trial and error with the post, this method finally worked for me:
cd /usr/include/ h2ph asm/*.h h2ph -r -l termios.h h2ph -r -l asm/termios.h h2ph -r -l sys/termios.h h2ph -r -l sys/ttychars.h h2ph asm/termbits.h h2ph asm/ioctls.h h2ph asm/termios.h
I had setup a machine last weekend using this, and I am currently configuring another machine for this weekend. Good thing for .bash_history, because I had no idea on which combination of using 'h2ph' worked for me.
Got something to add? Send me email.
More Articles by Bruce Garlock © 2010-10-27 Bruce Garlock
A refund for defective software might be nice, except it would bankrupt the entire software industry in the first year. (Andrew S. Tanenbaum)