-
Notifications
You must be signed in to change notification settings - Fork 16
Open
Description
I haven't tested on different FreeBSD versions, but I have tested on two different FreeBSD 14 systems, one with 1.17 (from packages) and one with 1.18 (from ports).
The symptom is it installs but can't open any ptys. This test program demonstrates it:
#!/usr/local/bin/perl
use IO::Pty;
$mpty = IO::Pty->new;
In the broken state, truss indicates it's trying to open lots of pty variations that don't exist:
openat(AT_FDCWD,"/dev/ptyp0151",O_RDWR|O_NOCTTY,00) ERR#2 'No such file or directory'
openat(AT_FDCWD,"/dev/ptyto",O_RDWR|O_NOCTTY,00) ERR#2 'No such file or directory'
openat(AT_FDCWD,"/dev/ptyp152",O_RDWR|O_NOCTTY,00) ERR#2 'No such file or directory'
openat(AT_FDCWD,"/dev/pt/to",O_RDWR|O_NOCTTY,00) ERR#2 'No such file or directory'
openat(AT_FDCWD,"/dev/ptyp0152",O_RDWR|O_NOCTTY,00) ERR#2 'No such file or directory'
openat(AT_FDCWD,"/dev/ptytp",O_RDWR|O_NOCTTY,00) ERR#2 'No such file or directory'
And then pty_allocate() returns nothing.
Comparing build output from 1.17 and 1.18 shows the build process is not finding a lot of needed functions.
Building 1.17 (cd /usr/ports/devel/p5-IO-Tty ; make) the following functions are found:
Looking for _getpty()...... not found.
Looking for getpt()........ not found.
Looking for grantpt()...... FOUND.
Looking for openpty()...... FOUND.
Looking for posix_openpt(). FOUND.
Looking for ptsname()...... FOUND.
Looking for ptsname_r().... FOUND.
Looking for sigaction().... FOUND.
Looking for strlcpy()...... FOUND.
Looking for ttyname()...... FOUND.
Looking for unlockpt()..... FOUND.
Looking for libutil.h...... FOUND.
Looking for pty.h.......... not found.
Looking for sys/pty.h...... not found.
Looking for sys/ptyio.h.... not found.
Looking for sys/stropts.h.. not found.
Looking for termio.h....... not found.
Looking for termios.h...... FOUND.
Looking for util.h......... not found.
Doing the same with 1.18:
Looking for getpt()........ not found.
Looking for grantpt()...... not found.
Looking for openpty()...... not found.
Looking for posix_openpt(). not found.
Looking for ptsname()...... not found.
Looking for ptsname_r().... not found.
Looking for sigaction().... not found.
Looking for strlcpy()...... not found.
Looking for ttyname()...... not found.
Looking for unlockpt()..... not found.
Looking for libutil.h...... FOUND.
Looking for pty.h.......... not found.
Looking for sys/pty.h...... not found.
Looking for sys/ptyio.h.... not found.
Looking for sys/stropts.h.. not found.
Looking for termio.h....... not found.
Looking for termios.h...... FOUND.
Looking for util.h......... not found.
I'm happy to test any fixes.
Metadata
Metadata
Assignees
Labels
No labels