Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/squashfs: bump to version 4.7.4
@ 2026-01-03 11:40 Fiona Klute via buildroot
  2026-01-04 12:52 ` Julien Olivain via buildroot
  0 siblings, 1 reply; 8+ messages in thread
From: Fiona Klute via buildroot @ 2026-01-03 11:40 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Petazzoni, Fiona Klute

Upstream changelog:
https://github.com/plougher/squashfs-tools/blob/4.7.4/CHANGES.md

Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
---
 package/squashfs/squashfs.hash | 4 ++--
 package/squashfs/squashfs.mk   | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/package/squashfs/squashfs.hash b/package/squashfs/squashfs.hash
index c921d638bb..eb9bc34282 100644
--- a/package/squashfs/squashfs.hash
+++ b/package/squashfs/squashfs.hash
@@ -1,5 +1,5 @@
-# Locally computed
-sha256  94201754b36121a9f022a190c75f718441df15402df32c2b520ca331a107511c  squashfs-tools-4.6.1.tar.gz
+# From https://github.com/plougher/squashfs-tools/releases/tag/4.7.4
+sha256  91c49f9a1ed972ad00688a38222119e2baf49ba74cf5fda05729a79d7d59d335  squashfs-tools-4.7.4.tar.gz
 
 # License files
 sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  COPYING
diff --git a/package/squashfs/squashfs.mk b/package/squashfs/squashfs.mk
index f2cb0ab25e..04b328ccab 100644
--- a/package/squashfs/squashfs.mk
+++ b/package/squashfs/squashfs.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-SQUASHFS_VERSION = 4.6.1
+SQUASHFS_VERSION = 4.7.4
 SQUASHFS_SOURCE = squashfs-tools-$(SQUASHFS_VERSION).tar.gz
 SQUASHFS_SITE = https://github.com/plougher/squashfs-tools/releases/download/$(SQUASHFS_VERSION)
 SQUASHFS_LICENSE = GPL-2.0+
-- 
2.51.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/squashfs: bump to version 4.7.4
  2026-01-03 11:40 [Buildroot] [PATCH 1/1] package/squashfs: bump to version 4.7.4 Fiona Klute via buildroot
@ 2026-01-04 12:52 ` Julien Olivain via buildroot
  2026-01-04 14:43   ` Fiona Klute via buildroot
  0 siblings, 1 reply; 8+ messages in thread
From: Julien Olivain via buildroot @ 2026-01-04 12:52 UTC (permalink / raw)
  To: Fiona Klute; +Cc: buildroot, Thomas Petazzoni

Hi Fiona,

Thanks for the patch.

On 03/01/2026 12:40, Fiona Klute via buildroot wrote:
> Upstream changelog:
> https://github.com/plougher/squashfs-tools/blob/4.7.4/CHANGES.md
> 
> Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
> ---
[...]
> diff --git a/package/squashfs/squashfs.mk 
> b/package/squashfs/squashfs.mk
> index f2cb0ab25e..04b328ccab 100644
> --- a/package/squashfs/squashfs.mk
> +++ b/package/squashfs/squashfs.mk
> @@ -4,7 +4,7 @@
>  #
>  
> ################################################################################
> 
> -SQUASHFS_VERSION = 4.6.1
> +SQUASHFS_VERSION = 4.7.4

This new version is introducing new build failures. See:
https://gitlab.com/jolivain/buildroot/-/pipelines/2243847808

For reference, the previous version passes test-pkg:
https://gitlab.com/jolivain/buildroot/-/pipelines/2243853301

This is likely due to the new SEEK_DATA usage in lseek(), which
might not be always present or might require _GNU_SOURCE to
be defined. See:
https://man7.org/linux/man-pages/man2/lseek.2.html

Could you have a look, please?

Best regards,

Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/squashfs: bump to version 4.7.4
  2026-01-04 12:52 ` Julien Olivain via buildroot
@ 2026-01-04 14:43   ` Fiona Klute via buildroot
  2026-01-04 15:34     ` Fiona Klute via buildroot
  0 siblings, 1 reply; 8+ messages in thread
From: Fiona Klute via buildroot @ 2026-01-04 14:43 UTC (permalink / raw)
  To: Julien Olivain; +Cc: buildroot, Thomas Petazzoni

Hi Julien!

Am 04.01.26 um 13:52 schrieb Julien Olivain:
> Hi Fiona,
> 
> Thanks for the patch.
> 
> On 03/01/2026 12:40, Fiona Klute via buildroot wrote:
>> Upstream changelog:
>> https://github.com/plougher/squashfs-tools/blob/4.7.4/CHANGES.md
>>
>> Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
>> ---
> [...]
>> diff --git a/package/squashfs/squashfs.mk b/package/squashfs/squashfs.mk
>> index f2cb0ab25e..04b328ccab 100644
>> --- a/package/squashfs/squashfs.mk
>> +++ b/package/squashfs/squashfs.mk
>> @@ -4,7 +4,7 @@
>>  #
>>
>> ################################################################################
>>
>> -SQUASHFS_VERSION = 4.6.1
>> +SQUASHFS_VERSION = 4.7.4
> 
> This new version is introducing new build failures. See:
> https://gitlab.com/jolivain/buildroot/-/pipelines/2243847808
> 
> For reference, the previous version passes test-pkg:
> https://gitlab.com/jolivain/buildroot/-/pipelines/2243853301
> 
> This is likely due to the new SEEK_DATA usage in lseek(), which
> might not be always present or might require _GNU_SOURCE to
> be defined. See:
> https://man7.org/linux/man-pages/man2/lseek.2.html
> 
> Could you have a look, please?
Looks to me like the toolchains need to be updated. The job log clearly 
shows -D_GNU_SOURCE on the command line. What's noticeable is that the 
failing builds all use

BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/$JOB_NAME-2020.11.2.tar.bz2"

while the passing ones (didn't check all of them, but a handful) use 
Bootlin stable toolchains.

E.g. in the br-arm-full-static one 
arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/unistd.h does not 
define SEEK_DATA at all, with or without _GNU_SOURCE, unlike with a 
current glibc version.

Interestingly musl does *not* require _GNU_SOURCE, unistd.h defines all 
SEEK_* macros unconditionally. I did not check since when though, I 
wouldn't be surprised if a 2020 version would fail, too.

Best regards,
Fiona

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/squashfs: bump to version 4.7.4
  2026-01-04 14:43   ` Fiona Klute via buildroot
@ 2026-01-04 15:34     ` Fiona Klute via buildroot
  2026-01-04 18:46       ` Julien Olivain via buildroot
  0 siblings, 1 reply; 8+ messages in thread
From: Fiona Klute via buildroot @ 2026-01-04 15:34 UTC (permalink / raw)
  To: Julien Olivain; +Cc: buildroot, Thomas Petazzoni

Am 04.01.26 um 15:43 schrieb Fiona Klute via buildroot:
> Hi Julien!
> 
> Am 04.01.26 um 13:52 schrieb Julien Olivain:
>> Hi Fiona,
>>
>> Thanks for the patch.
>>
>> On 03/01/2026 12:40, Fiona Klute via buildroot wrote:
>>> Upstream changelog:
>>> https://github.com/plougher/squashfs-tools/blob/4.7.4/CHANGES.md
>>>
>>> Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
>>> ---
>> [...]
>>> diff --git a/package/squashfs/squashfs.mk b/package/squashfs/squashfs.mk
>>> index f2cb0ab25e..04b328ccab 100644
>>> --- a/package/squashfs/squashfs.mk
>>> +++ b/package/squashfs/squashfs.mk
>>> @@ -4,7 +4,7 @@
>>>  #
>>>
>>> ################################################################################
>>>
>>> -SQUASHFS_VERSION = 4.6.1
>>> +SQUASHFS_VERSION = 4.7.4
>>
>> This new version is introducing new build failures. See:
>> https://gitlab.com/jolivain/buildroot/-/pipelines/2243847808
>>
>> For reference, the previous version passes test-pkg:
>> https://gitlab.com/jolivain/buildroot/-/pipelines/2243853301
>>
>> This is likely due to the new SEEK_DATA usage in lseek(), which
>> might not be always present or might require _GNU_SOURCE to
>> be defined. See:
>> https://man7.org/linux/man-pages/man2/lseek.2.html
>>
>> Could you have a look, please?
> Looks to me like the toolchains need to be updated. The job log clearly 
> shows -D_GNU_SOURCE on the command line. What's noticeable is that the 
> failing builds all use
> 
> BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/ 
> tarballs/$JOB_NAME-2020.11.2.tar.bz2"
> 
> while the passing ones (didn't check all of them, but a handful) use 
> Bootlin stable toolchains.
> 
> E.g. in the br-arm-full-static one arm-buildroot-linux-uclibcgnueabi/ 
> sysroot/usr/include/unistd.h does not define SEEK_DATA at all, with or 
> without _GNU_SOURCE, unlike with a current glibc version.
> 
> Interestingly musl does *not* require _GNU_SOURCE, unistd.h defines all 
> SEEK_* macros unconditionally. I did not check since when though, I 
> wouldn't be surprised if a 2020 version would fail, too.
Oh, another relevant detail: In uClibc SEEK_DATA support is a fairly 
recent addition (commit July 2024, first tag including it is v1.0.50). 
So uClibc toolchains from 2020 definitely won't work. See: 
https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/include/unistd.h?id=05b11809bd11450aff3d20e43f18415ce58601e7

Best regards,
Fiona

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/squashfs: bump to version 4.7.4
  2026-01-04 15:34     ` Fiona Klute via buildroot
@ 2026-01-04 18:46       ` Julien Olivain via buildroot
  2026-01-04 23:42         ` Fiona Klute via buildroot
  0 siblings, 1 reply; 8+ messages in thread
From: Julien Olivain via buildroot @ 2026-01-04 18:46 UTC (permalink / raw)
  To: Fiona Klute; +Cc: buildroot, Thomas Petazzoni

Hi FIona,

On 04/01/2026 16:34, Fiona Klute wrote:
> Am 04.01.26 um 15:43 schrieb Fiona Klute via buildroot:
>> Hi Julien!
>> 
>> Am 04.01.26 um 13:52 schrieb Julien Olivain:
>>> Hi Fiona,
>>> 
>>> Thanks for the patch.
>>> 
>>> On 03/01/2026 12:40, Fiona Klute via buildroot wrote:
>>>> Upstream changelog:
>>>> https://github.com/plougher/squashfs-tools/blob/4.7.4/CHANGES.md
>>>> 
>>>> Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
>>>> ---
>>> [...]
>>>> diff --git a/package/squashfs/squashfs.mk 
>>>> b/package/squashfs/squashfs.mk
>>>> index f2cb0ab25e..04b328ccab 100644
>>>> --- a/package/squashfs/squashfs.mk
>>>> +++ b/package/squashfs/squashfs.mk
>>>> @@ -4,7 +4,7 @@
>>>>  #
>>>> 
>>>> ################################################################################
>>>> 
>>>> -SQUASHFS_VERSION = 4.6.1
>>>> +SQUASHFS_VERSION = 4.7.4
>>> 
>>> This new version is introducing new build failures. See:
>>> https://gitlab.com/jolivain/buildroot/-/pipelines/2243847808
>>> 
>>> For reference, the previous version passes test-pkg:
>>> https://gitlab.com/jolivain/buildroot/-/pipelines/2243853301
>>> 
>>> This is likely due to the new SEEK_DATA usage in lseek(), which
>>> might not be always present or might require _GNU_SOURCE to
>>> be defined. See:
>>> https://man7.org/linux/man-pages/man2/lseek.2.html
>>> 
>>> Could you have a look, please?
>> Looks to me like the toolchains need to be updated. The job log 
>> clearly shows -D_GNU_SOURCE on the command line. What's noticeable is 
>> that the failing builds all use
>> 
>> BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/ 
>> tarballs/$JOB_NAME-2020.11.2.tar.bz2"
>> 
>> while the passing ones (didn't check all of them, but a handful) use 
>> Bootlin stable toolchains.
>> 
>> E.g. in the br-arm-full-static one arm-buildroot-linux-uclibcgnueabi/ 
>> sysroot/usr/include/unistd.h does not define SEEK_DATA at all, with or 
>> without _GNU_SOURCE, unlike with a current glibc version.
>> 
>> Interestingly musl does *not* require _GNU_SOURCE, unistd.h defines 
>> all SEEK_* macros unconditionally. I did not check since when though, 
>> I wouldn't be surprised if a 2020 version would fail, too.
> Oh, another relevant detail: In uClibc SEEK_DATA support is a fairly 
> recent addition (commit July 2024, first tag including it is v1.0.50). 
> So uClibc toolchains from 2020 definitely won't work. See: 
> https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/include/unistd.h?id=05b11809bd11450aff3d20e43f18415ce58601e7

Thanks for the extra information. Sorry I overlooked that
_GNU_SOURCE was already there.

This SEEK_DATA usage was introduced in upstream commit:
https://github.com/plougher/squashfs-tools/commit/fffbd0b76d529a9e38ce615f73dbcaafad40ae55
first included in squashfs-tools release 4.7.3 (2025-11-06).

This definition has been in glibc for quite some time:
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=798be72d127adf18f382323d0eed0a1e394967f8
included in glibc-2.15 (2011-12-23).

As you pointed out, musl introduced this macro much later, in:
https://git.musl-libc.org/cgit/musl/commit/?id=cbacd638e32a02edbe66c48ae3d1361bc06a492a
in v1.2.3 (2022-04-07).

It was introduced in uclibc in commit:
https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=05b11809bd11450aff3d20e43f18415ce58601e7
in v1.0.50 (2024-08-13).

squashfs-tools does not test the availability of this SEEK_DATA
macro before using it.

Since the uclibc and musl introduced it "recently", updating
toolchains can be difficult. We could eventually restrict
squashfs-tools to glibc only for external toolchains (because
we know internal toolchains will have sufficient uclibc or musl
versions).

Maybe we could also propose an upstream patch to allow
squafs-tools to support other libcs. Some
packages are providing those definitions, if not available.
For example:
https://github.com/util-linux/util-linux/blob/v2.41.3/include/c.h#L522

What do you think?

> Best regards,
> Fiona

Best regards,

Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/squashfs: bump to version 4.7.4
  2026-01-04 18:46       ` Julien Olivain via buildroot
@ 2026-01-04 23:42         ` Fiona Klute via buildroot
  2026-01-06 13:52           ` Fiona Klute via buildroot
  0 siblings, 1 reply; 8+ messages in thread
From: Fiona Klute via buildroot @ 2026-01-04 23:42 UTC (permalink / raw)
  To: Julien Olivain; +Cc: buildroot, Thomas Petazzoni

Hi Julien!

Am 04.01.26 um 19:46 schrieb Julien Olivain:
> Hi FIona,
> 
> On 04/01/2026 16:34, Fiona Klute wrote:
>> Am 04.01.26 um 15:43 schrieb Fiona Klute via buildroot:
>>> Hi Julien!
>>>
>>> Am 04.01.26 um 13:52 schrieb Julien Olivain:
>>>> Hi Fiona,
>>>>
>>>> Thanks for the patch.
>>>>
>>>> On 03/01/2026 12:40, Fiona Klute via buildroot wrote:
>>>>> Upstream changelog:
>>>>> https://github.com/plougher/squashfs-tools/blob/4.7.4/CHANGES.md
>>>>>
>>>>> Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
>>>>> ---
>>>> [...]
>>>>> diff --git a/package/squashfs/squashfs.mk b/package/squashfs/ 
>>>>> squashfs.mk
>>>>> index f2cb0ab25e..04b328ccab 100644
>>>>> --- a/package/squashfs/squashfs.mk
>>>>> +++ b/package/squashfs/squashfs.mk
>>>>> @@ -4,7 +4,7 @@
>>>>>  #
>>>>>
>>>>> ################################################################################
>>>>>
>>>>> -SQUASHFS_VERSION = 4.6.1
>>>>> +SQUASHFS_VERSION = 4.7.4
>>>>
>>>> This new version is introducing new build failures. See:
>>>> https://gitlab.com/jolivain/buildroot/-/pipelines/2243847808
>>>>
>>>> For reference, the previous version passes test-pkg:
>>>> https://gitlab.com/jolivain/buildroot/-/pipelines/2243853301
>>>>
>>>> This is likely due to the new SEEK_DATA usage in lseek(), which
>>>> might not be always present or might require _GNU_SOURCE to
>>>> be defined. See:
>>>> https://man7.org/linux/man-pages/man2/lseek.2.html
>>>>
>>>> Could you have a look, please?
>>> Looks to me like the toolchains need to be updated. The job log 
>>> clearly shows -D_GNU_SOURCE on the command line. What's noticeable is 
>>> that the failing builds all use
>>>
>>> BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/ 
>>> toolchains/ tarballs/$JOB_NAME-2020.11.2.tar.bz2"
>>>
>>> while the passing ones (didn't check all of them, but a handful) use 
>>> Bootlin stable toolchains.
>>>
>>> E.g. in the br-arm-full-static one arm-buildroot-linux-uclibcgnueabi/ 
>>> sysroot/usr/include/unistd.h does not define SEEK_DATA at all, with 
>>> or without _GNU_SOURCE, unlike with a current glibc version.
>>>
>>> Interestingly musl does *not* require _GNU_SOURCE, unistd.h defines 
>>> all SEEK_* macros unconditionally. I did not check since when though, 
>>> I wouldn't be surprised if a 2020 version would fail, too.
>> Oh, another relevant detail: In uClibc SEEK_DATA support is a fairly 
>> recent addition (commit July 2024, first tag including it is v1.0.50). 
>> So uClibc toolchains from 2020 definitely won't work. See: https:// 
>> cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/include/unistd.h? 
>> id=05b11809bd11450aff3d20e43f18415ce58601e7
> 
> Thanks for the extra information. Sorry I overlooked that
> _GNU_SOURCE was already there.
> 
> This SEEK_DATA usage was introduced in upstream commit:
> https://github.com/plougher/squashfs-tools/commit/ 
> fffbd0b76d529a9e38ce615f73dbcaafad40ae55
> first included in squashfs-tools release 4.7.3 (2025-11-06).
> 
> This definition has been in glibc for quite some time:
> https://sourceware.org/git/? 
> p=glibc.git;a=commitdiff;h=798be72d127adf18f382323d0eed0a1e394967f8
> included in glibc-2.15 (2011-12-23).
> 
> As you pointed out, musl introduced this macro much later, in:
> https://git.musl-libc.org/cgit/musl/commit/? 
> id=cbacd638e32a02edbe66c48ae3d1361bc06a492a
> in v1.2.3 (2022-04-07).
> 
> It was introduced in uclibc in commit:
> https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/? 
> id=05b11809bd11450aff3d20e43f18415ce58601e7
> in v1.0.50 (2024-08-13).
> 
> squashfs-tools does not test the availability of this SEEK_DATA
> macro before using it.
> 
> Since the uclibc and musl introduced it "recently", updating
> toolchains can be difficult. We could eventually restrict
> squashfs-tools to glibc only for external toolchains (because
> we know internal toolchains will have sufficient uclibc or musl
> versions).
> 
> Maybe we could also propose an upstream patch to allow
> squafs-tools to support other libcs. Some
> packages are providing those definitions, if not available.
> For example:
> https://github.com/util-linux/util-linux/blob/v2.41.3/include/c.h#L522
> 
> What do you think?
I've created an upstream issue about the problem, citing your version 
details (thanks!): https://github.com/plougher/squashfs-tools/issues/338

On the Buildroot side I wonder how old toolchains can reasonably be 
before we consider them *too old*. So far I thought the Bootlin stable 
toolchains were the expected baseline, because they're supposed to be 
used for tests unless there's a good reason not to. Personally, I 
wouldn't consider musl 1.2.3 "recent", uClibc-ng 1.0.50 maybe kind of, 
but toolchains from 2020 definitely outdated. I may be influenced by the 
~2 year Debian stable cycle. ;-)

Best regards,
Fiona

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/squashfs: bump to version 4.7.4
  2026-01-04 23:42         ` Fiona Klute via buildroot
@ 2026-01-06 13:52           ` Fiona Klute via buildroot
  2026-01-06 14:47             ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 8+ messages in thread
From: Fiona Klute via buildroot @ 2026-01-06 13:52 UTC (permalink / raw)
  To: Julien Olivain; +Cc: buildroot, Thomas Petazzoni

Am 05.01.26 um 00:42 schrieb Fiona Klute:
> Hi Julien!
> 
> Am 04.01.26 um 19:46 schrieb Julien Olivain:
>> Hi FIona,
>>
>> On 04/01/2026 16:34, Fiona Klute wrote:
>>> Am 04.01.26 um 15:43 schrieb Fiona Klute via buildroot:
>>>> Hi Julien!
>>>>
>>>> Am 04.01.26 um 13:52 schrieb Julien Olivain:
>>>>> Hi Fiona,
>>>>>
>>>>> Thanks for the patch.
>>>>>
>>>>> On 03/01/2026 12:40, Fiona Klute via buildroot wrote:
>>>>>> Upstream changelog:
>>>>>> https://github.com/plougher/squashfs-tools/blob/4.7.4/CHANGES.md
>>>>>>
>>>>>> Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
>>>>>> ---
>>>>> [...]
>>>>>> diff --git a/package/squashfs/squashfs.mk b/package/squashfs/ 
>>>>>> squashfs.mk
>>>>>> index f2cb0ab25e..04b328ccab 100644
>>>>>> --- a/package/squashfs/squashfs.mk
>>>>>> +++ b/package/squashfs/squashfs.mk
>>>>>> @@ -4,7 +4,7 @@
>>>>>>  #
>>>>>>
>>>>>> ################################################################################
>>>>>>
>>>>>> -SQUASHFS_VERSION = 4.6.1
>>>>>> +SQUASHFS_VERSION = 4.7.4
>>>>>
>>>>> This new version is introducing new build failures. See:
>>>>> https://gitlab.com/jolivain/buildroot/-/pipelines/2243847808
>>>>>
>>>>> For reference, the previous version passes test-pkg:
>>>>> https://gitlab.com/jolivain/buildroot/-/pipelines/2243853301
>>>>>
>>>>> This is likely due to the new SEEK_DATA usage in lseek(), which
>>>>> might not be always present or might require _GNU_SOURCE to
>>>>> be defined. See:
>>>>> https://man7.org/linux/man-pages/man2/lseek.2.html
>>>>>
>>>>> Could you have a look, please?
>>>> Looks to me like the toolchains need to be updated. The job log 
>>>> clearly shows -D_GNU_SOURCE on the command line. What's noticeable 
>>>> is that the failing builds all use
>>>>
>>>> BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/ 
>>>> toolchains/ tarballs/$JOB_NAME-2020.11.2.tar.bz2"
>>>>
>>>> while the passing ones (didn't check all of them, but a handful) use 
>>>> Bootlin stable toolchains.
>>>>
>>>> E.g. in the br-arm-full-static one arm-buildroot-linux- 
>>>> uclibcgnueabi/ sysroot/usr/include/unistd.h does not define 
>>>> SEEK_DATA at all, with or without _GNU_SOURCE, unlike with a current 
>>>> glibc version.
>>>>
>>>> Interestingly musl does *not* require _GNU_SOURCE, unistd.h defines 
>>>> all SEEK_* macros unconditionally. I did not check since when 
>>>> though, I wouldn't be surprised if a 2020 version would fail, too.
>>> Oh, another relevant detail: In uClibc SEEK_DATA support is a fairly 
>>> recent addition (commit July 2024, first tag including it is 
>>> v1.0.50). So uClibc toolchains from 2020 definitely won't work. See: 
>>> https:// cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/include/ 
>>> unistd.h? id=05b11809bd11450aff3d20e43f18415ce58601e7
>>
>> Thanks for the extra information. Sorry I overlooked that
>> _GNU_SOURCE was already there.
>>
>> This SEEK_DATA usage was introduced in upstream commit:
>> https://github.com/plougher/squashfs-tools/commit/ 
>> fffbd0b76d529a9e38ce615f73dbcaafad40ae55
>> first included in squashfs-tools release 4.7.3 (2025-11-06).
>>
>> This definition has been in glibc for quite some time:
>> https://sourceware.org/git/? 
>> p=glibc.git;a=commitdiff;h=798be72d127adf18f382323d0eed0a1e394967f8
>> included in glibc-2.15 (2011-12-23).
>>
>> As you pointed out, musl introduced this macro much later, in:
>> https://git.musl-libc.org/cgit/musl/commit/? 
>> id=cbacd638e32a02edbe66c48ae3d1361bc06a492a
>> in v1.2.3 (2022-04-07).
>>
>> It was introduced in uclibc in commit:
>> https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/? 
>> id=05b11809bd11450aff3d20e43f18415ce58601e7
>> in v1.0.50 (2024-08-13).
>>
>> squashfs-tools does not test the availability of this SEEK_DATA
>> macro before using it.
>>
>> Since the uclibc and musl introduced it "recently", updating
>> toolchains can be difficult. We could eventually restrict
>> squashfs-tools to glibc only for external toolchains (because
>> we know internal toolchains will have sufficient uclibc or musl
>> versions).
>>
>> Maybe we could also propose an upstream patch to allow
>> squafs-tools to support other libcs. Some
>> packages are providing those definitions, if not available.
>> For example:
>> https://github.com/util-linux/util-linux/blob/v2.41.3/include/c.h#L522
>>
>> What do you think?
> I've created an upstream issue about the problem, citing your version 
> details (thanks!): https://github.com/plougher/squashfs-tools/issues/338

Update: The upstream maintainer has added a fallback similar to the 
util-linux one [1]. However a new issue has been reported since about 
corrupted images with all-zero files [2], so I think it's best to delay 
the update until that's resolved.

> On the Buildroot side I wonder how old toolchains can reasonably be 
> before we consider them *too old*. So far I thought the Bootlin stable 
> toolchains were the expected baseline, because they're supposed to be 
> used for tests unless there's a good reason not to. Personally, I 
> wouldn't consider musl 1.2.3 "recent", uClibc-ng 1.0.50 maybe kind of, 
> but toolchains from 2020 definitely outdated. I may be influenced by the 
> ~2 year Debian stable cycle. ;-)
With the upstream fallback merged the question isn't critical any more, 
but I think it'd be generally useful to have a documented answer.

Best regards,
Fiona


[1] 
https://github.com/plougher/squashfs-tools/commit/9ac89115cc0a3acc71c5d34d7e2ee9379159807a
[2] https://github.com/plougher/squashfs-tools/issues/339

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/squashfs: bump to version 4.7.4
  2026-01-06 13:52           ` Fiona Klute via buildroot
@ 2026-01-06 14:47             ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-01-06 14:47 UTC (permalink / raw)
  To: Fiona Klute; +Cc: Julien Olivain, buildroot

Hello Fiona,

On Tue, 6 Jan 2026 14:52:07 +0100
Fiona Klute <fiona.klute@gmx.de> wrote:

> > I've created an upstream issue about the problem, citing your version 
> > details (thanks!): https://github.com/plougher/squashfs-tools/issues/338  
> 
> Update: The upstream maintainer has added a fallback similar to the 
> util-linux one [1]. However a new issue has been reported since about 
> corrupted images with all-zero files [2], so I think it's best to delay 
> the update until that's resolved.
> 
> > On the Buildroot side I wonder how old toolchains can reasonably be 
> > before we consider them *too old*. So far I thought the Bootlin stable 
> > toolchains were the expected baseline, because they're supposed to be 
> > used for tests unless there's a good reason not to. Personally, I 
> > wouldn't consider musl 1.2.3 "recent", uClibc-ng 1.0.50 maybe kind of, 
> > but toolchains from 2020 definitely outdated. I may be influenced by the 
> > ~2 year Debian stable cycle. ;-)  
> With the upstream fallback merged the question isn't critical any more, 
> but I think it'd be generally useful to have a documented answer.

On the gcc version, we do have a fairly clear policy, but it's true we
don't have such a policy on the C library. We try to reasonably support
older toolchains as we recognize people may be using somewhat old
toolchains to support specific HW, or just because they "fear"
switching to a newer toolchain. So in the case of squashfs, when there
is a relatively easy fallback solution, it's always good to have (and
good for upstream, as it makes their project more broadly "compatible").

I don't know if we want a policy that says "toolchains with components
older than X years are not supported. Can be a topic for the upcoming
Buildroot Developers Meeting though.

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-01-06 14:48 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-03 11:40 [Buildroot] [PATCH 1/1] package/squashfs: bump to version 4.7.4 Fiona Klute via buildroot
2026-01-04 12:52 ` Julien Olivain via buildroot
2026-01-04 14:43   ` Fiona Klute via buildroot
2026-01-04 15:34     ` Fiona Klute via buildroot
2026-01-04 18:46       ` Julien Olivain via buildroot
2026-01-04 23:42         ` Fiona Klute via buildroot
2026-01-06 13:52           ` Fiona Klute via buildroot
2026-01-06 14:47             ` Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox