Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni via buildroot <buildroot@buildroot.org>
To: Waldemar Brodkorb <wbx@openadk.org>
Cc: Daniel Lang <dalang@gmx.at>, buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH] package/check: fix compile issue
Date: Mon, 7 Aug 2023 22:06:45 +0200	[thread overview]
Message-ID: <20230807220645.546836bc@windsurf> (raw)
In-Reply-To: <ZNEOketbv2Ba6O5N@waldemar-brodkorb.de>

Hello Waldemar,

On Mon, 7 Aug 2023 17:32:33 +0200
Waldemar Brodkorb <wbx@openadk.org> wrote:

> Switch to the tagged version of check.
> See here for details:
> https://github.com/libcheck/check/issues/303
> 
> Fixes following autobuild failure:
> http://autobuild.buildroot.net/results/b10/b1087e9a67ff0382632b73f280fabe92cd863593/
> 
> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>

This commit log was too terse, because it doesn't describe when the
problem started occurring, which is important for the maintenance of
our stable branches. So I had to do quite some research to figure out,
and come up with the following commit log:

    package/check: fix compile issue due to missing source file
    
    The release tarball of check 0.15.2 lacks a source file, causing a
    build failure, as reported at
    https://github.com/libcheck/check/issues/303. This failures happens
    when thread support is not available, as the file missing is getting
    compiled in when thread support is not there:
    
    if(NOT HAVE_PTHREAD)
      target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c)
      target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c)
    endif()
    
    This issue started appearing when we moved from the autotools build
    system to the CMake build system in commit
    6dfc789f4f21367bc5f4b5454db0922821a765bc. One might wonder why
    changing the build system can cause this kind of issue: the file was
    in fact already missing. Turns out that the missing file is never used
    with the autotools build system: this file provides some Win32
    compatibility layer for pthread functions, so the autotools build
    system never compiled this file as the autotools build system was only
    used on Unix platforms. With CMake it now gets compiled to support
    Windows platform. But on Linux, the entire contents of the file is
    ignored as it is within a HAVE_WIN32_INIT_ONCE ifdef...endif. Still,
    with the file missing, the build fails.
    
    Until upstream publishes a new release with a complete tarball, switch
    to fetching the Github-generated tarball, which does contain the
    missing file.
    
    Fixes:
    
      http://autobuild.buildroot.net/results/b1087e9a67ff0382632b73f280fabe92cd863593/
    
    Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

As pointed out by Daniel Lang, using "Fixes:" is important, as it has a
special meaning for patchwork.

>  CHECK_VERSION = 0.15.2
> -CHECK_SITE = https://github.com/libcheck/check/releases/download/$(CHECK_VERSION)
> +CHECK_SOURCE = $(CHECK_VERSION).tar.gz
> +CHECK_SITE = https://github.com/libcheck/check/archive/refs/tags

Switched to using the github helper, exactly like Daniel Lang suggested.

Applied to master with those changes. Thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  parent reply	other threads:[~2023-08-07 20:06 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-07 15:32 [Buildroot] [PATCH] package/check: fix compile issue Waldemar Brodkorb
2023-08-07 18:42 ` Daniel Lang
2023-08-07 20:06 ` Thomas Petazzoni via buildroot [this message]
2023-08-24 19:44   ` Yann E. MORIN

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=20230807220645.546836bc@windsurf \
    --to=buildroot@buildroot.org \
    --cc=dalang@gmx.at \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=wbx@openadk.org \
    /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