Skip to contentSkip to conversation

libusbgx: fix build with glibc

PATCH New Gwenhael Goavec-Merou 2 participants 3 messages Aug 22, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 libusbgx: fix build with glibc

From: Gwenhael Goavec-Merou <[email protected]>

Without sys/sysmacros.h and with glibc build fails with error like:
libusbgx-libusbgx-v0.2.0/src/.libs/libusbgx.so: undefined reference to minor' libusbgx-libusbgx-v0.2.0/src/.libs/libusbgx.so: undefined reference to major' libusbgx-libusbgx-v0.2.0/src/.libs/libusbgx.so: undefined reference to `makedev'

backport and adapt pr #28 (https://github.com/libusbgx/libusbgx/pull/28)

fix:
http://autobuild.buildroot.net/results/872e2ab084c0c9bf466265d2f66140fbba692ee6/

---
 .../0001-Add-include-of-sys-sysmacro.h.patch       | 94 ++++++++++++++++++++++
 1 file changed, 94 insertions(+)
 create mode 100644 package/libusbgx/0001-Add-include-of-sys-sysmacro.h.patch
package/libusbgx/0001-Add-include-of-sys-sysmacro.h.patch new file +94 -0
new file mode 100644
index 0000000000..997cbf9a12
@@ -0,0 +1,94 @@
+Add include of sys/sysmacro.h.
+
+Without sys/sysmacros.h and with glibc build fails with error like:
+
+libusbgx-libusbgx-v0.2.0/src/.libs/libusbgx.so: undefined reference to `minor'
+libusbgx-libusbgx-v0.2.0/src/.libs/libusbgx.so: undefined reference to `major'
+libusbgx-libusbgx-v0.2.0/src/.libs/libusbgx.so: undefined reference to `makedev'
+
+Signed-off-by: Gwenhael Goavec-Merou <[email protected]>
+Signed-off-by: Sid Spry <[email protected]>
+---
+ examples/gadget-acm-ecm.c              | 1 +
+ examples/gadget-import.c               | 1 +
+ examples/gadget-ms.c                   | 1 +
+ examples/show-gadgets.c                | 1 +
+ examples/show-udcs.c                   | 1 +
+ include/usbg/usbg_internal_libconfig.h | 1 +
+ 6 files changed, 6 insertions(+)
+
+diff --git a/examples/gadget-acm-ecm.c b/examples/gadget-acm-ecm.c
+index 1c5e2ca..29360da 100644
+--- a/examples/gadget-acm-ecm.c
++++ b/examples/gadget-acm-ecm.c
+@@ -20,6 +20,7 @@
+ 
+ #include <errno.h>
+ #include <stdio.h>
++#include <sys/sysmacros.h>
+ #include <linux/usb/ch9.h>
+ #include <usbg/usbg.h>
+ 
+diff --git a/examples/gadget-import.c b/examples/gadget-import.c
+index e684fdb..63df449 100644
+--- a/examples/gadget-import.c
++++ b/examples/gadget-import.c
+@@ -25,6 +25,7 @@
+ #include <errno.h>
+ #include <string.h>
+ #include <stdio.h>
++#include <sys/sysmacros.h>
+ #include <usbg/usbg.h>
+ 
+ int main(int argc, char **argv)
+diff --git a/examples/gadget-ms.c b/examples/gadget-ms.c
+index 478c370..a5c6681 100644
+--- a/examples/gadget-ms.c
++++ b/examples/gadget-ms.c
+@@ -23,6 +23,7 @@
+ 
+ #include <errno.h>
+ #include <stdio.h>
++#include <sys/sysmacros.h>
+ #include <linux/usb/ch9.h>
+ #include <usbg/usbg.h>
+ #include <usbg/function/ms.h>
+diff --git a/examples/show-gadgets.c b/examples/show-gadgets.c
+index 707d448..a2a21c8 100644
+--- a/examples/show-gadgets.c
++++ b/examples/show-gadgets.c
+@@ -21,6 +21,7 @@
+ #include <errno.h>
+ #include <stdio.h>
+ #include <string.h>
++#include <sys/sysmacros.h>
+ #include <netinet/ether.h>
+ #include <usbg/usbg.h>
+ #include <usbg/function/ms.h>
+diff --git a/examples/show-udcs.c b/examples/show-udcs.c
+index 66e950f..2f5cc45 100644
+--- a/examples/show-udcs.c
++++ b/examples/show-udcs.c
+@@ -23,6 +23,7 @@
+ 
+ #include <errno.h>
+ #include <stdio.h>
++#include <sys/sysmacros.h>
+ #include <usbg/usbg.h>
+ 
+ int main(void)
+diff --git a/include/usbg/usbg_internal_libconfig.h b/include/usbg/usbg_internal_libconfig.h
+index ac51758..3fa55c0 100644
+--- a/include/usbg/usbg_internal_libconfig.h
++++ b/include/usbg/usbg_internal_libconfig.h
+@@ -12,6 +12,7 @@
+ #ifndef USBG_INTERNAL_LIBCONFIG_H
+ #define USBG_INTERNAL_LIBCONFIG_H
+ 
++#include <sys/sysmacros.h>
+ #include <libconfig.h>
+ #ifdef __cplusplus
+ extern "C" {
+-- 
+2.16.4
+
Signature · 1 line
2.16.4
#1 lore raw

PATCH 1/1 libusbgx: fix build with glibc

Hello Gwenhael,

Quoted 7 lines · Gwenhael Goavec-Merou

From: Gwenhael Goavec-Merou <[email protected]>

Without sys/sysmacros.h and with glibc build fails with error like:
libusbgx-libusbgx-v0.2.0/src/.libs/libusbgx.so: undefined reference to minor' libusbgx-libusbgx-v0.2.0/src/.libs/libusbgx.so: undefined reference to major' libusbgx-libusbgx-v0.2.0/src/.libs/libusbgx.so: undefined reference to `makedev'

Quoted 6 lines

backport and adapt pr #28 (https://github.com/libusbgx/libusbgx/pull/28)

fix:
http://autobuild.buildroot.net/results/872e2ab084c0c9bf466265d2f66140fbba692ee6/

This error only happened once so far, on the next branch. Is it related to the bump of glibc 2.28 or is it also needed with older glibc versions ?

I'm trying to figure out if this fix should be applied to the next branch (where we have updated glibc to 2.28) or to master (where we have glibc 2.27).

I would suspect it is related to glibc 2.28, otherwise the problem would have already popped up on master. If that is the case, then the commit log should say it's related to glibc 2.28.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
#2 lore raw

PATCH 1/1 libusbgx: fix build with glibc

Hello,

Quoted 23 lines · On Wed, 22 Aug 2018 13:13:39 +0200 Thomas Petazzoni…

Hello Gwenhael,

Quoted 8 lines · Gwenhael Goavec-Merou

From: Gwenhael Goavec-Merou <[email protected]>

Without sys/sysmacros.h and with glibc build fails with error like:
libusbgx-libusbgx-v0.2.0/src/.libs/libusbgx.so: undefined reference to minor' libusbgx-libusbgx-v0.2.0/src/.libs/libusbgx.so: undefined reference to major' libusbgx-libusbgx-v0.2.0/src/.libs/libusbgx.so: undefined reference to `makedev'

Quoted 7 lines

backport and adapt pr #28 (https://github.com/libusbgx/libusbgx/pull/28)

fix:
http://autobuild.buildroot.net/results/872e2ab084c0c9bf466265d2f66140fbba692ee6/

Signed-off-by: Gwenhael Goavec-Merou
<[email protected]>

This error only happened once so far, on the next branch. Is it related to the bump of glibc 2.28 or is it also needed with older glibc versions ?

Quoted 8 lines

I'm trying to figure out if this fix should be applied to the next branch (where we have updated glibc to 2.28) or to master (where we have glibc 2.27).

I would suspect it is related to glibc 2.28, otherwise the problem would have already popped up on master. If that is the case, then the commit log should say it's related to glibc 2.28.

True, I've forgot to specify branch. It's on next (ie glibc-2.28).

Quoted 7 lines

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com