From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] package/libusb-compat: set LIBUSB_1_0_SONAME
Date: Mon, 1 Jun 2020 10:52:02 +0200 [thread overview]
Message-ID: <20200601085202.GH8737@scaer> (raw)
In-Reply-To: <20200531141623.28171-1-fontaine.fabrice@gmail.com>
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. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2020-06-01 8:52 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
2020-06-02 9:34 ` Peter Korsgaard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200601085202.GH8737@scaer \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.