* [Buildroot] [PATCH 1/1] package/libusb-compat: set LIBUSB_1_0_SONAME
@ 2020-05-31 14:16 Fabrice Fontaine
2020-06-01 8:52 ` Yann E. MORIN
2020-06-02 9:34 ` Peter Korsgaard
0 siblings, 2 replies; 3+ messages in thread
From: Fabrice Fontaine @ 2020-05-31 14:16 UTC (permalink / raw)
To: buildroot
LIBUSB_1_0_SONAME is detected since version 0.1.6 and
https://github.com/libusb/libusb-compat-0.1/commit/b6f5a2fe12ca19d658d7180e106254b31cf1f8f5
The detection mechanism is based on sed, here are the more relevant
parts:
shrext_regexp=`echo "$shrext_cmds" | sed 's/\./\\\\./'`
[...]
[AS_VAR_SET([ac_Lib_SONAME], [`ldd conftest$ac_exeext | grep 'lib[$2]'$shrext_regexp | sed 's/^@<:@ \t@:>@*lib[$2]'$shrext_regexp'/lib[$2]'$shrext_regexp'/;s/@<:@ \t@:>@.*$//'`])])
However, this mechanism is broken with sed 4.7 and will return the
following 'silent' error:
checking for SONAME of libusb-1.0... sed: -e expression #1, char 40: Invalid back reference
unknown
Moreover, it also raises the following build failure on one of the
autobuilder because an empty line is added to LIBUSB_1_0_SONAME:
checking for SONAME of libusb-1.0... checking
libusb-1.0.so.0
checking for GNU extensions of errno.h... no
configure: WARNING: cache variable au_cv_lib_soname_LIBUSB_1_0 contains a newline
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating libusb.pc
config.status: creating libusb-config
config.status: creating Makefile
config.status: creating libusb/Makefile
config.status: creating examples/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default commands
configure: WARNING: unrecognized options: --disable-gtk-doc, --disable-gtk-doc-html, --disable-doc, --disable-docs, --disable-documentation, --with-xmlto, --with-fop, --enable-ipv6, --disable-nls
configure: WARNING: cache variable au_cv_lib_soname_LIBUSB_1_0 contains a newline
[7m>>> libusb-compat 0.1.7 Building[27m
PATH="/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/host/bin:/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/host/sbin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin" /usr/bin/make -j8 -C /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/libusb-compat-0.1.7/
make[1]: Entering directory `/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/libusb-compat-0.1.7'
Makefile:284: *** missing separator. Stop.
We could patch patch m4/au_check_lib_soname.m4 to fix the mechanism
however this is difficult without reproducing the autobuilder failure
and upstream seems dead so just set LIBUSB_1_0_SONAME
Fixes:
- http://autobuild.buildroot.org/results/12d771d85d30594929cfe3e1c783fc70857e7f5f
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
package/libusb-compat/libusb-compat.mk | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/package/libusb-compat/libusb-compat.mk b/package/libusb-compat/libusb-compat.mk
index f94aa96ada..73ee9ec241 100644
--- a/package/libusb-compat/libusb-compat.mk
+++ b/package/libusb-compat/libusb-compat.mk
@@ -15,5 +15,9 @@ LIBUSB_COMPAT_CONFIG_SCRIPTS = libusb-config
LIBUSB_COMPAT_LICENSE = LGPL-2.1+
LIBUSB_COMPAT_LICENSE_FILES = COPYING
+ifeq ($(BR2_STATIC_LIBS),)
+LIBUSB_COMPAT_CONF_ENV += LIBUSB_1_0_SONAME=libusb-1.0.so.0
+endif
+
$(eval $(autotools-package))
$(eval $(host-autotools-package))
--
2.26.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH 1/1] package/libusb-compat: set LIBUSB_1_0_SONAME
2020-05-31 14:16 [Buildroot] [PATCH 1/1] package/libusb-compat: set LIBUSB_1_0_SONAME Fabrice Fontaine
@ 2020-06-01 8:52 ` Yann E. MORIN
2020-06-02 9:34 ` Peter Korsgaard
1 sibling, 0 replies; 3+ messages in thread
From: Yann E. MORIN @ 2020-06-01 8:52 UTC (permalink / raw)
To: buildroot
Fabrice, All,
On 2020-05-31 16:16 +0200, Fabrice Fontaine spake thusly:
> LIBUSB_1_0_SONAME is detected since version 0.1.6 and
> https://github.com/libusb/libusb-compat-0.1/commit/b6f5a2fe12ca19d658d7180e106254b31cf1f8f5
>
> The detection mechanism is based on sed, here are the more relevant
> parts:
>
> shrext_regexp=`echo "$shrext_cmds" | sed 's/\./\\\\./'`
> [...]
> [AS_VAR_SET([ac_Lib_SONAME], [`ldd conftest$ac_exeext | grep 'lib[$2]'$shrext_regexp | sed 's/^@<:@ \t@:>@*lib[$2]'$shrext_regexp'/lib[$2]'$shrext_regexp'/;s/@<:@ \t@:>@.*$//'`])])
>
> However, this mechanism is broken with sed 4.7 and will return the
> following 'silent' error:
>
> checking for SONAME of libusb-1.0... sed: -e expression #1, char 40: Invalid back reference
> unknown
>
> Moreover, it also raises the following build failure on one of the
> autobuilder because an empty line is added to LIBUSB_1_0_SONAME:
>
> checking for SONAME of libusb-1.0... checking
> libusb-1.0.so.0
> checking for GNU extensions of errno.h... no
> configure: WARNING: cache variable au_cv_lib_soname_LIBUSB_1_0 contains a newline
> checking that generated files are newer than configure... done
> configure: creating ./config.status
> config.status: creating libusb.pc
> config.status: creating libusb-config
> config.status: creating Makefile
> config.status: creating libusb/Makefile
> config.status: creating examples/Makefile
> config.status: creating config.h
> config.status: executing depfiles commands
> config.status: executing libtool commands
> config.status: executing default commands
> configure: WARNING: unrecognized options: --disable-gtk-doc, --disable-gtk-doc-html, --disable-doc, --disable-docs, --disable-documentation, --with-xmlto, --with-fop, --enable-ipv6, --disable-nls
> configure: WARNING: cache variable au_cv_lib_soname_LIBUSB_1_0 contains a newline
The beginning of the problem is here: there is a newline in the
substitued value, which causes the issue on line 284 when the Makefile
is generated.
> [7m>>> libusb-compat 0.1.7 Building[27m
> PATH="/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/host/bin:/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/host/sbin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1
> /usr/local/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin" /usr/bin/make -j8 -C /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/libusb-compat-0.1.7/
> make[1]: Entering directory `/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/libusb-compat-0.1.7'
> Makefile:284: *** missing separator. Stop.
This line is indeed right after the assignment to LIBUSB_1_0_SONAME.
> We could patch patch m4/au_check_lib_soname.m4 to fix the mechanism
> however this is difficult without reproducing the autobuilder failure
> and upstream seems dead so just set LIBUSB_1_0_SONAME
Indeed, this is a mess of a macro...
> Fixes:
> - http://autobuild.buildroot.org/results/12d771d85d30594929cfe3e1c783fc70857e7f5f
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
> package/libusb-compat/libusb-compat.mk | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/package/libusb-compat/libusb-compat.mk b/package/libusb-compat/libusb-compat.mk
> index f94aa96ada..73ee9ec241 100644
> --- a/package/libusb-compat/libusb-compat.mk
> +++ b/package/libusb-compat/libusb-compat.mk
> @@ -15,5 +15,9 @@ LIBUSB_COMPAT_CONFIG_SCRIPTS = libusb-config
> LIBUSB_COMPAT_LICENSE = LGPL-2.1+
> LIBUSB_COMPAT_LICENSE_FILES = COPYING
>
> +ifeq ($(BR2_STATIC_LIBS),)
> +LIBUSB_COMPAT_CONF_ENV += LIBUSB_1_0_SONAME=libusb-1.0.so.0
I've tweaked it to extract the actual SONAME from the installed library.
Applied to master, thanks.
Regards,
Yann E. MORIN.
> +endif
> +
> $(eval $(autotools-package))
> $(eval $(host-autotools-package))
> --
> 2.26.2
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH 1/1] package/libusb-compat: set LIBUSB_1_0_SONAME
2020-05-31 14:16 [Buildroot] [PATCH 1/1] package/libusb-compat: set LIBUSB_1_0_SONAME Fabrice Fontaine
2020-06-01 8:52 ` Yann E. MORIN
@ 2020-06-02 9:34 ` Peter Korsgaard
1 sibling, 0 replies; 3+ messages in thread
From: Peter Korsgaard @ 2020-06-02 9:34 UTC (permalink / raw)
To: buildroot
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:
> LIBUSB_1_0_SONAME is detected since version 0.1.6 and
> https://github.com/libusb/libusb-compat-0.1/commit/b6f5a2fe12ca19d658d7180e106254b31cf1f8f5
> The detection mechanism is based on sed, here are the more relevant
> parts:
> shrext_regexp=`echo "$shrext_cmds" | sed 's/\./\\\\./'`
> [...]
> [AS_VAR_SET([ac_Lib_SONAME], [`ldd conftest$ac_exeext | grep
> 'lib[$2]'$shrext_regexp | sed 's/^@<:@
> \t@:>@*lib[$2]'$shrext_regexp'/lib[$2]'$shrext_regexp'/;s/@<:@
> \t@:>@.*$//'`])])
> However, this mechanism is broken with sed 4.7 and will return the
> following 'silent' error:
> checking for SONAME of libusb-1.0... sed: -e expression #1, char 40: Invalid back reference
> unknown
> Moreover, it also raises the following build failure on one of the
> autobuilder because an empty line is added to LIBUSB_1_0_SONAME:
> checking for SONAME of libusb-1.0... checking
> libusb-1.0.so.0
> checking for GNU extensions of errno.h... no
> configure: WARNING: cache variable au_cv_lib_soname_LIBUSB_1_0 contains a newline
> checking that generated files are newer than configure... done
> configure: creating ./config.status
> config.status: creating libusb.pc
> config.status: creating libusb-config
> config.status: creating Makefile
> config.status: creating libusb/Makefile
> config.status: creating examples/Makefile
> config.status: creating config.h
> config.status: executing depfiles commands
> config.status: executing libtool commands
> config.status: executing default commands
> configure: WARNING: unrecognized options: --disable-gtk-doc,
> --disable-gtk-doc-html, --disable-doc, --disable-docs,
> --disable-documentation, --with-xmlto, --with-fop, --enable-ipv6,
> --disable-nls
> configure: WARNING: cache variable au_cv_lib_soname_LIBUSB_1_0 contains a newline
> [7m>>> libusb-compat 0.1.7 Building[27m
> PATH="/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/host/bin:/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/host/sbin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweber1/usr/local/bin:/accts/mlweber1/bin:/accts/mlweber1/libexec/git-core:/accts/mlweber1/usr/bin:/accts/mlweb
er1
> /usr/local/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin"
> /usr/bin/make -j8 -C
> /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/libusb-compat-0.1.7/
> make[1]: Entering directory `/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/libusb-compat-0.1.7'
> Makefile:284: *** missing separator. Stop.
> We could patch patch m4/au_check_lib_soname.m4 to fix the mechanism
> however this is difficult without reproducing the autobuilder failure
> and upstream seems dead so just set LIBUSB_1_0_SONAME
> Fixes:
> - http://autobuild.buildroot.org/results/12d771d85d30594929cfe3e1c783fc70857e7f5f
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Committed to 2020.02.x, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-06-02 9:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-31 14:16 [Buildroot] [PATCH 1/1] package/libusb-compat: set LIBUSB_1_0_SONAME Fabrice Fontaine
2020-06-01 8:52 ` Yann E. MORIN
2020-06-02 9:34 ` Peter Korsgaard
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.