[KDE/Mac] Review Request 127972: Always update the Predicate parser from y/l sources

Pino Toscano pino at kde.org
Sat May 21 13:46:32 UTC 2016



> On May 20, 2016, 11:21 p.m., René J.V. Bertin wrote:
> > I've done some testing with Solid 5.20.0 .The patch applies cleanly, but I'm getting the error below. I'd write that down to using the older Solid version if it weren't for that fact I'm quite sure I've seen this kind of error before:
> > 
> > ```
> >  [ 30%] [BISON][SolidParser] Building parser with bison 3.0.4
> >  cd /opt/local/var/macports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-solid/work/solid-5.20.0/src/solid && /opt/local/bin/bison -p Solid -d -b predicate_parser -d -o /opt/local/var/macports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-solid/work/build/src/solid/predicate_parser.c devices/predicate_parser.y
> >  ...
> >  make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-solid/work/build'
> >  [ 31%] Building C object src/solid/CMakeFiles/KF5Solid_static.dir/predicate_parser.c.o
> >  cd /opt/local/var/macports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-solid/work/build/src/solid && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang  -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MAC_USE_COCOA -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_SIGNALS_SLOTS_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING -DQT_QSP_XDG_LIB -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB -DQT_XML_LIB -D_DARWIN_C_SOURCE -D_LARGEFILE64_SOURCE -I/opt/local/var/macports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-solid/work/build/src/solid -I/opt/local/var/macports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-solid/work/solid-5.20.0/src/solid -I/opt/local/var/macports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-solid/work/solid-5.20.0/src/solid/devices -I/opt/local/var/macports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-solid/work/solid-5.20.0/src/solid/devices/frontend -I/opt/local/var/macports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-solid/work/solid-5.20.0/src/solid/.. -I/opt/local/var/macports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-solid/work/build/src/solid/.. -iframework /opt/local/libexec/qt5/Library/Frameworks -isystem /opt/local/libexec/qt5/Library/Frameworks/QtCore.framework/Headers -isystem /opt/local/share/qt5/mkspecs/macx-clang -isystem /opt/local/libexec/qt5/Library/Frameworks/QtQspXDG.framework/Headers -isystem /opt/local/libexec/qt5/Library/Frameworks/QtDBus.framework/Headers -isystem /opt/local/libexec/qt5/Library/Frameworks/QtXml.framework/Headers -isystem /opt/local/libexec/qt5/Library/Frameworks/QtWidgets.framework/Headers -isystem /opt/local/libexec/qt5/Library/Frameworks/QtGui.framework/Headers -isystem /System/Library/Frameworks/OpenGL.framework/Headers  -O3 -march=native -g -DNDEBUG -DQT_USE_EXTSTANDARDPATHS -DQT_EXTSTANDARDPATHS_XDG_DEFAULT=true  -std=iso9899:1990 -fno-common -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wmissing-format-attribute -Wwrite-strings -Werror=implicit-function-declaration -arch x86_64 -mmacosx-version-min=10.9 -fvisibility=hidden   -DSOLID_STATIC_DEFINE=1 -fPIC -o CMakeFiles/KF5Solid_static.dir/predicate_parser.c.o   -c /opt/local/var/macports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-solid/work/build/src/solid/predicate_parser.c
> >  /opt/local/var/macports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-solid/work/build/src/solid/predicate_parser.c:1206:30: error: too few arguments to function call, expected 2, have 1
> >        yychar = yylex (&yylval);
> >                 ~~~~~         ^
> >  devices/predicate_parser.y:13:1: note: 'Solidlex' declared here
> >  int Solidlex( YYSTYPE *yylval, yyscan_t scanner );
> >  ^
> >  devices/predicate_parser.y:96:17: error: too many arguments to function call, expected 0, have 1
> >      Solidparse( scanner );
> >      ~~~~~~~~~~  ^~~~~~~
> >  /opt/local/var/macports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-solid/work/build/src/solid/predicate_parser.c:1036:1: note: 'Solidparse' declared here
> >  int
> >  ^
> >  2 errors generated.
> >  make[2]: *** [src/solid/CMakeFiles/KF5Solid_static.dir/predicate_parser.c.o] Error 1
> >  make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-solid/work/build'
> >  make[1]: *** [src/solid/CMakeFiles/KF5Solid_static.dir/all] Error 2
> >  make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-solid/work/build'
> >  make: *** [all] Error 2
> >  make: Leaving directory `/opt/local/var/macports/build/_opt_local_site-ports_kf5_KF5-Frameworks/kf5-solid/work/build'
> > ```
> 
> René J.V. Bertin wrote:
>     False alarm, builds fine with 5.22.0
> 
> Pino Toscano wrote:
>     Oh sorry, forgot to mention that you need to test the patch against git/master, since I fixed the grammar.
>     
>     Did you also run `make test`?
> 
> René J.V. Bertin wrote:
>     I did now. There isn't much to test for on OS X, and the tests succeed.

`solidhwtest` and `solidmttest`, both using the fake backend, have basic tests with `Predicate::fromString` (that is using the parser).

Thanks for testing!


- Pino


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127972/#review95657
-----------------------------------------------------------


On May 20, 2016, 6:39 a.m., Pino Toscano wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127972/
> -----------------------------------------------------------
> 
> (Updated May 20, 2016, 6:39 a.m.)
> 
> 
> Review request for KDE Software on Mac OS X, KDE Frameworks, kdewin, and Lukáš Tinkl.
> 
> 
> Repository: solid
> 
> 
> Description
> -------
> 
> Turn Flex and Bison into required build dependencies, and use them to always regenerate at build time the Predicate parser. This ensures that the parser does not rot, and there is no more need to rely on autogenerated sources added statically among the others.
> 
> Second commit: remove old generated files of Predicate parser
> 
> 
> Diffs
> -----
> 
>   CMakeLists.txt 763e09cfeeebdc9e42b68e8ab6c9e29c54d3e741 
>   src/solid/CMakeLists.txt f2b43b27cb47531ed57b2eccafad8e67951b56b9 
>   src/solid/devices/CMakeLists.txt 9271ae1e36b67b112be54a6ff9c6fb76a8a0a824 
>   src/solid/devices/predicate_lexer.c 3b5a0b90907baf1cd2631da4de650ec153d0f642 
>   src/solid/devices/predicate_parser.h 68e25070d498f5a635489af51f4b772c5f374108 
>   src/solid/devices/predicate_parser.c 6d35ff25f001a43cbfecacc11e7d7591bb4808f9 
> 
> Diff: https://git.reviewboard.kde.org/r/127972/diff/
> 
> 
> Testing
> -------
> 
> Builds fine with flex 2.6.0 and bison 3.0.4; `make test` passes too.
> 
> 
> Thanks,
> 
> Pino Toscano
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-mac/attachments/20160521/c3e0f94f/attachment-0001.html>


More information about the kde-mac mailing list