* [Buildroot] [PATCH v2 1/1] package/bootgen: Re-apply fix build on machines with modern flex
@ 2025-06-03 13:48 Neal Frager via buildroot
2025-06-04 7:36 ` Luca Ceresoli via buildroot
2025-06-09 22:10 ` Julien Olivain
0 siblings, 2 replies; 3+ messages in thread
From: Neal Frager via buildroot @ 2025-06-03 13:48 UTC (permalink / raw)
To: buildroot
Cc: ibai.erkiaga-elorza, luca.ceresoli, Neal Frager, brandon.maier,
ju.o, thomas.petazzoni, romain.naour, michal.simek
With bootgen 2025.1, the directory structure was re-done. In the process of
doing this, the source files in the bisonflex directory lost the fix below
which had been applied on an earlier version of bootgen for the issue below.
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*'})
Fix it by using normal local #include statements by:
sed -i 's/<FlexLexer.h>/"FlexLexer.h"/g' *
This patch re-adds the patch to fix this to buildroot.
Fixes: https://autobuild.buildroot.org/results/056384322246877253cd8d0781717ce495cbe769/
Upstream: patch submitted to AMD internal jira process
Signed-off-by: Neal Frager <neal.frager@amd.com>
---
V1->V2:
- removed patch numbering 1/1
---
...x-build-on-machines-with-modern-flex.patch | 72 +++++++++++++++++++
1 file changed, 72 insertions(+)
create mode 100644 package/bootgen/0001-bisonflex-Fix-build-on-machines-with-modern-flex.patch
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
new file mode 100644
index 0000000000..6d048e9bd9
--- /dev/null
+++ b/package/bootgen/0001-bisonflex-Fix-build-on-machines-with-modern-flex.patch
@@ -0,0 +1,72 @@
+From e7e341b7ba6fa9fb875718e8740b03c2041278e8 Mon Sep 17 00:00:00 2001
+From: Neal Frager <neal.frager@amd.com>
+Date: Mon, 2 Jun 2025 12:09:13 +0100
+Subject: [PATCH] bisonflex: Fix build on machines with modern flex
+
+With bootgen 2025.1, the directory structure was re-done. In the process of
+doing this, the source files in the bisonflex directory lost the fix below
+which had been applied on an earlier version of bootgen:
+
+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*'})
+
+Fix it by using normal local #include statements by:
+
+sed -i 's/<FlexLexer.h>/"FlexLexer.h"/g' *
+
+Upstream: submitted to AMD internal jira process
+
+Signed-off-by: Neal Frager <neal.frager@amd.com>
+---
+ bisonflex/bif.yy.cpp | 2 +-
+ bisonflex/cmdoptions.yy.cpp | 2 +-
+ bisonflex/reginit.yy.cpp | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/bisonflex/bif.yy.cpp b/bisonflex/bif.yy.cpp
+index 8d4d364..35f0aa5 100755
+--- a/bisonflex/bif.yy.cpp
++++ b/bisonflex/bif.yy.cpp
+@@ -379,7 +379,7 @@ typedef unsigned char YY_CHAR;
+
+ #define yytext_ptr yytext
+
+-#include <FlexLexer.h>
++#include "FlexLexer.h"
+
+ int yyFlexLexer::yywrap() { return 1; }
+ int yyFlexLexer::yylex()
+diff --git a/bisonflex/cmdoptions.yy.cpp b/bisonflex/cmdoptions.yy.cpp
+index 661d7f3..a76ac81 100755
+--- a/bisonflex/cmdoptions.yy.cpp
++++ b/bisonflex/cmdoptions.yy.cpp
+@@ -379,7 +379,7 @@ typedef unsigned char YY_CHAR;
+
+ #define yytext_ptr yytext
+
+-#include <FlexLexer.h>
++#include "FlexLexer.h"
+
+ int yyFlexLexer::yywrap() { return 1; }
+ int yyFlexLexer::yylex()
+diff --git a/bisonflex/reginit.yy.cpp b/bisonflex/reginit.yy.cpp
+index d830734..dede473 100755
+--- a/bisonflex/reginit.yy.cpp
++++ b/bisonflex/reginit.yy.cpp
+@@ -379,7 +379,7 @@ typedef unsigned char YY_CHAR;
+
+ #define yytext_ptr yytext
+
+-#include <FlexLexer.h>
++#include "FlexLexer.h"
+
+ int yyFlexLexer::yywrap() { return 1; }
+ int yyFlexLexer::yylex()
+--
+2.25.1
+
--
2.25.1
_______________________________________________
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/bootgen: Re-apply fix build on machines with modern flex
2025-06-03 13:48 [Buildroot] [PATCH v2 1/1] package/bootgen: Re-apply fix build on machines with modern flex Neal Frager via buildroot
@ 2025-06-04 7:36 ` Luca Ceresoli via buildroot
2025-06-09 22:10 ` Julien Olivain
1 sibling, 0 replies; 3+ messages in thread
From: Luca Ceresoli via buildroot @ 2025-06-04 7:36 UTC (permalink / raw)
To: Neal Frager
Cc: ibai.erkiaga-elorza, buildroot, brandon.maier, ju.o,
thomas.petazzoni, romain.naour, michal.simek
On Tue, 3 Jun 2025 14:48:12 +0100
Neal Frager <neal.frager@amd.com> wrote:
> With bootgen 2025.1, the directory structure was re-done. In the process of
> doing this, the source files in the bisonflex directory lost the fix below
> which had been applied on an earlier version of bootgen for the issue below.
>
> 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*'})
>
> Fix it by using normal local #include statements by:
>
> sed -i 's/<FlexLexer.h>/"FlexLexer.h"/g' *
>
> This patch re-adds the patch to fix this to buildroot.
>
> Fixes: https://autobuild.buildroot.org/results/056384322246877253cd8d0781717ce495cbe769/
> Upstream: patch submitted to AMD internal jira process
>
> Signed-off-by: Neal Frager <neal.frager@amd.com>
Note this is for next, where the version bump is.
Reviewed-By: Luca Ceresoli <luca.ceresoli@bootlin.com>
--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
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/bootgen: Re-apply fix build on machines with modern flex
2025-06-03 13:48 [Buildroot] [PATCH v2 1/1] package/bootgen: Re-apply fix build on machines with modern flex Neal Frager via buildroot
2025-06-04 7:36 ` Luca Ceresoli via buildroot
@ 2025-06-09 22:10 ` Julien Olivain
1 sibling, 0 replies; 3+ messages in thread
From: Julien Olivain @ 2025-06-09 22:10 UTC (permalink / raw)
To: Neal Frager
Cc: buildroot, ibai.erkiaga-elorza, luca.ceresoli, brandon.maier,
thomas.petazzoni, romain.naour, michal.simek
On 03/06/2025 15:48, Neal Frager via buildroot wrote:
> With bootgen 2025.1, the directory structure was re-done. In the
> process of
> doing this, the source files in the bisonflex directory lost the fix
> below
> which had been applied on an earlier version of bootgen for the issue
> below.
>
> 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*'})
>
> Fix it by using normal local #include statements by:
>
> sed -i 's/<FlexLexer.h>/"FlexLexer.h"/g' *
>
> This patch re-adds the patch to fix this to buildroot.
>
> Fixes:
> https://autobuild.buildroot.org/results/056384322246877253cd8d0781717ce495cbe769/
> Upstream: patch submitted to AMD internal jira process
>
> Signed-off-by: Neal Frager <neal.frager@amd.com>
Applied to next, thanks.
_______________________________________________
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:[~2025-06-09 22:10 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-03 13:48 [Buildroot] [PATCH v2 1/1] package/bootgen: Re-apply fix build on machines with modern flex Neal Frager via buildroot
2025-06-04 7:36 ` Luca Ceresoli via buildroot
2025-06-09 22:10 ` Julien Olivain
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox