From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Thomas Ruschival <thomas@ruschival.de>, buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 2/2] package/pistache: enable on uClibc
Date: Fri, 5 Aug 2022 18:29:06 +0200 [thread overview]
Message-ID: <20220805162906.GC3621445@scaer> (raw)
In-Reply-To: <20220804203555.29029-2-thomas.petazzoni@bootlin.com>
Thomas², All,
Thomas R., a note for you toward the end...
On 2022-08-04 22:35 +0200, Thomas Petazzoni via buildroot spake thusly:
> pistache couldn't build on uClibc due to just one missing
> definition. In addition, the Config.in comment was wrong as it said
> that a glibc toolchain was needed, while in fact it could be glibc or
> musl.
As I understand, this patch is not really upstreamable, or at least not
in this state.
However, this means we will have to carry over and over, because
existing uclibc-based toolchains will still be usad in the future, even
when newer uclibc-ng contains the new definitions, so we can't drop this
patch because it may always needed when using external toolchains...
So, I think a version that is upstreamable would be nice...
Thomas R.: Thomas P. noticed a very nasty beha viour for pistache: it
will forcibly register git hooks when it is built, if it finds that it
is built in a git tree.
This is very nasty, because in our case, developping Buildroot the
pistache sources are extacted from a tarball, but there is a git tree to
be found higher up: it finds Buildroot's own git tree, s registers git
hooks in that repository, and the results is obviously wrong and
prevents properly working:
thomas@windsurf:~/projets/buildroot (pistache-fix)$ make pistache-extract
pistache-3ec9d7c4f8b828fdd391550fff81b01e72dd6269.tar.gz: OK (sha256: f2b3e8b2581cfed5e036d1b97a9b97dc7022b3ddaab69c4691238faff3199bc1)
>>> pistache 3ec9d7c4f8b828fdd391550fff81b01e72dd6269 Extracting
gzip -d -c /home/thomas/dl/pistache/pistache-3ec9d7c4f8b828fdd391550fff81b01e72dd6269.tar.gz | tar --strip-components=1 -C /home/thomas/projets/buildroot/output/build/pistache-3ec9d7c4f8b828fdd391550fff81b01e72dd6269 -xf -
thomas@windsurf:~/projets/buildroot (pistache-fix)$ git commit
grep: version.txt: No such file or directory
Update the commit date in version.txt before committing
thomas@windsurf:~/projets/buildroot (pistache-fix)$ grep pistache .git/config
hooksPath = /home/thomas/projets/buildroot/output/build/pistache-3ec9d7c4f8b828fdd391550fff81b01e72dd6269/.hooks
See: https://github.com/pistacheio/pistache/blob/master/meson.build#L137 :
if not meson.is_subproject()
git = find_program('git', required: false)
if git.found()
run_command(git, 'config', '--local', 'core.hooksPath', meson.source_root()/'.hooks', check: false)
endif
endif
Could you look into proposing a change upstream, that at the very least
makes that hook registration optional?
Regards,
Yann E. MORIN.
> Cc: Thomas Ruschival <thomas@ruschival.de>
> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
> ...port.cc-fallback-value-for-RUSAGE_TH.patch | 33 +++++++++++++++++++
> package/pistache/Config.in | 4 +--
> 2 files changed, 34 insertions(+), 3 deletions(-)
> create mode 100644 package/pistache/0001-src-common-transport.cc-fallback-value-for-RUSAGE_TH.patch
>
> diff --git a/package/pistache/0001-src-common-transport.cc-fallback-value-for-RUSAGE_TH.patch b/package/pistache/0001-src-common-transport.cc-fallback-value-for-RUSAGE_TH.patch
> new file mode 100644
> index 0000000000..327933e26d
> --- /dev/null
> +++ b/package/pistache/0001-src-common-transport.cc-fallback-value-for-RUSAGE_TH.patch
> @@ -0,0 +1,33 @@
> +From 5feed6d2f86750bfe1e7c26d6fd4e8d2195ea81f Mon Sep 17 00:00:00 2001
> +From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> +Date: Thu, 4 Aug 2022 19:54:23 +0200
> +Subject: [PATCH] src/common/transport.cc: fallback value for RUSAGE_THREAD
> +
> +uClibc-ng currently does not define RUSAGE_THREAD, so let's add a
> +fallback value until it gets fixed in uClibc-ng. The value is the same
> +on all Linux systems, regardless of the CPU architecture.
> +
> +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> +Upstream bug: https://mailman.openadk.org/mailman3/hyperkitty/list/devel@uclibc-ng.org/thread/MEXOUSFSH46UFS3AEMEIEPTL5U4HVEFL/
> +---
> + src/common/transport.cc | 4 ++++
> + 1 file changed, 4 insertions(+)
> +
> +diff --git a/src/common/transport.cc b/src/common/transport.cc
> +index 62efb8c..0f3abb0 100644
> +--- a/src/common/transport.cc
> ++++ b/src/common/transport.cc
> +@@ -515,6 +515,10 @@ namespace Pistache::Tcp
> +
> + rusage now;
> +
> ++#if !defined(RUSAGE_THREAD)
> ++#define RUSAGE_THREAD 1
> ++#endif
> ++
> + auto res = getrusage(RUSAGE_THREAD, &now);
> + if (res == -1)
> + loadRequest_.reject(std::runtime_error("Could not compute usage"));
> +--
> +2.37.1
> +
> diff --git a/package/pistache/Config.in b/package/pistache/Config.in
> index 53a4b73a58..3acf1f53f0 100644
> --- a/package/pistache/Config.in
> +++ b/package/pistache/Config.in
> @@ -4,7 +4,6 @@ config BR2_PACKAGE_PISTACHE
> depends on BR2_USE_WCHAR
> depends on BR2_TOOLCHAIN_HAS_THREADS
> depends on BR2_INSTALL_LIBSTDCPP
> - depends on !BR2_TOOLCHAIN_USES_UCLIBC
> depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597
> select BR2_PACKAGE_RAPIDJSON
> help
> @@ -14,9 +13,8 @@ config BR2_PACKAGE_PISTACHE
>
> https://github.com/oktal/pistache
>
> -comment "pistache needs a glibc toolchain w/ C++, gcc >= 7, threads, wchar, not binutils bug 27597"
> +comment "pistache needs a toolchain w/ C++, gcc >= 7, threads, wchar, not binutils bug 27597"
> depends on !BR2_INSTALL_LIBSTDCPP || \
> - BR2_TOOLCHAIN_USES_UCLIBC || \
> !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \
> !BR2_TOOLCHAIN_HAS_THREADS || \
> !BR2_USE_WCHAR || \
> --
> 2.37.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/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. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2022-08-05 16:29 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-04 20:35 [Buildroot] [PATCH 1/2] package/pistache: fix dependency on rapidjson Thomas Petazzoni via buildroot
2022-08-04 20:35 ` [Buildroot] [PATCH 2/2] package/pistache: enable on uClibc Thomas Petazzoni via buildroot
2022-08-05 16:29 ` Yann E. MORIN [this message]
2022-08-06 13:45 ` Thomas Petazzoni via buildroot
2022-08-06 14:15 ` Yann E. MORIN
2022-08-05 16:29 ` [Buildroot] [PATCH 1/2] package/pistache: fix dependency on rapidjson Yann E. MORIN
2022-09-14 9:46 ` Peter Korsgaard
2022-09-14 9:47 ` 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=20220805162906.GC3621445@scaer \
--to=yann.morin.1998@free.fr \
--cc=buildroot@buildroot.org \
--cc=thomas.petazzoni@bootlin.com \
--cc=thomas@ruschival.de \
/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.