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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox