Bug 16090 - Buildroot-2024-02-2 error building libffi
Summary: Buildroot-2024-02-2 error building libffi
Status: RESOLVED MOVED
Alias: None
Product: buildroot
Classification: Unclassified
Component: Outdated package (show other bugs)
Version: unspecified
Hardware: PC Linux
: P5 blocker
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-04 00:18 UTC by Ricardo Miguel
Modified: 2024-06-15 15:20 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ricardo Miguel 2024-06-04 00:18:49 UTC
When trying to build root image for zynq target, it throws this error:
....
../src/tramp.c: In function 'ffi_tramp_get_temp_file':
../src/tramp.c:262:22: error: implicit declaration of function 'open_temp_exec_file' [-Wimplicit-function-declaration]
  262 |   tramp_globals.fd = open_temp_exec_file ();
....
Host OS: Fedora 40
Kernel: 6.8.10-300.fc40.x86_64
gcc : version 14.1.1 20240522 (Red Hat 14.1.1-4) (GCC)

Problem: libffi-3.4.4 does not compile with gcc > 14.

Solution: 
1) Edit buildroot-2024.02.2/package/libffi/libffi.mk and change libffi version
LIBFFI_VERSION = 3.4.6

2) Edit buildroot-2024.02.2/package/libffi/libffi.hash and change hashes:
# For libffi-3.4.6.tar.gz
sha256  b0dea9df23c863a7a50e825440f3ebffabd65df1497108e5d437747843895a4e  libffi-3.4.6.tar.gz
sha256  67894089811f93fca47a76f85e017da6f8582d4ba0905963c6e0f1ad6df7a195  LICENSE

I have tried it only for zynq target, but I assume that this fix works for all
targets that compile libffi and all systems  where GCC > 14
Regards
Comment 1 Yann E. MORIN 2024-06-15 15:20:51 UTC
Thank you for your report.

The issue tracker for the Buildroot project has been moved to
the Gitlab.com issue tracker:
    https://gitlab.com/buildroot.org/buildroot/-/issues

We are taking this opportunity to close old issues in this old
tracker. If you believe your issue is still relevant, please
open one in the new issue tracker.

Thank you!