* [Buildroot] [PATCH v2,1/1] package/zlib-ng: fix arm build
@ 2024-02-21 18:16 Fabrice Fontaine
2024-02-21 20:19 ` Yann E. MORIN
2024-03-17 11:22 ` Peter Korsgaard
0 siblings, 2 replies; 3+ messages in thread
From: Fabrice Fontaine @ 2024-02-21 18:16 UTC (permalink / raw)
To: buildroot; +Cc: Fabrice Fontaine
zlib-ng usage uses CMAKE_C_COMPILER_TARGET which is non-standard and
is not supposed to be used by the CMakeLists.txt machinery of a
particular package.
Indeed, [1] specifies that:
Some compiler drivers are inherently cross-compilers, such as clang
and QNX qcc. These compiler drivers support a command-line argument
to specify the target to cross-compile for.
buildroot is not using clang nor QNX qcc.
[2] also refers to this variable only for clang [3] and QNX [4].
Therefore, zlib-ng's usage of this variable is a bit of a hack, and it's
actually why it works when passed as an argument, because they are in
fact not supposed to use this variable.
So set CMAKE_C_COMPILER_TARGET to BR2_ARCH to fix the following arm
build failure raised since bump to version 2.0.6 in commit
d2249821d3f30202ca2a35ad24918378d9a0a0e8:
-- Detecting C compile features - done
-- Arch not recognized, falling back to cmake arch: 'l'
-- Basearch 'l' not recognized, defaulting to 'x86'.
-- Basearch of 'l' has been detected as: 'x86'
[...]
/home/buildroot/autobuild/instance-0/output-1/build/zlib-ng-2.1.3/arch/x86/x86_features.c:17:12: fatal error: cpuid.h: No such file or directory
17 | # include <cpuid.h>
| ^~~~~~~~~
[1] https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_TARGET.html
[2] https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html
[3] https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#cross-compiling-using-clang
[4] https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#cross-compiling-for-qnx
Fixes: d2249821d3f30202ca2a35ad24918378d9a0a0e8
- http://autobuild.buildroot.org/results/1551aa69be19239a8d8e081f033e4027d679ab8f
- http://autobuild.buildroot.org/results/075d704c0f11710353bac43478e4501addcd747d
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
Changes v1 -> v2 (after review of Thomas Petazzoni and Peter Korsgaard):
- Update commit message
package/zlib-ng/zlib-ng.mk | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/zlib-ng/zlib-ng.mk b/package/zlib-ng/zlib-ng.mk
index fbb906503a..33e8754c9d 100644
--- a/package/zlib-ng/zlib-ng.mk
+++ b/package/zlib-ng/zlib-ng.mk
@@ -13,6 +13,7 @@ ZLIB_NG_PROVIDES = zlib
# Build with zlib compatible API, gzFile support and optimizations on
ZLIB_NG_CONF_OPTS += \
+ -DCMAKE_C_COMPILER_TARGET=$(BR2_ARCH) \
-DWITH_GZFILEOP=1 \
-DWITH_OPTIM=1 \
-DZLIB_COMPAT=1 \
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [Buildroot] [PATCH v2,1/1] package/zlib-ng: fix arm build
2024-02-21 18:16 [Buildroot] [PATCH v2,1/1] package/zlib-ng: fix arm build Fabrice Fontaine
@ 2024-02-21 20:19 ` Yann E. MORIN
2024-03-17 11:22 ` Peter Korsgaard
1 sibling, 0 replies; 3+ messages in thread
From: Yann E. MORIN @ 2024-02-21 20:19 UTC (permalink / raw)
To: Fabrice Fontaine; +Cc: buildroot
Fabrice, All,
On 2024-02-21 19:16 +0100, Fabrice Fontaine spake thusly:
> zlib-ng usage uses CMAKE_C_COMPILER_TARGET which is non-standard and
> is not supposed to be used by the CMakeLists.txt machinery of a
> particular package.
>
> Indeed, [1] specifies that:
>
> Some compiler drivers are inherently cross-compilers, such as clang
> and QNX qcc. These compiler drivers support a command-line argument
> to specify the target to cross-compile for.
>
> buildroot is not using clang nor QNX qcc.
> [2] also refers to this variable only for clang [3] and QNX [4].
>
> Therefore, zlib-ng's usage of this variable is a bit of a hack, and it's
> actually why it works when passed as an argument, because they are in
> fact not supposed to use this variable.
>
> So set CMAKE_C_COMPILER_TARGET to BR2_ARCH to fix the following arm
> build failure raised since bump to version 2.0.6 in commit
> d2249821d3f30202ca2a35ad24918378d9a0a0e8:
>
> -- Detecting C compile features - done
> -- Arch not recognized, falling back to cmake arch: 'l'
> -- Basearch 'l' not recognized, defaulting to 'x86'.
> -- Basearch of 'l' has been detected as: 'x86'
>
> [...]
>
> /home/buildroot/autobuild/instance-0/output-1/build/zlib-ng-2.1.3/arch/x86/x86_features.c:17:12: fatal error: cpuid.h: No such file or directory
> 17 | # include <cpuid.h>
> | ^~~~~~~~~
>
> [1] https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_TARGET.html
> [2] https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html
> [3] https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#cross-compiling-using-clang
> [4] https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#cross-compiling-for-qnx
>
> Fixes: d2249821d3f30202ca2a35ad24918378d9a0a0e8
> - http://autobuild.buildroot.org/results/1551aa69be19239a8d8e081f033e4027d679ab8f
> - http://autobuild.buildroot.org/results/075d704c0f11710353bac43478e4501addcd747d
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Applied to master, thanks.
Regards,
Yann E. MORIN.
> ---
> Changes v1 -> v2 (after review of Thomas Petazzoni and Peter Korsgaard):
> - Update commit message
>
> package/zlib-ng/zlib-ng.mk | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/package/zlib-ng/zlib-ng.mk b/package/zlib-ng/zlib-ng.mk
> index fbb906503a..33e8754c9d 100644
> --- a/package/zlib-ng/zlib-ng.mk
> +++ b/package/zlib-ng/zlib-ng.mk
> @@ -13,6 +13,7 @@ ZLIB_NG_PROVIDES = zlib
>
> # Build with zlib compatible API, gzFile support and optimizations on
> ZLIB_NG_CONF_OPTS += \
> + -DCMAKE_C_COMPILER_TARGET=$(BR2_ARCH) \
> -DWITH_GZFILEOP=1 \
> -DWITH_OPTIM=1 \
> -DZLIB_COMPAT=1 \
> --
> 2.43.0
>
> _______________________________________________
> 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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH v2,1/1] package/zlib-ng: fix arm build
2024-02-21 18:16 [Buildroot] [PATCH v2,1/1] package/zlib-ng: fix arm build Fabrice Fontaine
2024-02-21 20:19 ` Yann E. MORIN
@ 2024-03-17 11:22 ` Peter Korsgaard
1 sibling, 0 replies; 3+ messages in thread
From: Peter Korsgaard @ 2024-03-17 11:22 UTC (permalink / raw)
To: Fabrice Fontaine; +Cc: buildroot
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:
> zlib-ng usage uses CMAKE_C_COMPILER_TARGET which is non-standard and
> is not supposed to be used by the CMakeLists.txt machinery of a
> particular package.
> Indeed, [1] specifies that:
> Some compiler drivers are inherently cross-compilers, such as clang
> and QNX qcc. These compiler drivers support a command-line argument
> to specify the target to cross-compile for.
> buildroot is not using clang nor QNX qcc.
> [2] also refers to this variable only for clang [3] and QNX [4].
> Therefore, zlib-ng's usage of this variable is a bit of a hack, and it's
> actually why it works when passed as an argument, because they are in
> fact not supposed to use this variable.
> So set CMAKE_C_COMPILER_TARGET to BR2_ARCH to fix the following arm
> build failure raised since bump to version 2.0.6 in commit
> d2249821d3f30202ca2a35ad24918378d9a0a0e8:
> -- Detecting C compile features - done
> -- Arch not recognized, falling back to cmake arch: 'l'
> -- Basearch 'l' not recognized, defaulting to 'x86'.
> -- Basearch of 'l' has been detected as: 'x86'
> [...]
> /home/buildroot/autobuild/instance-0/output-1/build/zlib-ng-2.1.3/arch/x86/x86_features.c:17:12: fatal error: cpuid.h: No such file or directory
> 17 | # include <cpuid.h>
> | ^~~~~~~~~
> [1] https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_TARGET.html
> [2] https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html
> [3] https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#cross-compiling-using-clang
> [4] https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#cross-compiling-for-qnx
> Fixes: d2249821d3f30202ca2a35ad24918378d9a0a0e8
> - http://autobuild.buildroot.org/results/1551aa69be19239a8d8e081f033e4027d679ab8f
> - http://autobuild.buildroot.org/results/075d704c0f11710353bac43478e4501addcd747d
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
> Changes v1 -> v2 (after review of Thomas Petazzoni and Peter Korsgaard):
> - Update commit message
Committed to 2023.02.x and 2023.11.x, thanks.
--
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-03-17 11:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-21 18:16 [Buildroot] [PATCH v2,1/1] package/zlib-ng: fix arm build Fabrice Fontaine
2024-02-21 20:19 ` Yann E. MORIN
2024-03-17 11:22 ` Peter Korsgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox