The LICENSE file gets installed directly to the root of $(TARGET_DIR),
which clashes with other packages:
FileExistsError: File already exists: /home/autobuild/autobuild/instance-3/output-1/target/LICENSE
This commit fixes this issue for the python-unittest-xml-reporting
package. Other fixes will be needed for the other patches.
The issue in python-unittest-xml-reporting was introduced in upstream
commit c43427611390fba83ca13fbb5311bd8fece5048f, which first appeared
in v3.1.0. We switched from a pre-3.1.0 version to 3.2.0 in Buildroot
in commit 69ba1562d5, which was merged
in 2023.02.
Fixes:
http://autobuild.buildroot.net/results/2c91243b440087bbc7d051d65f553f59d05dd207/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit brings two patches that have been submitted to upstream
libffi by Synopsys people, to fix libffi build issues on ARC.
This build issue was introduced by upstream commit
c4df19c99f8d8841942e3edaadbf331d30e298c8, which landed in libffi
3.4.5, so the issue exists in Buildroot since we bumped from libffi
3.4.4 to 3.4.6 in commit f382de2b0f,
which landed in Buildroot 2024.05. This issue therefore doesn't exist
in the 2024.02.x LTS branch.
Fixes:
http://autobuild.buildroot.net/results/3accebc6775b9a479876a5898d55bde005d4b12b/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The python-huepy has an incorrect data_files statement in its
setup.py, causing the LICENSE file to be installed directly as
$(TARGET_DIR)/LICENSE. This was detected because several packages were
doing this, and the second package doing
it (python-unittest-xml-reporting, fixed separately) was erroring out
when trying to overwrite this already existing file.
This commit fixes the case of python-huepy by adding a patch that has
been submitted upstream.
There are no autobuilder failures related to python-huepy, but this
was detected while fixing
http://autobuild.buildroot.net/results/2c91243b440087bbc7d051d65f553f59d05dd207/
for python-unittest-xml-reporting.
This bug has been in huepy since at least 2018, so this patch can be
backported to previous Buildroot versions.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
lib/print.c in gnu-efi contains some floating point computation. On
ARM soft-float configurations, these floating point operations
generate calls to __eabi_*() functions that are provided by
gcc. However, gnu-efi builds some freestanding code, so it doesn't
link with libgcc, and therefore the build fails with:
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1431:(.text+0x78c): undefined reference to `__aeabi_i2d'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1431:(.text+0x7a0): undefined reference to `__aeabi_dsub'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1431:(.text+0x7a4): undefined reference to `__aeabi_d2f'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1432:(.text+0x7b4): undefined reference to `__aeabi_fcmplt'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1438:(.text+0x7c8): undefined reference to `__aeabi_fmul'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1440:(.text+0x7d4): undefined reference to `__aeabi_fcmpeq'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1444:(.text+0x7f8): undefined reference to `__aeabi_fmul'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1440:(.text+0x808): undefined reference to `__aeabi_fcmpeq'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1440:(.text+0x818): undefined reference to `__aeabi_f2iz'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1451:(.text+0x834): undefined reference to `__aeabi_i2f'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1451:(.text+0x840): undefined reference to `__aeabi_fcmpeq'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1453:(.text+0x858): undefined reference to `__aeabi_fmul'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1451:(.text+0x860): undefined reference to `__aeabi_f2iz'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1451:(.text+0x868): undefined reference to `__aeabi_i2f'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1451:(.text+0x870): undefined reference to `__aeabi_fcmpeq'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1451:(.text+0x89c): undefined reference to `__aeabi_f2iz'
Since we don't care about gnu-efi support on ARM soft-float
configurations, let's disable such configurations.
Note that we have chosen to use BR2_ARM_SOFT_FLOAT as we're for now
making this specific to ARM as we're not sure what is the situation on
other CPU architectures (for example RISC-V without FPU maybe). This
can be revisited once we get more data on the behavior on other CPU
architectures that can support soft-float.
Fixes:
http://autobuild.buildroot.net/results/98d955fd2fcf4a3db1ab46e4f553447031a23b92/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Since commit
1f7c581454 ("package/gnu-efi: enable on
RISC-V 64-bit"), we allow building on RISC-V... and that includes
noMMU RISC-V. This unfortunately fails badly with:
/home/autobuild/autobuild/instance-2/output-1/host/bin/../riscv64-buildroot-linux-uclibc/bin/ld.real: unrecognized option '-Wl,-elf2flt=-r'
/home/autobuild/autobuild/instance-2/output-1/host/bin/../riscv64-buildroot-linux-uclibc/bin/ld.real: use the --help option for usage information
Since we're anyway not interested in gnu-efi on noMMU platforms, let's
not even spend time on trying to fix this and make MMU support a
requirement for gnu-efi.
Fixes:
http://autobuild.buildroot.net/results/8b4a503939bdbe773ceee69e01a3ea16873a75fa/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Since the bump of gnu-efi to version 3.0.17 in Buildroot commit
fa9893ad8f, the build of gnu-efi fails
on ARM big endian and AArch64 big endian.
Indeed, since that bump, gnu-efi builds some "apps", using a special
linker file part of gnu-efi that explicitly sets the architecture:
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64")
Due to this, big endian builds are now failing:
armeb-buildroot-linux-gnueabi-ld: ../gnuefi/crt0-efi-arm.o: compiled for a big endian system and target is little endian
armeb-buildroot-linux-gnueabi-ld: failed to merge target specific data of file ../gnuefi/crt0-efi-arm.o
Since we are not really interested in supporting gnu-efi on ARM big
endian and AArch64 big endian and it is not supported upstream, let's
disabled on those architectures.
Fixes:
http://autobuild.buildroot.org/results/4d385d6759346e19664d0bded1e419f004f82b47/ (ARM big endian)
http://autobuild.buildroot.net/results/b6df43408ca4cd469962c96d49d9ac7935b6dbe9/ (AArch64 big endian)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
In commit
c72c6f26ed ("package/python-tpm2-pytss:
new package"), when the package was introduced, a dependency of a
package being selected was not properly propagated:
BR2_PACKAGE_PYTHON_CRYPTOGRAPHY depends on
BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS, so we should replicate
this dependency.
Fixes:
WARNING: unmet direct dependencies detected for BR2_PACKAGE_PYTHON_CRYPTOGRAPHY
Depends on [n]: BR2_PACKAGE_PYTHON3 [=y] && BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS [=n]
Selected by [y]:
- BR2_PACKAGE_PYTHON_TPM2_PYTSS [=y] && BR2_PACKAGE_PYTHON3 [=y] && !BR2_STATIC_LIBS [=n]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
When building these boards with BR2_PER_PACKAGE_DIRECTORIES enabled,
the following error occurs from U-Boot.
tools/mkeficapsule.c:18:10: fatal error: uuid/uuid.h: No such file or directory
18 | #include <uuid/uuid.h>
| ^~~~~~~~~~~~~
The U-Boot defconfig these boards use 'xilinx_zynqmp_virt' enables
CONFIG_MKEFICAPSULE, which requires util-linux.
This doesn't fail when BR2_PER_PACKAGE_DIRECTORIES is disabled. This
is because host-e2fsprogs requires host-util-linux, and
host-util-linux always builds before host-uboot when single-threaded.
Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Reviewed-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Since the update of ffmpeg to 6.1.1 in commit
fa36a6375d there are
a lot of microblaze build failures.
The compilation failure is triggered by GCC Bug 68485.
We need to disable optimisations, or ffmpeg would add -O3, which would
be present after the -O0 we add, overriding it.
Fixes:
- http://autobuild.buildroot.net/results/524/524cef193aec30471e55eb0eecfa39f0d6011a91
And many more.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
[yann.morin.1998@free.fr: explain why --disable-optimizations]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Changes with nginx 1.26.2 14 Aug 2024
*) Security: processing of a specially crafted mp4 file by the
ngx_http_mp4_module might cause a worker process crash
(CVE-2024-7347).
Thanks to Nils Bars.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
MariaDB is failing to build since commit 6b86f076c3 "package/fmt: bump
to version 11.0.1" with output:
/buildroot/output/build/aarch64-buildroot-linux-gnu/sysroot/usr/include/fmt/base.h:1402:29: error: passing 'const fmt::v11::formatter<String>' as 'this' argument discards qualifiers [-fpermissive]
1402 | ctx.advance_to(cf.format(*static_cast<qualified_type*>(arg), ctx));
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This commit is fixing the issue by adding an upstream patch, rebased
on the package version.
Fixes:
http://autobuild.buildroot.org/results/3106928a2d6b32acfb075a2840cf549a81784270/
and many others.
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
When building with `make -j` and PER_PACKAGE_DIRECTORIES, a race
condition occurs between xilinx-prebuilt and u-boot, resulting in the
following error.
objcopy -O binary -I elf32-little .../images/pmufw.elf .../images/pmufw.bin
objcopy: '.../images/pmufw.elf': No such file
U-Boot registers a KCONFIG_FIXUP_CMD that uses the pmufw.elf from
xilinx-prebuilt. But KCONFIG_FIXUP_CMDS does not use the normal
DEPENDENCIES, so xilinx-prebuilt is not guaranteed to have run before
fixup.
Instead move the `objcopy` call out to a PRE_BUILD_HOOK so it will run
after xilinx-prebuilt has finished.
Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Tested-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The Linux kernel and U-Boot custom tarballs were updated incorrectly
in commit 45db645457. Update these to select specific release tags
instead of branches. Update the U-Boot and Linux hashes to match
these changes.
Fixes: 45db645457 ("configs/microchip_mpfs_icicle: bump Linux and
U-Boot, add hashes")
Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Tested-by: Prajna Rajendra Kumar <prajna.rajendrakumar@microchip.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The Linux kernel and U-Boot custom tarballs were updated incorrectly
in commit 8ce97fd550. Update these to select specific release tags
instead of branches. Update the U-Boot and Linux hashes to match
these changes.
Fixes: 8ce97fd550 ("configs/beaglev_fire: bump Linux and U-Boot")
Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Tested-by: Prajna Rajendra Kumar <prajna.rajendrakumar@microchip.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
See this git shortlog for changes:
Dmitry Chestnykh (2):
Fix compilation with 4.x kernel headers
Group conditions after `&&`
Frank Mehnert (6):
libdl: properly cast parameters for %p format string specifier
iconv: explicit cast to `unsigned char*`
iconv: explicitly state operator precedence
ldso.c: use 'unsigned int' as loop variable type
iconv: fix parameter type of utf8seq_is_{overlong,surrogate,illegal}
iconv: prevent compiler warning during initialization with jis0208
J. Neuschäfer (1):
bits/stat.h: Declare st_mtim if defined(__USE_XOPEN2K8), everywhere
Marcus Haehnel (5):
ldso/dl-vdso: avoid compiler warning if configured without vdso
uclibc: Fix double promotion warning
libm: Fix float conversion compiler warning
features.h: add clang prerequisite macro
buildsys: allow building with gcc-14
Sven Linker (1):
c++: Remove deprecated dynamic exception specification
Valentin Gehrke (1):
arm: Replace deprecated asm instructions for ARMv8 AArch32
Waldemar Brodkorb (9):
Clang support for gnu_inline attribute
allow to use <sys/ucontext.h>
add SEEK_DATA/SEEK_HOLE
lseek: allow SEEK_DATA/SEEK_HOLE to be used
bits/stat.h: Declare st_mtim if defined(__USE_XOPEN2K8), add missing
riscv: remove incomplete context implementation, use libucontext
add memfd_create syscall wrapper
getrandom: remove __USE_GNU / add GRND_INSECURE
bump version for 1.0.50 release
Yann Le Du (1):
stdlib: increase number of static atexit handlers to 32
All buildroot patches are upstream.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Without the unbound user the daemon does not start on bootup.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This adds the host dependency host-qt6base as host-qt6tools requires the
Qt cmake modules to be installed.
Fixes:
$ make qt6tools
(...)
CMake Error at CMakeLists.txt:21 (find_package):
Could not find a package configuration file provided by "Qt6" (requested
version 6.7.2) with any of the following names:
Qt6Config.cmake
qt6-config.cmake
Add the installation prefix of "Qt6" to CMAKE_PREFIX_PATH or set "Qt6_DIR"
to a directory containing one of the above files. If "Qt6" provides a
separate development package or SDK, be sure it has been installed.
Signed-off-by: Gaël PORTAY <gael.portay@rtone.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The download and homepage URL for this project have been
updated. The old site no longer works.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Provide correct grouping for preprocessor conditions to avoid building
ld.so with undefined macroses which are in use. This is a fix for
package/uclibc/0002-Fix-compilation-with-4.x-kernel-headers.patch.
Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Some buildsystems (or their use of it by packages) will cause flags in
LDFLAGS to be re-orderded, or even dropped, causing some
incomprehensible mayhem... For example, gpsd [0] has this in its
SConscript [1](typoes not mines, for once):
591 # scons uses gcc, or clang, to link. Thus LDFLAGS does not serve its
592 # traditional function of providing arguments to ln. LDFLAGS set in the
593 # environment before running scons get moved into CCFLAGS by scons.
594 # LDFLAGS set while running scons get ignored.
[--SNIP--]
611 for i in ["ARFLAGS",
612 "CCFLAGS",
613 "CFLAGS",
614 "CPPFLAGS",
615 "CXXFLAGS",
616 "LDFLAGS",
617 "LINKFLAGS",
618 "SHLINKFLAGS",
619 ]:
620 if i in os.environ:
621 # MergeFlags() puts the options where scons wants them, not
622 # where you asked them to go.
623 env.MergeFlags(Split(os.getenv(i)))
So, when LDFLAGS (our TARGET_LDFLAGS) contains "-z text" (without the
quotes), that gets turned into a command line like (line-splitted for
readability):
[...]/buildroot/output/host/bin/aarch64_be-buildroot-linux-musl-gcc \
-o gpsd-3.25/drivers/driver_rtcm2.os \
-c \
--sysroot=[...]/buildroot/output/host/aarch64_be-buildroot-linux-musl/sysroot \
-O3 -g0 \
-z \
-fPIC -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \
gpsd-3.25/drivers/driver_rtcm2.c
Notice how there is a lone "-z" without any following keyword.
This then causes a build failure that looks totally unrelated [2]:
In file included from gpsd-3.25/drivers/../include/gpsd.h:36,
from gpsd-3.25/drivers/driver_rtcm2.c:65:
gpsd-3.25/drivers/../include/os_compat.h:40:8: error: redefinition of ‘struct timespec’
40 | struct timespec {
| ^~~~~~~~
In file included from [...]/buildroot/output/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/sys/select.h:16,
from gpsd-3.25/drivers/../include/gpsd.h:31:
[...]/buildroot/output/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/bits/alltypes.h:237:8: note: originally defined here
237 | struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==4321); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER!=4321); };
| ^~~~~~~~
gpsd-3.25/drivers/../include/os_compat.h:48:5: error: conflicting types for ‘clock_gettime’; have ‘int(clockid_t, struct timespec *)’ {aka ‘int(int, struct timespec *)’}
48 | int clock_gettime(clockid_t, struct timespec *);
| ^~~~~~~~~~~~~
In file included from gpsd-3.25/drivers/../include/gpsd.h:33:
[...]/buildroot/output/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/time.h:104:5: note: previous declaration of ‘clock_gettime’ with type ‘int(clockid_t, struct timespec *)’ {aka ‘int(int, struct timespec *)’}
104 | int clock_gettime (clockid_t, struct timespec *);
| ^~~~~~~~~~~~~
scons: *** [gpsd-3.25/drivers/driver_rtcm2.os] Error 1
scons: building terminated because of errors.
make[1]: *** [package/pkg-generic.mk:289: [...]/buildroot/output/build/gpsd-3.25/.stamp_built] Error 2
make: *** [Makefile:83: _all] Error 2
Although undocumented, neither in gcc not ld (clang unchecked by lack of
a clang toolchain here, and by lack of clang knowledge), -z accepts the
keyword to be snatch-glued onto it, like -zkeyword, rather than be
spearated with a space. So, use that to pass -ztext.
Fixes:
http://autobuild.buildroot.org/results/c03/c039989947b960ac6af17c87090366abc26dcb6d/http://autobuild.buildroot.net/results/bc35d3e7b0e8c59c776652070650af3c749250ee/
[0] Our other scons-based package, mongodb, does not build for another
reason that probably hides the same issue as seen with gpsd.
[1] As explained in gpsd's SConscript (se above), Scons does play tricks
with variables:
https://scons.org/doc/production/HTML/scons-man.html#f-MergeFlagshttps://scons.org/doc/production/HTML/scons-man.html#f-ParseFlags
Quoting:
Flag values are translated according to the prefix found, and added
to the following construction variables:
[...]
-Wl, LINKFLAGS
[...]
- CCFLAGS
[...]
Any other strings not associated with options are assumed to be the
names of libraries and added to the $LIBS construction variable.
So in our case, it finds that -z is an unknown option that matches the
'-' prefix, so it is added to CFLAGS, while 'text' is a string on its
own, so added to LIBS, and thus it would try to link with -ltext
(supposedly, because we do not even go that far). Funnily enough, we can
se that "-Wl," is a known option prefix, that is added to LINKFLAGS (to
properly be used with gcc or clang, not ld).
As a consequence, gpsd's buildsystem does drop -ztext from the link
flags, and only passes it to the compile flags, which brings us back to
before we banned textrels in a1a2f498d7 (package/Makefile.in: ban
textrels on musl toolchains). Fixing gpsd is a task for another,
separate patch...
[2] I spent quite some time to look at recent, time-related changes in
Buildroot, especially due to the infamous time64_t issues... Alas, that
was not related, and only a git-bisect pinpointed the actual issue. Poor
polar bears...
Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Cc: J. Neuschäfer <j.neuschaefer@gmx.net>
Reviewed-by: J. Neuschäfer <j.neuschaefer@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Migrate the zynqmp_zcu106_defconfig to rev1.0 ddr memory, since all new boards
will be using the rev1.0 ddr memory.
This patch also adds documentation in the board/zynqmp/readme.txt explaining
the issue related to the change in ddr memory. Should users not see anything
printing from the board during boot, the most likely issue is that the board
has the original ddr memory and the u-boot device tree needs to be configured
accordingly to revA.
Original DDR Memory:
BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=zynqmp-zcu106-revA"
More information regarding this issue can be found here:
https://support.xilinx.com/s/article/71961?language=en_US
Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>