With a fresh fc24 install, ipa-client-install prints the following warning: # ipa-client-install -N WARNING: yacc table file version is out of date Discovery was successful! and then proceeds to configure the client as normal. Nothing seems to be broken, but I didn't do anything obviously odd and this warning is esoteric.
Created attachment 1158504 [details] install log I don't see anything in here, but attaching it as requested.
Created attachment 1158507 [details] yacctab.py Found this in root's homedir after install
Created attachment 1158508 [details] lextab.py Same with this
what is you version of: python-ply python-pycparser python-cffi python-cryptography and python3 variants I've a feeling that the issue is in one of the packages. Probably python-pycparser.
This is fc24 (with updates-testing), so: python2-ply-3.8-1.fc24.noarch python-pycparser-2.14-5.fc24.noarch python2-cffi-1.5.2-1.fc24.x86_64 python2-cryptography-1.3.1-1.fc24.x86_64 No python3 versions of any of the above are installed. Python versions: python3-3.5.1-7.fc24.x86_64 python-2.7.11-4.fc24.x86_64
This can be reproduced on F24 system using this Python snippet: >>> from cffi import FFI >>> _ffi = FFI() >>> _ffi.cdef(""" ... int rpmvercmp (const char *a, const char *b); ... """) WARNING: yacc table file version is out of date Moving to cffi.
It's a bug in python-ply (Python lexx and yacc). cffi uses pyparsing and ply to parse C declarations. /usr/lib/python2.7/site-packages/ply/yacc.py: raise VersionError('yacc table file version is out of date')
I don't see the bug in ply (not that I'm necessary disputing it existing). When I change the debugging string like this: raise VersionError('yacc table file version is out of date %s vs %s' % (parsetab._tabversion, __tabversion__)) We get: Python 2.7.11 (default, Feb 5 2016, 01:53:41) [GCC 6.0.0 20160201 (Red Hat 6.0.0-0.9)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from cffi import FFI >>> _ffi = FFI() >>> _ffi.cdef(""" ... int rpmvercmp (const char *a, const char *b); ... """) WARNING: yacc table file version is out of date 3.5 vs 3.8 >>> I'm not sure why the file version is coming in from ffi at 3.5.
note that *every* time this happens, a yacctab.py gets dumped in the working directory. Which is kind of annoying. I'm seeing it on my server after upgrading to F24, every time I run ipactl.
FYI, I downgraded python-ply to 3.6-4.fc24 and the problem went away. So, definitely a PLY issue.
It's a bug in pycparser. The error message doesn't have enough information to point to the right file. It's not yacc.py but yacctab.py! The yacctab in pycparser has version 3.5. After I changed _tabversion = '3.8' in /usr/lib/python2.7/site-packages/pycparser/yacctab.py, the warning is gone.
Just rebuilding pycparser against the new python-ply package in F24 seems to do the trick.
Could we get updated packages in Fedora 24?
python-pycparser-2.14-6.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-f7eac4df7e
python-pycparser-2.14-6.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-f7eac4df7e
I confirm that with upgrade to python-pycparser-2.14-6.fc24, ipa-server-install no longer emits the WARNING: yacc table file version is out of date message.
python-pycparser-2.14-6.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.