All of 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 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.