Message ID | 1529257913-9183-1-git-send-email-danwalkes@trellis-logic.com |
---|---|
State | Accepted |
Headers | show |
Series | [1/1] package/hidapi: select glibc gconv libs copy | expand |
Hi Dan, On Sun, Jun 17, 2018 at 05:51:53PM +0000, Dan Walkes wrote: > Hidapi source uses iconv_open UTF-16 conversion [1] which requires > gconv libararies when buiding with glibc in order to successfully > find serial number, manufacturer and product strings [2]. > > Use select in the config file to autmatically select gconv libararies > for inclusion on the target when building with glibc > > Tested with ./utils/test-pkg -c hidapi.cfg -p hidapi and hidapi.cfg file > contents: > BR2_PACKAGE_HIDAPI=y > BR2_PACKAGE_EUDEV=y > BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y > BR2_USE_MMU=y > BR2_USE_WCHAR=y > > Also tested on x86-64 build target with application using hidapi > > [1]: https://github.com/signal11/hidapi/blob/a6a622ffb680c55da0de787ff93b80280498330f/libusb/hid.c#L446 > [2]: https://www.silabs.com/community/interface/forum.topic.html/cp2114_linux_sta-RtWg > > Signed-off-by: Dan Walkes <danwalkes@trellis-logic.com> > Tested-by: Dan Walkes <danwalkes@trellis-logic.com> > --- > package/hidapi/Config.in | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/package/hidapi/Config.in b/package/hidapi/Config.in > index f6a31ba..d02ec23 100644 > --- a/package/hidapi/Config.in > +++ b/package/hidapi/Config.in > @@ -5,6 +5,7 @@ config BR2_PACKAGE_HIDAPI > select BR2_PACKAGE_LIBUSB > select BR2_PACKAGE_LIBGUDEV > select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE > + select BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY if BR2_TOOLCHAIN_USES_GLIBC # runtime UTF conversion support This does not work for external toolchains. Maybe just add a comment in the help text saying that fully featured build requires BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY. > help > HIDAPI is a multi-platform library which allows an application > to interface with USB and Bluetooth HID-Class devices on baruch
Hi Baruch, >> diff --git a/package/hidapi/Config.in b/package/hidapi/Config.in >> index f6a31ba..d02ec23 100644 >> --- a/package/hidapi/Config.in >> +++ b/package/hidapi/Config.in >> @@ -5,6 +5,7 @@ config BR2_PACKAGE_HIDAPI >> select BR2_PACKAGE_LIBUSB >> select BR2_PACKAGE_LIBGUDEV >> select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE >> + select BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY if BR2_TOOLCHAIN_USES_GLIBC # runtime UTF conversion support > > This does not work for external toolchains. > > Maybe just add a comment in the help text saying that fully featured build > requires BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY. > >> help >> HIDAPI is a multi-platform library which allows an application >> to interface with USB and Bluetooth HID-Class devices on > Sure, I could resubmit the patch with this text in addition: --- diff --git a/package/hidapi/Config.in b/package/hidapi/Config.in index d02ec23..7d79dab 100644 --- a/package/hidapi/Config.in +++ b/package/hidapi/Config.in @@ -11,6 +11,9 @@ config BR2_PACKAGE_HIDAPI to interface with USB and Bluetooth HID-Class devices on Windows, Linux, and Mac OS X. + When using an external toolchain configuration BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY must be configured + to support parsing of USB string descriptors. + http://www.signal11.us/oss/hidapi/ comment "hidapi needs udev /dev management and a toolchain w/ NPTL threads" --- Should I also add this comment to the kodi/Config.in at [1] as I used this as the example? [1]: https://github.com/buildroot/buildroot/commit/48a717343deabbf9aa8b09f0c2b6944bcb5a81d9
Hello, On Sun, 17 Jun 2018 21:07:09 +0300, Baruch Siach wrote: > > diff --git a/package/hidapi/Config.in b/package/hidapi/Config.in > > index f6a31ba..d02ec23 100644 > > --- a/package/hidapi/Config.in > > +++ b/package/hidapi/Config.in > > @@ -5,6 +5,7 @@ config BR2_PACKAGE_HIDAPI > > select BR2_PACKAGE_LIBUSB > > select BR2_PACKAGE_LIBGUDEV > > select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE > > + select BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY if BR2_TOOLCHAIN_USES_GLIBC # runtime UTF conversion support > > This does not work for external toolchains. Why ? The TOOLCHAIN_GLIBC_COPY_GCONV_LIBS hook is called for both internal and external toolchains, and the BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY option exists for both internal and external toolchains. Best regards, Thomas
Hello, On Sun, 17 Jun 2018 17:51:53 +0000, Dan Walkes wrote: > Hidapi source uses iconv_open UTF-16 conversion [1] which requires > gconv libararies when buiding with glibc in order to successfully > find serial number, manufacturer and product strings [2]. > > Use select in the config file to autmatically select gconv libararies > for inclusion on the target when building with glibc > > Tested with ./utils/test-pkg -c hidapi.cfg -p hidapi and hidapi.cfg file > contents: > BR2_PACKAGE_HIDAPI=y > BR2_PACKAGE_EUDEV=y > BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y > BR2_USE_MMU=y > BR2_USE_WCHAR=y > > Also tested on x86-64 build target with application using hidapi > > [1]: https://github.com/signal11/hidapi/blob/a6a622ffb680c55da0de787ff93b80280498330f/libusb/hid.c#L446 > [2]: https://www.silabs.com/community/interface/forum.topic.html/cp2114_linux_sta-RtWg > > Signed-off-by: Dan Walkes <danwalkes@trellis-logic.com> > Tested-by: Dan Walkes <danwalkes@trellis-logic.com> > --- > package/hidapi/Config.in | 1 + > 1 file changed, 1 insertion(+) Applied to master, thanks. Thomas
>>>>> "Dan" == Dan Walkes <danwalkes@trellis-logic.com> writes: > Hidapi source uses iconv_open UTF-16 conversion [1] which requires > gconv libararies when buiding with glibc in order to successfully > find serial number, manufacturer and product strings [2]. > Use select in the config file to autmatically select gconv libararies > for inclusion on the target when building with glibc > Tested with ./utils/test-pkg -c hidapi.cfg -p hidapi and hidapi.cfg file > contents: > BR2_PACKAGE_HIDAPI=y > BR2_PACKAGE_EUDEV=y > BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y > BR2_USE_MMU=y > BR2_USE_WCHAR=y > Also tested on x86-64 build target with application using hidapi > [1]: https://github.com/signal11/hidapi/blob/a6a622ffb680c55da0de787ff93b80280498330f/libusb/hid.c#L446 > [2]: https://www.silabs.com/community/interface/forum.topic.html/cp2114_linux_sta-RtWg > Signed-off-by: Dan Walkes <danwalkes@trellis-logic.com> > Tested-by: Dan Walkes <danwalkes@trellis-logic.com> Committed to 2018.02.x and 2018.05.x, thanks.
diff --git a/package/hidapi/Config.in b/package/hidapi/Config.in index f6a31ba..d02ec23 100644 --- a/package/hidapi/Config.in +++ b/package/hidapi/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_HIDAPI select BR2_PACKAGE_LIBUSB select BR2_PACKAGE_LIBGUDEV select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + select BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY if BR2_TOOLCHAIN_USES_GLIBC # runtime UTF conversion support help HIDAPI is a multi-platform library which allows an application to interface with USB and Bluetooth HID-Class devices on