edge-core / sonic-platform-modules-accton

Other
4 stars 4 forks source link

Accton Debian packages build issue when -j is used #1

Closed yxieca closed 6 years ago

yxieca commented 6 years ago

While building sonic sonic-broadcom.bin image, 2 action Debian packages are required:

[ 01 ] [ target/debs/sonic-platform-accton-as7712-32x_1.1_amd64.deb ] [ 02 ] [ target/debs/sonic-platform-accton-as5712-54x_1.1_amd64.deb ]

If increase build job count to more than 1 and letting them being built at the same time, build will fail:

Ways to increase build job:

  1. Editing build image rules/config, increase SONIC_CONF_BUILD_JOBS to 10 while building target/sonic-broadcom.bin
  2. With PR https://github.com/Azure/sonic-buildimage/pull/1255, issue SONIC_BUILD_JOBS=10 while building.

[ FAIL LOG START ] [ target/debs/sonic-platform-accton-as5712-54x_1.1_amd64.deb ] /sonic/platform/broadcom/sonic-platform-modules-accton /sonic dpkg-buildpackage: source package sonic-accton-platform-modules dpkg-buildpackage: source version 1.1 dpkg-buildpackage: source distribution unstable dpkg-buildpackage: source changed by Accton Network polly_hsu@accton.com dpkg-source --before-build sonic-platform-modules-accton dpkg-buildpackage: host architecture amd64 fakeroot debian/rules clean make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. make[1]: Entering directory '/sonic/platform/broadcom/sonic-platform-modules-accton' dh_testdir dh_testroot dh_clean make[1]: Leaving directory '/sonic/platform/broadcom/sonic-platform-modules-accton' debian/rules build make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. make[1]: Entering directory '/sonic/platform/broadcom/sonic-platform-modules-accton'

make modules -C /lib/modules/3.16.0-4-amd64/build M=

(for mod in as7712-32x as5712-54x; do \ make modules -C /lib/modules/3.16.0-4-amd64/build M=/sonic/platform/broadcom/sonic-platform-modules-accton/${mod}/modules; \ python2 ${mod}/setup.py build; \ done) make[2]: Entering directory '/usr/src/linux-headers-3.16.0-4-amd64' make[1]: Entering directory /usr/src/linux-headers-3.16.0-4-amd64' Building modules, stage 2. MODPOST 6 modules make[2]: Leaving directory '/usr/src/linux-headers-3.16.0-4-amd64' python2: can't open file 'as7712-32x/setup.py': [Errno 2] No such file or directory make[2]: Entering directory '/usr/src/linux-headers-3.16.0-4-amd64' make[1]: Entering directory/usr/src/linux-headers-3.16.0-4-amd64' Building modules, stage 2. MODPOST 7 modules make[2]: Leaving directory '/usr/src/linux-headers-3.16.0-4-amd64' running build running build_py make[1]: Leaving directory '/sonic/platform/broadcom/sonic-platform-modules-accton' fakeroot debian/rules binary make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. make[1]: Entering directory '/sonic/platform/broadcom/sonic-platform-modules-accton'

Nothing to do

dh_testdir

dh_testroot

dh_clean -k

dh_installdirs

dh_testdir dh_installdirs

Custom package commands

(for mod in as7712-32x as5712-54x; do \ dh_installdirs -psonic-platform-accton-${mod}//lib/modules/3.16.0-4-amd64/extra; \ dh_installdirs -psonic-platform-accton-${mod}/usr/local/bin; \ dh_installdirs -psonic-platform-accton-${mod}/lib/systemd/system; \ cp /sonic/platform/broadcom/sonic-platform-modules-accton/${mod}/modules/.ko debian/sonic-platform-accton-${mod}//lib/modules/3.16.0-4-amd64/extra; \ cp /sonic/platform/broadcom/sonic-platform-modules-accton/${mod}/utils/ debian/sonic-platform-accton-${mod}/usr/local/bin/; \ cp /sonic/platform/broadcom/sonic-platform-modules-accton/${mod}/service/*.service debian/sonic-platform-accton-${mod}/lib/systemd/system/; \ python2 ${mod}/setup.py install --root=/sonic/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-${mod} --install-layout=deb; \ done) python2: can't open file 'as7712-32x/setup.py': [Errno 2] No such file or directory running install running build running build_py running install_lib creating /sonic/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-as5712-54x/usr/lib creating /sonic/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-as5712-54x/usr/lib/python2.7 creating /sonic/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-as5712-54x/usr/lib/python2.7/dist-packages creating /sonic/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-as5712-54x/usr/lib/python2.7/dist-packages/as5712_54x copying build/lib.linux-x86_64-2.7/as5712_54x/thermalutil.py -> /sonic/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-as5712-54x/usr/lib/python2.7/dist-packages/as5712_54x copying build/lib.linux-x86_64-2.7/as5712_54x/init.py -> /sonic/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-as5712-54x/usr/lib/python2.7/dist-packages/as5712_54x copying build/lib.linux-x86_64-2.7/as5712_54x/fanutil.py -> /sonic/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-as5712-54x/usr/lib/python2.7/dist-packages/as5712_54x byte-compiling /sonic/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-as5712-54x/usr/lib/python2.7/dist-packages/as5712_54x/thermalutil.py to thermalutil.pyc byte-compiling /sonic/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-as5712-54x/usr/lib/python2.7/dist-packages/as5712_54x/init.py to init.pyc byte-compiling /sonic/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-as5712-54x/usr/lib/python2.7/dist-packages/as5712_54x/fanutil.py to fanutil.pyc running install_egg_info running egg_info writing as5712_54x.egg-info/PKG-INFO writing top-level names to as5712_54x.egg-info/top_level.txt writing dependency_links to as5712_54x.egg-info/dependency_links.txt warning: manifest_maker: standard file 'setup.py' not found

reading manifest file 'as5712_54x.egg-info/SOURCES.txt' writing manifest file 'as5712_54x.egg-info/SOURCES.txt' Copying as5712_54x.egg-info to /sonic/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-as5712-54x/usr/lib/python2.7/dist-packages/as5712_54x-1.0.egg-info error: [Errno 17] File exists: '/sonic/platform/broadcom/sonic-platform-modules-accton/debian/sonic-platform-accton-as5712-54x/usr/lib/python2.7/dist-packages/as5712_54x-1.0.egg-info' debian/rules:57: recipe for target 'binary-indep' failed make[1]: [binary-indep] Error 1 make[1]: Leaving directory '/sonic/platform/broadcom/sonic-platform-modules-accton' dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ FAIL LOG END ] [ target/debs/sonic-platform-accton-as5712-54x_1.1_amd64.deb ] slave.mk:206: recipe for target 'target/debs/sonic-platform-accton-as5712-54x_1.1_amd64.deb' failed make: [target/debs/sonic-platform-accton-as5712-54x_1.1_amd64.deb] Error 1 make: Waiting for unfinished jobs.... Makefile:77: recipe for target 'target/sonic-broadcom.bin' failed make: [target/sonic-broadcom.bin] Error 2

yxieca commented 6 years ago

I think the issue is with sonic_buildimage, we shouldn't call accton build for each package we need. We can specify subsequent packages as extra package of the first one.