From 92f23ce83ae0fa5b19f034ba6d1d5e7dcd073991 Mon Sep 17 00:00:00 2001 From: Neal Frager Date: Fri, 13 Jun 2025 06:44:06 +0100 Subject: [PATCH] package/bootgen: fix path to local FlexLexer.h With bootgen xilinx_v2025.1, the local FlexLexer.h file is not in the same directory as the cpp files including it, so the previous patch used to solve the issue below needs to be updated to find the local FlexLexer.h which is in the win_include directory of bootgen version xilinx_v2025.1. See upstream commit [1]. So this patch corrects the path for including the local FlexLexer.h header for fixing the below issue. Bootgen embeds an old version of flex, but uses the system include syntax (#include <>) to reference it, causing conflicts on systems with the development headers for a modern flex version installed, leading to build issues like: ../bisonflex/bif.yy.cpp: In member function 'virtual int BIF::FlexScanner::yylex()': ../bisonflex/bif.yy.cpp:1608:18: error: no match for 'operator=' (operand types are 'std::istream' {aka 'std::basic_istream'} and 'std::istream*' {aka 'std::basic_istream*'}) This build failure can also happen if the host-flex Buildroot package is built before host-bootgen. The failure can be reproduced, in the Buildroot docker reference image with the commands: utils/docker-run make versal_vck190_defconfig make host-flex host-bootgen Fix it by using normal local #include statements by: sed -i 's//"../win_include/FlexLexer.h"/g' * Fixes: https://autobuild.buildroot.org/results/60220f94cca1bcca5667afcb2acffb5aacae048b [1] https://github.com/Xilinx/bootgen/commit/86b862096bcbdb45d4ce1504ecfe90fb29f318a5#diff-0d754a86508dc8a894b72796966f332c0316942c5d5ab42ae6a0766dcfcb52dc Signed-off-by: Neal Frager [Julien: add extra info in commit log] Signed-off-by: Julien Olivain --- ...bisonflex-Fix-build-on-machines-with-modern-flex.patch | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package/bootgen/0001-bisonflex-Fix-build-on-machines-with-modern-flex.patch b/package/bootgen/0001-bisonflex-Fix-build-on-machines-with-modern-flex.patch index 6d048e9bd9..817fee195e 100644 --- a/package/bootgen/0001-bisonflex-Fix-build-on-machines-with-modern-flex.patch +++ b/package/bootgen/0001-bisonflex-Fix-build-on-machines-with-modern-flex.patch @@ -17,7 +17,7 @@ issues like: Fix it by using normal local #include statements by: -sed -i 's//"FlexLexer.h"/g' * +sed -i 's//"../win_include/FlexLexer.h"/g' * Upstream: submitted to AMD internal jira process @@ -37,7 +37,7 @@ index 8d4d364..35f0aa5 100755 #define yytext_ptr yytext -#include -+#include "FlexLexer.h" ++#include "../win_include/FlexLexer.h" int yyFlexLexer::yywrap() { return 1; } int yyFlexLexer::yylex() @@ -50,7 +50,7 @@ index 661d7f3..a76ac81 100755 #define yytext_ptr yytext -#include -+#include "FlexLexer.h" ++#include "../win_include/FlexLexer.h" int yyFlexLexer::yywrap() { return 1; } int yyFlexLexer::yylex() @@ -63,7 +63,7 @@ index d830734..dede473 100755 #define yytext_ptr yytext -#include -+#include "FlexLexer.h" ++#include "../win_include/FlexLexer.h" int yyFlexLexer::yywrap() { return 1; } int yyFlexLexer::yylex()