Fix: vppapigen make build fails on fresh install
Steps to reproduce: vagrant@localhost:/vagrant$ build-root/vagrant/build.sh ... @@@@ Building vpp in /vagrant/build-root/build-vpp-native/vpp @@@@ [51/1169] Generating API header /vagrant/build-root/build-vpp-native/vpp/vlibmemory/memclnt.api.json FAILED: cd /vagrant/build-root/build-vpp-native/vpp/vlibmemory && mkdir -p /vagrant/build-root/build-vpp-native/vpp/vlibmemory && /vagrant/src/tools/vppapigen/vppapigen --includedir /vagrant/src --input /vagrant/src/vlibmemory/memclnt.api JSON --output /vagrant/build-root/build-vpp-native/vpp/vlibmemory/memclnt.api.json AttributeError: 'module' object has no attribute 'dumps' This seems to be due to JSON.py namespace colliding with the standard lib json.py Change-Id: If389e4e05ef0c166b0c2b3bef7ec0185298679a8 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
This commit is contained in:
Paul Vinciguerra
committed by
Damjan Marion
parent
b1232555e9
commit
9ce6a21aaa
@ -78,9 +78,9 @@ install-deb: $(patsubst %,%-find-source,$(ROOT_PACKAGES))
|
||||
: dev package needs a couple of additions ; \
|
||||
echo ../$(INSTALL_PREFIX)$(ARCH)/vpp/bin/vppapigen /usr/bin \
|
||||
>> deb/debian/vpp-dev.install ; \
|
||||
echo ../$(INSTALL_PREFIX)$(ARCH)/vpp/share/vpp/C.py /usr/share/vpp \
|
||||
echo ../$(INSTALL_PREFIX)$(ARCH)/vpp/share/vpp/vppapigen_c.py /usr/share/vpp \
|
||||
>> deb/debian/vpp-dev.install ; \
|
||||
echo ../$(INSTALL_PREFIX)$(ARCH)/vpp/share/vpp/JSON.py /usr/share/vpp \
|
||||
echo ../$(INSTALL_PREFIX)$(ARCH)/vpp/share/vpp/vppapigen_json.py /usr/share/vpp \
|
||||
>> deb/debian/vpp-dev.install ; \
|
||||
echo ../../extras/japi/java/jvpp/gen/jvpp_gen.py /usr/bin \
|
||||
>> deb/debian/vpp-dev.install ; \
|
||||
|
@ -263,8 +263,8 @@ for i in $(ls %{_mu_build_dir}/../extras/japi/java/jvpp/gen/jvppgen/*.py); do
|
||||
install -p -m666 ${i} %{buildroot}%{python2_sitelib}/jvppgen
|
||||
done;
|
||||
|
||||
install -p -m 644 %{_mu_build_dir}/../src/tools/vppapigen/C.py %{buildroot}/usr/share/vpp
|
||||
install -p -m 644 %{_mu_build_dir}/../src/tools/vppapigen/JSON.py %{buildroot}/usr/share/vpp
|
||||
install -p -m 644 %{_mu_build_dir}/../src/tools/vppapigen/vppapigen_c.py %{buildroot}/usr/share/vpp
|
||||
install -p -m 644 %{_mu_build_dir}/../src/tools/vppapigen/vppapigen_json.py %{buildroot}/usr/share/vpp
|
||||
|
||||
# sample plugin
|
||||
mkdir -p -m755 %{buildroot}/usr/share/doc/vpp/examples/sample-plugin/sample
|
||||
|
@ -21,4 +21,4 @@ install(
|
||||
COMPONENT vpp-dev
|
||||
)
|
||||
|
||||
install(FILES C.py JSON.py DESTINATION share/vpp COMPONENT vpp-dev)
|
||||
install(FILES vppapigen_c.py vppapigen_json.py DESTINATION share/vpp COMPONENT vpp-dev)
|
||||
|
@ -785,14 +785,14 @@ def main():
|
||||
'/../share/vpp/')
|
||||
for c in cand:
|
||||
c += '/'
|
||||
if os.path.isfile(c + args.output_module + '.py'):
|
||||
if os.path.isfile('{}vppapigen_{}.py'.format(c, args.output_module.lower())):
|
||||
pluginpath = c
|
||||
break
|
||||
else:
|
||||
pluginpath = args.pluginpath + '/'
|
||||
if pluginpath == '':
|
||||
raise Exception('Output plugin not found')
|
||||
module_path = pluginpath + args.output_module + '.py'
|
||||
module_path = '{}vppapigen_{}.py'.format(pluginpath, args.output_module.lower())
|
||||
|
||||
try:
|
||||
plugin = imp.load_source(args.output_module, module_path)
|
||||
|
Reference in New Issue
Block a user