15/10/2019 14:39, Robin Jarry: > Running dpdk-pmdinfo.py on Ubuntu 18.04 (bionic) with python 3 and > pyelftools installed produces no output but no error is reported > neither: > > ~$ python3 usertools/dpdk-pmdinfo.py -r build/app/testpmd > ~$ echo $? > 0 > > While with python 2, it works: > > ~# python2 usertools/dpdk-pmdinfo.py -r build/app/testpmd > {"pci_ids": [], "name": "dpio"} > {"pci_ids": [], "name": "dpbp"} > {"pci_ids": [], "name": "dpaa2_qdma"} > ..... > > On Ubuntu 18.04, pyelftools is version 0.24. The change log of > pyelftools v0.24 says: > > - Symbol/section names are strings internally now, not bytestrings > (this may affect API usage in Python 3) (#76). > > We cannot guess which version of pyelftools is actually being used. The > elftools.__version__ symbol is not consistent with each distro's package > version. For example, on Ubuntu 16.04 (xenial), the .deb package version > is '0.23-2' but elftools.__version__ contains '0.25'. This is certainly > due to partial backports. > > To have a more consistent behaviour of this script across all versions > of python, add the unicode_literals future import so that literal > strings are now always "unicode". > > Add 2 utility functions to force a string into bytes or bytes into an > unicode string. > > Force pyelftools return values to unicode strings (will do nothing with > recent version of pyelftools). > > If elffile.get_section_by_name returns None with a unicode section name, > try with the same one encoded as bytes. > > Also, replace all open() calls by io.open() which behaves like the > builtin open in python 3. The only non-binary opened file is > /usr/share/hwdata/pci.ids which is UTF-8 encoded text. Explicitly > specify that encoding. > > Link: https://github.com/eliben/pyelftools/blob/v0.24/CHANGES#L7 > Link: https://github.com/eliben/pyelftools/commit/108eaea9e75a8b5a > Fixes: 54ca545dce4b ("make python scripts python2/3 compliant") > Cc: John McNamara <john.mcnam...@intel.com> > Cc: sta...@dpdk.org > Signed-off-by: Robin Jarry <robin.ja...@6wind.com> > Reviewed-by: Olivier Matz <olivier.m...@6wind.com>
I am really scary by all of this, but I trust you to fix it properly. Applied, thanks