TILP (formerly GtkTiLink) can transfer data between Texas Instruments graphing calculators and a computer. It works with all link cables (parallel, serial, Black/Gray/Silver/Direct Link) and it supports the TI-Z80 series (73..86), the TI-eZ80 series (83PCE, 84+CE), the TI-68k series (89, 92, 92+, V200, 89T) and the Nspire series (Nspire Clickpad / Touchpad / CX, both CAS and non-CAS)
When ran with a minimally-populated /dev or an empty /dev (such as in a chroot; the Fedora mock build tool tries to build in a chroot with a minimal /dev), the libticables2 test suite would segfault.
Some digging determined that the problem lay in calling "libusb_init" when building with libusbx / libusb1. I took a look at the libusbx test suite and found the problem was that the code wasn't checking if libusb_init succeeded or failed; the code just assumed it succeeded.
I wrote a patch for the RPM here that fixes this by storing the output of libusb_init and then only running libusb_exit if libusb_init succeeded. With the patch, the test suite no longer segfaults.
I can make a pull request and add the patch in as a commit if that would be preferable.
When ran with a minimally-populated /dev or an empty /dev (such as in a chroot; the Fedora mock build tool tries to build in a chroot with a minimal /dev), the libticables2 test suite would segfault.
Some digging determined that the problem lay in calling "libusb_init" when building with libusbx / libusb1. I took a look at the libusbx test suite and found the problem was that the code wasn't checking if libusb_init succeeded or failed; the code just assumed it succeeded.
Further calls to libusb routines would fail if libusb_init did not return a LIBUSB_SUCCESS code (see http://libusbx.sourceforge.net/api-1.0/group__lib.html).
I wrote a patch for the RPM here that fixes this by storing the output of libusb_init and then only running libusb_exit if libusb_init succeeded. With the patch, the test suite no longer segfaults.
I can make a pull request and add the patch in as a commit if that would be preferable.