qlcplus: Manjaro/Arch Compilation error libftdi

im building glcplus (4.12.3) on Manjaro, i tried from the aur and tried to build it myself

i suppose there is a dependency version issue with libftdi and libusb

g++ -c -Wno-deprecated-declarations -Wno-deprecated-copy -Werror -Wno-unused-local-typedefs -O2 -Wall -Wextra -D_REENTRANT -fPIC -DQT_NO_DEBUG_OUTPUT -DLIBFTDI1 -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I../../interfaces -I../../midi/src/common -I/usr/include/libftdipp1 -I/usr/include/libusb-1.0 -I/usr/include/qt -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o libftdi-interface.o libftdi-interface.cpp
libftdi-interface.cpp: In static member function ‘static QList<DMXInterface*> LibFTDIInterface::interfaces(QList<DMXInterface*>)’:
libftdi-interface.cpp:138:37: error: ‘struct ftdi_context’ has no member named ‘usb_ctx’
  138 |     if (libusb_get_device_list(ftdi.usb_ctx, &devs) < 0)
      |                                     ^~~~~~~
libftdi-interface.cpp:182:37: error: cannot convert ‘libusb_device*’ to ‘usb_device*’
  182 |         ftdi_usb_get_strings(&ftdi, dev, vend, 256, nme, 256, ser, 256);
      |                                     ^~~
      |                                     |
      |                                     libusb_device*
In file included from libftdi-interface.h:24,
                 from libftdi-interface.cpp:31:
/usr/include/ftdi.h:376:76: note:   initializing argument 2 of ‘int ftdi_usb_get_strings(ftdi_context*, usb_device*, char*, int, char*, int, char*, int)’
  376 |     int ftdi_usb_get_strings(struct ftdi_context *ftdi, struct usb_device *dev,
      |                                                         ~~~~~~~~~~~~~~~~~~~^~~
In file included from libftdi-interface.cpp:28:
/usr/include/libusb-1.0/libusb.h:944:8: note: class type ‘libusb_device’ is incomplete
  944 | struct libusb_device;
      |        ^~~~~~~~~~~~~
make[3]: *** [Makefile:745: libftdi-interface.o] Error 1
make[3]: Leaving directory '/home/llelievr/Downloads/qlcplus/plugins/dmxusb/src'
make[2]: *** [Makefile:47: sub-src-make_first-ordered] Error 2
make[2]: Leaving directory '/home/llelievr/Downloads/qlcplus/plugins/dmxusb'
make[1]: *** [Makefile:60: sub-dmxusb-make_first] Error 2
make[1]: Leaving directory '/home/llelievr/Downloads/qlcplus/plugins'
make: *** [Makefile:356: sub-plugins-make_first-ordered] Error 2

I never made an issue on github. Please tell me if something is missing.

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 11
  • Comments: 22 (10 by maintainers)

Most upvoted comments

Any idea on when this is going to be fixed ? i really need qlcplus ^^

I have exactly the same version and I have the same issues:

home> pkg-config --modversion libftdi1    
1.5
home> pkg-config --modversion libusb-1.0            
1.0.24
home> pkg-config --modversion libusb    
0.1.12

@all Can I consider this a closed case then?