Please do not reply directly to this email. All additional comments should be made in the comments box of this bug report.
Summary: (libperl) could not run system-config-printer
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=171111
jvdias@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |MODIFIED
------- Additional Comments From jvdias@redhat.com 2005-10-25 18:20 EST ------- OK, I've finally found and fixed the problem here, now that I've brought my USB printer in to work from home (unecessarily! :-)
perl was looking for an IOCPARM_LEN(ioctl_number) macro to return the length bits from the ioctl function number. This works OK on BSD systems. But if IOCPARM_LEN was not defined, perl.h "guessed" and defined IOCPARM_LEN(ioctl_number) to be 256 . Linux has no IOCPARM_LEN(x) macro.
So any printer that returned an ID string > 256 bytes would cause a SIGSEGV .
Linux has the _IOC_SIZE(x) macro, so I changed perl.h to use _IOC_SIZE(x) if IOCPARM_LEN is not defined instead of constant 256.
I have submitted this bug upstream with perlbug - waiting for a RT #.
So this bug is now fixed in Rawhide (FC-5) with perl-5.8.7-0.6.fc5 . It will now have to be fixed in RHEL-3, RHEL-4, FC-4, FC-3 .
perl-devel@lists.fedoraproject.org