Bug #77529 MySQL 5.1 doesn't build with Bison 3.0
Submitted: 29 Jun 2015 3:01 Modified: 24 Apr 2018 13:28
Reporter: Stewart Smith Email Updates:
Status: Unsupported Impact on me:
Category:MySQL Server: Compiling Severity:S2 (Serious)
Version:5.1.73 OS:Linux
Assigned to: CPU Architecture:Any

[29 Jun 2015 3:01] Stewart Smith
sql_yacc.yy is incompatible with Bison 3.0

This has been fixed in Maria since ~2013 but affects MySQL 5.1.73

How to repeat:
Build MySQL 5.1 on remotely modern Linux distro

Suggested fix:
Patch coming.
[9 Jul 2015 12:08] MySQL Verification Team
Hello Stewart,

Thank you for the bug report.
I'm not seeing this issue at my end on CentOS 5.3.
Could you please provide exact configure/build commands used, and OS details?

[9 Jul 2015 12:09] MySQL Verification Team
CentOS 5.3 - MySQL 5.1.73 Build log..

Attachment: 77529.results (application/octet-stream, text), 1.07 MiB.

[9 Jul 2015 20:57] Stewart Smith
Used Ubuntu Vivid (15.04), which has a more recent version of Bison than CentOS 5.3 is likely to have. I was also building from git rather than source tarball.
[9 Jul 2015 20:57] Stewart Smith
Affects any configuration option, as you always end up building the parser.
[10 Jul 2015 5:41] MySQL Verification Team
Thank you for the feedback.
Observed issue on Ubuntu Vivid 15.04:

sql_yacc.cc: In function ‘int MYSQLparse()’:
sql_yacc.cc:14842:30: error: too few arguments to function ‘int MYSQLlex(void*, void*)’
       yychar = yylex (&yylval);

sql_yacc.yy:13795:23: note: in expansion of macro ‘Lex’
             LEX *lex= Lex;
Makefile:1123: recipe for target 'sql_yacc.o' failed
make[3]: *** [sql_yacc.o] Error 1
make[3]: Leaving directory '/home/ushastry/Downloads/mysql-5.1.73/sql'
Makefile:1194: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/ushastry/Downloads/mysql-5.1.73/sql'
Makefile:793: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/ushastry/Downloads/mysql-5.1.73/sql'
Makefile:616: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
[10 Jul 2015 5:45] MySQL Verification Team
Build log..

Attachment: 5.1.73.buildlog (application/octet-stream, text), 1.79 MiB.

[29 Jun 2016 8:25] Hartmut Holzgraefe
With 5.1 EOL we can probably close this one at this point?
[24 Apr 2018 13:28] Yngve Svendsen
Posted by developer:
Closing. 5.1 is obsolete.