Re: [ovs-dev] [PATCH v2 1/2] ovs-numa: Non-consecutively numa nodes and cores
On 2020-02-06 12:58, Ben Pfaff wrote: On Thu, Feb 06, 2020 at 12:38:16PM -0800, David Wilder wrote: +char *path; + +path = xasprintf( "/sys/devices/system/cpu/cpu%d/topology/core_id" , + core_id); +if (access(path, F_OK) != 0) { +return 0; } + +return 1; I didn't read this whole patch, but I noticed an obvious memory leak here. Thanks for the review Ben, I will fix that in the next version. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH v2 2/3] travis: Move x86-only addon packages to linux-prepare.sh
On 2019-12-05 19:26, Lance Yang wrote: To enable multiple CPU architectures support, it is necessary to move the x86-only addon packages from .travis.yml file. Otherwise, the x86-only addon packages will break the builds on some other CPU architectures. Reviewed-by: Yanqin Wei Reviewed-by: Malvika Gupta Reviewed-by: Gavin Hu Reviewed-by: Ruifeng Wang Signed-off-by: Lance Yang --- .travis.yml | 2 -- .travis/linux-prepare.sh | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 482efd2..2dc4d43 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,6 @@ addons: apt: packages: - bc - - gcc-multilib - libssl-dev - llvm-dev - libjemalloc1 @@ -26,7 +25,6 @@ addons: - libelf-dev - selinux-policy-dev - libunbound-dev - - libunbound-dev:i386 - libunwind-dev before_install: ./.travis/${TRAVIS_OS_NAME}-prepare.sh diff --git a/.travis/linux-prepare.sh b/.travis/linux-prepare.sh index 9e3ac0d..6421066 100755 --- a/.travis/linux-prepare.sh +++ b/.travis/linux-prepare.sh @@ -18,7 +18,8 @@ pip install --user --upgrade docutils if [ "$M32" ]; then # 32-bit and 64-bit libunwind can not be installed at the same time. # This will remove the 64-bit libunwind and install 32-bit version. -sudo apt-get install -y libunwind-dev:i386 +sudo apt-get install -y \ +libunwind-dev:i386 libunbound-dev:i386 gcc-multilib fi # IPv6 is supported by kernel but disabled in TravisCI images: LGTM: With this patch applied ppc64le simply needs to be include into the matrix. I will submit an updated ppc64le patch to be layered on top of this one. Acked-by: David Wilder ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [ovs-discuss] [bug-report] Check Python IDL reconnects to leader unit case failed on arm64
Hi- I started looking at the same test failure on ppc64le. I found in my logs: "clustered database server has not yet joined cluster; trying another server" I found the same messsage in Lance's logs, so it could be the same issue. I made the following change to check that the cluster was up and running before running the test. diff --git a/tests/ovsdb-idl.at b/tests/ovsdb-idl.at index cc38d69c1..5484fd4c5 100644 --- a/tests/ovsdb-idl.at +++ b/tests/ovsdb-idl.at @@ -1802,6 +1802,9 @@ m4_define([OVSDB_CHECK_IDL_LEADER_ONLY_PY], PARSE_LISTENING_PORT([s2.log], [TCP_PORT_1]) PARSE_LISTENING_PORT([s3.log], [TCP_PORT_2]) PARSE_LISTENING_PORT([s1.log], [TCP_PORT_3]) + OVS_WAIT_UNTIL([../../../ovsdb/ovsdb-tool check-cluster ./s1.db]) + OVS_WAIT_UNTIL([../../../ovsdb/ovsdb-tool check-cluster ./s2.db]) + OVS_WAIT_UNTIL([../../../ovsdb/ovsdb-tool check-cluster ./s3.db]) remotes=tcp:LPBK:$TCP_PORT_1,tcp:LPBK:$TCP_PORT_2,tcp:LPBK:$TCP_PORT_3 pids=$(cat s2.pid s3.pid s1.pid | tr '\n' ',') echo $pids This corrected the problem initially, however on Travis the problem returned intermittently, so I did not submit until I could look further. I hope this helps. Regards David Wilder On 2019-11-21 17:51, Lance Yang (Arm Technology China) wrote: Hi Ben, Thanks for your reply. I checked the original email I sent. I did attach the logs in my previous email. However, as you said, they might be stripped automatically. At this time, I compress everything into a zip file. I am not sure whether it would be stripped again. So I also attach a link where you can find the related logs: https://urldefense.proofpoint.com/v2/url?u=https-3A__1drv.ms_u_s-21Atj0ulDEFFyaj1ds2QyEmPMkRM9s-3Fe-3DIfr7l9=DwIFAg=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=s9G46xQhkGSnSnZ64KeJqqxbxW8T4x8oC7cIXwZmm68=tWpvdvTFaHLkSQpOqJO8B0Qtj6runK-eQvnxwsAhz18= . For convenience, I also copied the original email content as below in case that you did not receive the complete message: I encountered an issue when I was running testsuite on Arm. The system I tested on was an arm server running Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-65-generic aarch64). After I downloaded the up-to-date source code on master branch and built ovs, I run the testsuite with TESTSUITEFLAGS="2105" (Unit case name: Check Python IDL reconnects to leader) I run the unit case for many times, most of the time I got the following failure: make check TESTSUITEFLAGS="2105" RECHECK=yes make check-recursive make[1]: Entering directory '/home/lance/ovs' Making check in datapath make[2]: Entering directory '/home/lance/ovs/datapath' make[3]: Entering directory '/home/lance/ovs/datapath' make[3]: Leaving directory '/home/lance/ovs/datapath' make[2]: Leaving directory '/home/lance/ovs/datapath' make[2]: Entering directory '/home/lance/ovs' make[3]: Entering directory '/home/lance/ovs/datapath' make[3]: 'distfiles' is up to date. make[3]: Leaving directory '/home/lance/ovs/datapath' make utilities/ovs-appctl-bashcomp.bash utilities/ovs-vsctl-bashcomp.bash tests/atlocal make[3]: Entering directory '/home/lance/ovs' make[3]: Nothing to be done for 'utilities/ovs-appctl-bashcomp.bash'. make[3]: Nothing to be done for 'utilities/ovs-vsctl-bashcomp.bash'. make[3]: 'tests/atlocal' is up to date. make[3]: Leaving directory '/home/lance/ovs' make check-local make[3]: Entering directory '/home/lance/ovs' set /bin/bash './tests/testsuite' -C tests AUTOTEST_PATH=utilities:vswitchd:ovsdb:vtep:tests::; \ "$@" -j2 2104-2105 || (test X'' = Xyes && "$@" --recheck) ## --- ## ## openvswitch 2.12.90 test suite. ## ## --- ## 2105: Check Python IDL reconnects to leader - Python3 (leader only) FAILED (ovsdb-idl.at:1816) ## - ## ## Test results. ## ## - ## ERROR: All 1 test was run, 1 failed unexpectedly. ## -- ## ## testsuite.log was created. ## ## -- ## Please send `tests/testsuite.log' and all information you think might help: To: Subject: [openvswitch 2.12.90] testsuite: 2105 failed You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may be found below `tests/testsuite.dir'. ## --- ## 2105: Check Python IDL reconnects to leader - Python3 (leader only) FAILED (ovsdb-idl.at:1816) ## - ## ## Test results. ## ## - ## ERROR: 1 test was run, 1 failed unexpectedly. ## -- ## ## testsuite.log was created. ## ## -- ## Please send `tests/testsuite.log' and all information you think might help: To: Subject: [openvswitch 2.12.90] testsuite: 2105 failed You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may be found below `tests/testsuite.dir'.
Re: [ovs-dev] [PATCH v3] travis: support ppc64le builds
On 2019-11-12 11:30, Ilya Maximets wrote: On 12.11.2019 18:57, dwilder wrote: On 2019-11-08 14:52, Ilya Maximets wrote: On 06.11.2019 20:20, David Wilder wrote: Add support for travis-ci ppc64le builds. - Updated matrix in .travis.yml to include an arch: ppc64le build. - Move package install needed for 32bit builds to .travis/linux-prepare.sh. To keep the total build time at an acceptable level only a single build job is included in the matrix for ppc64le. A build report example can be found here [1] [0] https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org_=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=r0fBOs-21CKcV4kyZGnzh3fcjrpR8caYSl8K2i1St54= [1] https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_djlwilder_ovs_builds_607851729=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=7t2rzVasH7Xq_R7jWkWZO9rkgm4KHMH-WavBzCRbF74= Signed-off-by: David Wilder --- Addressed review comments: - Cleaned up linux-prepare.sh (v2) - Switch from os: linux-ppc64le to arch: ppc64le (v3) What a wonderful world of undocumented features. :) Anyway, I just tried this patch and it fails for me because of missing pip: https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_igsilya_ovs_jobs_609402867=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=PF1oO_KkZFd_RRKToj6UBN2t2YhvTVE5XnVD1GF9u60= pip install --disable-pip-version-check --user six flake8 hacking ./.travis/linux-prepare.sh: line 15: pip: command not found Restarting the job doesn't help. I'm wondering what is the base image and who controls preinstalled software? Maybe it makes sense to hold on until travis will start supporting ppc64le officially? Best regards, Ilya Maximets. Unfortunately it not just ppc the arm64 image has the same issue :) I added a arm64 build on this attempt. https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_djlwilder_ovs_builds_610517731=DwIDaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=rVTSRTh9jExG_mX8boqA-OQcZkWmbO2g7TjgtUe6jws=sCvTr8MwXrqa7AEOs60tuqnquBqbRKlp_7-WacGzJWc= I will attempt to adjust the package list. I think, you could just report this to TravisCI support and see what they will answer. It'll be much better if they will just update their images. And the good news that ppc64le is officially supported now: https://urldefense.proofpoint.com/v2/url?u=https-3A__blog.travis-2Dci.com_2019-2D11-2D12-2Dmulti-2Dcpu-2Darchitecture-2Dibm-2Dpower-2Dibm-2Dz=DwIDaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=rVTSRTh9jExG_mX8boqA-OQcZkWmbO2g7TjgtUe6jws=CRYw9o6At3rFT_gd_5r1Uw07mv_SEPvQ6LgBLfMyqgg= Best regards, Ilya Maximets. Travis-ci.org has resolved the issue with pip not installed in the ppc64le and arm64 images (1) I re-tested my v3 patch against the head of master (2). It is working well. (1) https://travis-ci.community/t/pip-is-not-installed-in-ppc64le-and-arm64-images/5902 (2) https://travis-ci.org/djlwilder/ovs/builds/613638217 Regards, David Wilder ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH v3] travis: support ppc64le builds
On 2019-11-12 17:24, Lance Yang (Arm Technology China) wrote: Hi, For pip missing issue, we have a workaround. In .travis/linux-prepare.sh. You can install pip or something else with package management commands. For arm64 on travis, we check the environment variables in the container and found a variable called "TRAVIS_ARCH". Thus we can use this variable to install specific software for a specific CPU architecture. You can find a successful build here: https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_yzyuestc_ovs_jobs_610716477=DwIGaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=WN9SDoyPaU_O5oa3DAKsM2wYQpKnc2bhF_O-3r50JVs=p5lQOFy_H4apDm3OJqyJFVo04orvtxDBtLgMzLs0cZ4= Thank you for your workaround Lance. It would be best if the multi-arch images were congruent. I fear this may be an ongoing issue as distro's content can very between architectures. I am waiting for travis's response on the issue. I will submit an update to my ppc64le commit in a few days if travis cant resolve it. -Original Message- From: ovs-dev-boun...@openvswitch.org On Behalf Of dwilder Sent: Wednesday, November 13, 2019 8:29 AM To: Ilya Maximets Cc: ovs-dev@openvswitch.org; wil...@us.ibm.com Subject: Re: [ovs-dev] [PATCH v3] travis: support ppc64le builds On 2019-11-12 11:30, Ilya Maximets wrote: On 12.11.2019 18:57, dwilder wrote: On 2019-11-08 14:52, Ilya Maximets wrote: On 06.11.2019 20:20, David Wilder wrote: Add support for travis-ci ppc64le builds. - Updated matrix in .travis.yml to include an arch: ppc64le build. - Move package install needed for 32bit builds to .travis/linux-prepare.sh. To keep the total build time at an acceptable level only a single build job is included in the matrix for ppc64le. A build report example can be found here [1] [0] https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org _=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQ beAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=r0fB Os-21CKcV4kyZGnzh3fcjrpR8caYSl8K2i1St54= [1] https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.or g_djlwilder_ovs_builds_607851729=DwICaQ=jf_iaSHvJObTbx-siA1ZOg& r=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfg EiyaEIT3j9gPEIgmBatCEqCo=7t2rzVasH7Xq_R7jWkWZO9rkgm4KHMH-WavBzCRb F74= Signed-off-by: David Wilder --- Addressed review comments: - Cleaned up linux-prepare.sh (v2) - Switch from os: linux-ppc64le to arch: ppc64le (v3) What a wonderful world of undocumented features. :) Anyway, I just tried this patch and it fails for me because of missing pip: https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org _igsilya_ovs_jobs_609402867=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndx yKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT 3j9gPEIgmBatCEqCo=PF1oO_KkZFd_RRKToj6UBN2t2YhvTVE5XnVD1GF9u60= pip install --disable-pip-version-check --user six flake8 hacking ./.travis/linux-prepare.sh: line 15: pip: command not found Restarting the job doesn't help. I'm wondering what is the base image and who controls preinstalled software? Maybe it makes sense to hold on until travis will start supporting ppc64le officially? Best regards, Ilya Maximets. Unfortunately it not just ppc the arm64 image has the same issue :) I added a arm64 build on this attempt. https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_ djlwilder_ovs_builds_610517731=DwIDaQ=jf_iaSHvJObTbx-siA1ZOg=7n dxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=rVTSRTh9jExG_mX8boqA-OQcZ kWmbO2g7TjgtUe6jws=sCvTr8MwXrqa7AEOs60tuqnquBqbRKlp_7-WacGzJWc= I will attempt to adjust the package list. I think, you could just report this to TravisCI support and see what they will answer. It'll be much better if they will just update their images. And the good news that ppc64le is officially supported now: https://urldefense.proofpoint.com/v2/url?u=https-3A__blog.travis-2Dci. com_2019-2D11-2D12-2Dmulti-2Dcpu-2Darchitecture-2Dibm-2Dpower-2Dibm-2D z=DwIDaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeA yz8i_vwCCaI=rVTSRTh9jExG_mX8boqA-OQcZkWmbO2g7TjgtUe6jws=CRYw9o6At3 rFT_gd_5r1Uw07mv_SEPvQ6LgBLfMyqgg= That is great news! I reported the issue to travis: https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.community_t_pip-2Dis-2Dnot-2Dinstalled-2Din-2Dppc64le-2Dand-2Darm64-2Dimages_5902-3Fu-3Ddjlwilder=DwIGaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=WN9SDoyPaU_O5oa3DAKsM2wYQpKnc2bhF_O-3r50JVs=dIOPvVHVZcpNxq8BgX026yL8uhzxz19lOzjBJhB15xg= I added a workaround if we need it. This is my latest travis run. https://urldefense.proofpoint.com/v2/url?u=https-3A__www.travis-2Dci.org_djlwilder_ovs_builds_611123734=DwIGaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=WN9SDoyPaU_O5oa3DAKsM2wYQpKnc2bhF_O-3r50JVs=QcFJcytLX5PkWH1FK5SZDaFwSijTPi01rCNT02pBsms= ___ dev mailing list d...@openvsw
Re: [ovs-dev] [PATCH v3] travis: support ppc64le builds
On 2019-11-12 11:30, Ilya Maximets wrote: On 12.11.2019 18:57, dwilder wrote: On 2019-11-08 14:52, Ilya Maximets wrote: On 06.11.2019 20:20, David Wilder wrote: Add support for travis-ci ppc64le builds. - Updated matrix in .travis.yml to include an arch: ppc64le build. - Move package install needed for 32bit builds to .travis/linux-prepare.sh. To keep the total build time at an acceptable level only a single build job is included in the matrix for ppc64le. A build report example can be found here [1] [0] https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org_=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=r0fBOs-21CKcV4kyZGnzh3fcjrpR8caYSl8K2i1St54= [1] https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_djlwilder_ovs_builds_607851729=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=7t2rzVasH7Xq_R7jWkWZO9rkgm4KHMH-WavBzCRbF74= Signed-off-by: David Wilder --- Addressed review comments: - Cleaned up linux-prepare.sh (v2) - Switch from os: linux-ppc64le to arch: ppc64le (v3) What a wonderful world of undocumented features. :) Anyway, I just tried this patch and it fails for me because of missing pip: https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_igsilya_ovs_jobs_609402867=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=PF1oO_KkZFd_RRKToj6UBN2t2YhvTVE5XnVD1GF9u60= pip install --disable-pip-version-check --user six flake8 hacking ./.travis/linux-prepare.sh: line 15: pip: command not found Restarting the job doesn't help. I'm wondering what is the base image and who controls preinstalled software? Maybe it makes sense to hold on until travis will start supporting ppc64le officially? Best regards, Ilya Maximets. Unfortunately it not just ppc the arm64 image has the same issue :) I added a arm64 build on this attempt. https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_djlwilder_ovs_builds_610517731=DwIDaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=rVTSRTh9jExG_mX8boqA-OQcZkWmbO2g7TjgtUe6jws=sCvTr8MwXrqa7AEOs60tuqnquBqbRKlp_7-WacGzJWc= I will attempt to adjust the package list. I think, you could just report this to TravisCI support and see what they will answer. It'll be much better if they will just update their images. And the good news that ppc64le is officially supported now: https://urldefense.proofpoint.com/v2/url?u=https-3A__blog.travis-2Dci.com_2019-2D11-2D12-2Dmulti-2Dcpu-2Darchitecture-2Dibm-2Dpower-2Dibm-2Dz=DwIDaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=rVTSRTh9jExG_mX8boqA-OQcZkWmbO2g7TjgtUe6jws=CRYw9o6At3rFT_gd_5r1Uw07mv_SEPvQ6LgBLfMyqgg= That is great news! I reported the issue to travis: https://travis-ci.community/t/pip-is-not-installed-in-ppc64le-and-arm64-images/5902?u=djlwilder I added a workaround if we need it. This is my latest travis run. https://www.travis-ci.org/djlwilder/ovs/builds/611123734 ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH v3] travis: support ppc64le builds
On 2019-11-08 14:52, Ilya Maximets wrote: On 06.11.2019 20:20, David Wilder wrote: Add support for travis-ci ppc64le builds. - Updated matrix in .travis.yml to include an arch: ppc64le build. - Move package install needed for 32bit builds to .travis/linux-prepare.sh. To keep the total build time at an acceptable level only a single build job is included in the matrix for ppc64le. A build report example can be found here [1] [0] https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org_=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=r0fBOs-21CKcV4kyZGnzh3fcjrpR8caYSl8K2i1St54= [1] https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_djlwilder_ovs_builds_607851729=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=7t2rzVasH7Xq_R7jWkWZO9rkgm4KHMH-WavBzCRbF74= Signed-off-by: David Wilder --- Addressed review comments: - Cleaned up linux-prepare.sh (v2) - Switch from os: linux-ppc64le to arch: ppc64le (v3) What a wonderful world of undocumented features. :) Anyway, I just tried this patch and it fails for me because of missing pip: https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_igsilya_ovs_jobs_609402867=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=PF1oO_KkZFd_RRKToj6UBN2t2YhvTVE5XnVD1GF9u60= pip install --disable-pip-version-check --user six flake8 hacking ./.travis/linux-prepare.sh: line 15: pip: command not found Restarting the job doesn't help. I'm wondering what is the base image and who controls preinstalled software? Maybe it makes sense to hold on until travis will start supporting ppc64le officially? Best regards, Ilya Maximets. Unfortunately it not just ppc the arm64 image has the same issue :) I added a arm64 build on this attempt. https://travis-ci.org/djlwilder/ovs/builds/610517731 I will attempt to adjust the package list. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH v3] travis: support ppc64le builds
On 2019-11-08 14:52, Ilya Maximets wrote: On 06.11.2019 20:20, David Wilder wrote: Add support for travis-ci ppc64le builds. - Updated matrix in .travis.yml to include an arch: ppc64le build. - Move package install needed for 32bit builds to .travis/linux-prepare.sh. To keep the total build time at an acceptable level only a single build job is included in the matrix for ppc64le. A build report example can be found here [1] [0] https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org_=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=r0fBOs-21CKcV4kyZGnzh3fcjrpR8caYSl8K2i1St54= [1] https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_djlwilder_ovs_builds_607851729=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=7t2rzVasH7Xq_R7jWkWZO9rkgm4KHMH-WavBzCRbF74= Signed-off-by: David Wilder --- Addressed review comments: - Cleaned up linux-prepare.sh (v2) - Switch from os: linux-ppc64le to arch: ppc64le (v3) What a wonderful world of undocumented features. :) Anyway, I just tried this patch and it fails for me because of missing pip: https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_igsilya_ovs_jobs_609402867=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=_UtshYcJsj4Pt3b9hfgEiyaEIT3j9gPEIgmBatCEqCo=PF1oO_KkZFd_RRKToj6UBN2t2YhvTVE5XnVD1GF9u60= pip install --disable-pip-version-check --user six flake8 hacking ./.travis/linux-prepare.sh: line 15: pip: command not found Restarting the job doesn't help. I'm wondering what is the base image and who controls preinstalled software? Maybe it makes sense to hold on until travis will start supporting ppc64le officially? That is a bummer, I am seeing that error now as well, it worked yesterday :( I agree we should hold off. I will let you know if I figure it out. Best regards, Ilya Maximets. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH v3] travis: support ppc64le builds
Hi Wei On 2019-11-08 02:02, Yanqin Wei (Arm Technology China) wrote: Hi David -Original Message- From: David Wilder Sent: Thursday, November 7, 2019 3:21 AM To: ovs-dev@openvswitch.org Cc: i.maxim...@ovn.org; b...@ovn.org; Yanqin Wei (Arm Technology China) ; wil...@us.ibm.com Subject: [PATCH v3] travis: support ppc64le builds Add support for travis-ci ppc64le builds. - Updated matrix in .travis.yml to include an arch: ppc64le build. - Move package install needed for 32bit builds to .travis/linux-prepare.sh. To keep the total build time at an acceptable level only a single build job is included in the matrix for ppc64le. A build report example can be found here [1] [0] https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org_=DwIFAg=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6QTaKFSaP0A5SgshVJPuewRjtEH32pQD2AUjoEnZyTo=IILKkh0Orqnp1nKjHWWCkXSOMpBYjG9WKs8l34TyPts= [1] https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_djlwilder_ovs_builds_607851729=DwIFAg=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6QTaKFSaP0A5SgshVJPuewRjtEH32pQD2AUjoEnZyTo=mVCcGr-NWlZzQn2xSnackkm2Aawg7iyvYEyh4lMpjFw= Signed-off-by: David Wilder --- Addressed review comments: - Cleaned up linux-prepare.sh (v2) - Switch from os: linux-ppc64le to arch: ppc64le (v3) .travis.yml | 5 +++-- .travis/linux-prepare.sh | 5 - 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 482efd2d1..308c09635 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,6 @@ addons: apt: packages: - bc - - gcc-multilib - libssl-dev - llvm-dev - libjemalloc1 @@ -26,7 +25,6 @@ addons: - libelf-dev - selinux-policy-dev - libunbound-dev - - libunbound-dev:i386 - libunwind-dev before_install: ./.travis/${TRAVIS_OS_NAME}-prepare.sh @@ -52,6 +50,9 @@ matrix: - os: osx compiler: clang env: OPTS="--disable-ssl" +- arch: ppc64le + compiler: gcc + env: OPTS="--disable-ssl" script: ./.travis/${TRAVIS_OS_NAME}-build.sh $OPTS diff --git a/.travis/linux-prepare.sh b/.travis/linux-prepare.sh index 9e3ac0df7..d66f480c6 100755 --- a/.travis/linux-prepare.sh +++ b/.travis/linux-prepare.sh @@ -18,7 +18,10 @@ pip install --user --upgrade docutils if [ "$M32" ]; then # 32-bit and 64-bit libunwind can not be installed at the same time. # This will remove the 64-bit libunwind and install 32-bit version. -sudo apt-get install -y libunwind-dev:i386 +sudo apt-get install -y \ + gcc-multilib \ + libunwind-dev:i386 \ + libunbound-dev:i386 [Yanqin] They are x86 specific dependency. It is better to use "$TRAVIS_ARCH" == "amd64" condition. [ wilder ] In this case it is not needed as ppc64le is not supporting 32bit builds (not in the matrix). If arm64 will support a 32bit build, then you will need to modify this section anyway, to install arm packages. [Yanqin] Is gcc-multilib only required for 32bits build? [ wilder ] Yes. fi # IPv6 is supported by kernel but disabled in TravisCI images: -- 2.23.0.162.gf1d4a28 IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH ] travis: support ppc64le builds
Hi Wei If I change my matrix:include to use "arch: ppc64le" rather than "os: linux-ppc64le", will it eliminate your concern? matrix: include: - - os: linux-ppc64le + - arch: ppc64le compiler: gcc env: OPTS="--disable-ssl" Later when we want to enable the full matrix on all arch we would add: 1) arch: - amd64 - ppc64le - arm64 2) eliminate the include: -arch: ppc64le 3) Add any exclude: - arch:XXX sections for any tests that dont apply. For example I would add: exclude: - arch: ppc64le env: M32=1 OPTS="--disable-ssl" Regards, David On 2019-11-02 02:09, Yanqin Wei (Arm Technology China) wrote: Hi David, Thanks for your reply. Yes, my concern is how to define arch and os in .travis.yml after we cover all builds and cases for arm and ppc. This pattern can enable all builds and testsuits for x86 and arm arch: - amd64 - arm64 os: - linux This can enable all jobs for x86 and ppc. arch: - amd64 //default os: - linux - linux-ppc64le But it does not work to combine them. This means four kinds of arch+os combinations in all. Arm64+linux-ppc64le is invalid. arch: - amd64 - arm64 os: - linux - linux-ppc64le So if we finally cover all the builds and cases for arm/ppc, we have to duplicate all jobs for different cpu arch in the matrix include. matrix: include: - os: linux-ppc64le env: job1 - os: linux-ppc64le env: job2 ... - arch: arm64 env: job1 - arch: arm64 env: job2 ... But currently either arm or ppc has not cover all the cases, so they can coexist in build-matrix. And there is no conflict in build/prepare scripts, because both of them use TRAVIS_ARCH variable to indicate cpu arch. The patch series to enable arm CI is under internal review. It will be submitted when ready. Best Regards, Wei Yanqin -Original Message- From: dwilder Sent: Saturday, November 2, 2019 1:09 AM To: Yanqin Wei (Arm Technology China) Cc: Ilya Maximets ; ovs-dev@openvswitch.org; wil...@us.ibm.com; nd Subject: Re: RE: [ovs-dev] [PATCH ] travis: support ppc64le builds On 2019-10-30 19:04, Yanqin Wei (Arm Technology China) wrote: Hi, We are working to support arm64 build for ovs travis CI. It is indeed to use arch: arm64 to choose cpu architecture, because travis has provided native arm64 option now. But in this patch it seems ppc64 builds run on the ppc-VM + x86 native machine. Currently arm only select a part of jobs to run, which is defined in matrix:include. But the final object is to run all jobs. It means that arch: arm64 will be moved out of marix. If ppc plans to do the same in the future, it will conflict with arm jobs. Best Regards, Wei Yanqin Hi, I have added a build only test for ppc64le following the model used for osx. I think this is a good start for getting multi-arch support into Ci. I agree that running all jobs on the matrix on every arch is good goal. I dont completely understand your issue, is your concern the use of os: vs arch: ? I am glad to work with you to find a solution. Can you share your arm64 changes? We can discuss off-list if you prefer. -Original Message- From: ovs-dev-boun...@openvswitch.org On Behalf Of dwilder Sent: Wednesday, October 30, 2019 1:55 AM To: Ilya Maximets Cc: ovs-dev@openvswitch.org; wil...@us.ibm.com Subject: Re: [ovs-dev] [PATCH ] travis: support ppc64le builds On 2019-10-29 09:52, Ilya Maximets wrote: On 28.10.2019 22:22, David Wilder wrote: Add support for travis-ci ppc64le builds. - Updated matrix in .travis.yml to include a ppc64le build. - Added support to install packages needed by specific architectures. To keep the total build time at an acceptable level only a single build job is included in the matrix for ppc64le. A build report example can be found here [1] [0] https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org_; d=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAy z8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UPeby0Y8ovgzRDIyJZFo=UMYL8rzJNp h87seC0oJLBiWoe-sUSL80AJy0RMTgBzQ= [1] https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_ djlwilder_ovs_builds_604098141=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7n dxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UP eby0Y8ovgzRDIyJZFo=pyd2yQpQ0snpwGE5El4RYZsatwl74sthM1KLqtIKCnY= Signed-off-by: David Wilder Hi David, Thanks for working on this. I have a couple of question regarding ppc64le support by TravisCI. It seems that they are not supporting this architecture officially and refusing[1] to solve any issues that appears while using it. There also no official documentation. It's kind of a hidden feature that some projects are using for their own risk [2]. Do you know why this happens or maybe you have some insights about what is going on/how it works? Work is going on to increase ppc64le support on Travis by the end of the year. I dont have any details yet. My plan is to keep this to build
Re: [ovs-dev] [PATCH ] travis: support ppc64le builds
On 2019-10-30 19:04, Yanqin Wei (Arm Technology China) wrote: Hi, We are working to support arm64 build for ovs travis CI. It is indeed to use arch: arm64 to choose cpu architecture, because travis has provided native arm64 option now. But in this patch it seems ppc64 builds run on the ppc-VM + x86 native machine. Currently arm only select a part of jobs to run, which is defined in matrix:include. But the final object is to run all jobs. It means that arch: arm64 will be moved out of marix. If ppc plans to do the same in the future, it will conflict with arm jobs. Best Regards, Wei Yanqin Hi, I have added a build only test for ppc64le following the model used for osx. I think this is a good start for getting multi-arch support into Ci. I agree that running all jobs on the matrix on every arch is good goal. I dont completely understand your issue, is your concern the use of os: vs arch: ? I am glad to work with you to find a solution. Can you share your arm64 changes? We can discuss off-list if you prefer. -Original Message- From: ovs-dev-boun...@openvswitch.org On Behalf Of dwilder Sent: Wednesday, October 30, 2019 1:55 AM To: Ilya Maximets Cc: ovs-dev@openvswitch.org; wil...@us.ibm.com Subject: Re: [ovs-dev] [PATCH ] travis: support ppc64le builds On 2019-10-29 09:52, Ilya Maximets wrote: On 28.10.2019 22:22, David Wilder wrote: Add support for travis-ci ppc64le builds. - Updated matrix in .travis.yml to include a ppc64le build. - Added support to install packages needed by specific architectures. To keep the total build time at an acceptable level only a single build job is included in the matrix for ppc64le. A build report example can be found here [1] [0] https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org_; d=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAy z8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UPeby0Y8ovgzRDIyJZFo=UMYL8rzJNp h87seC0oJLBiWoe-sUSL80AJy0RMTgBzQ= [1] https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_ djlwilder_ovs_builds_604098141=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7n dxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UP eby0Y8ovgzRDIyJZFo=pyd2yQpQ0snpwGE5El4RYZsatwl74sthM1KLqtIKCnY= Signed-off-by: David Wilder Hi David, Thanks for working on this. I have a couple of question regarding ppc64le support by TravisCI. It seems that they are not supporting this architecture officially and refusing[1] to solve any issues that appears while using it. There also no official documentation. It's kind of a hidden feature that some projects are using for their own risk [2]. Do you know why this happens or maybe you have some insights about what is going on/how it works? Work is going on to increase ppc64le support on Travis by the end of the year. I dont have any details yet. My plan is to keep this to build-only ci until then. Important, ppc64le VM are only available on travis-ci.org, they are not available on travis-ci.com. The API is also a bit strange because Travis started to officially support arm builds, but this is done via 'arch' knob, not the 'os'. Will it be changed over time for ppc64le? Sorry, I dont know. [1] https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.commu nity_t_ppc64le-2Darch-2Dsupport-2Don-2Dtravis-2Dci-2Dcom-2Dvs-2Dtravis -2Dci-2Dorg_2898_2=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68 Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UPeby0Y8ovgzRDIy JZFo=TrXdSxjvnbbVQz7EzR5r0aE93lZMSdCiIUQT2wt8E3I= [2] https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openss l_openssl_commit_13da3ad00c80e1da816ca27f6c15b0ecee1bb0b8=DwICaQ=j f_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI= 6JANehIfGoxUMtwHhe4yob4UPeby0Y8ovgzRDIyJZFo=RWVuli-BT8E2IsW3rAA9MtqC VPZahNk8k7yqxEbgTT4= Few code comments inline. --- .travis.yml | 5 +++-- .travis/linux-prepare.sh | 18 ++ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5676d9748..c99f26815 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,6 @@ addons: apt: packages: - bc - - gcc-multilib - libssl-dev - llvm-dev - libjemalloc1 @@ -24,7 +23,6 @@ addons: - libelf-dev - selinux-policy-dev - libunbound-dev - - libunbound-dev:i386 - libunwind-dev before_install: ./.travis/${TRAVIS_OS_NAME}-prepare.sh @@ -50,6 +48,9 @@ matrix: - os: osx compiler: clang env: OPTS="--disable-ssl" +- os: linux-ppc64le + compiler: gcc + env: OPTS="--disable-ssl" script: ./.travis/${TRAVIS_OS_NAME}-build.sh $OPTS diff --git a/.travis/linux-prepare.sh b/.travis/linux-prepare.sh index e546d32cb..f3a9a6d44 100755 --- a/.travis/linux-prepare.sh +++ b/.travis/linux-prepare.sh @@ -15,8 +15,18 @@ cd .. pip install --disable-pip-version-check --user six flake8 hacking pip install --use
Re: [ovs-dev] [PATCH ] travis: support ppc64le builds
On 2019-10-29 09:52, Ilya Maximets wrote: On 28.10.2019 22:22, David Wilder wrote: Add support for travis-ci ppc64le builds. - Updated matrix in .travis.yml to include a ppc64le build. - Added support to install packages needed by specific architectures. To keep the total build time at an acceptable level only a single build job is included in the matrix for ppc64le. A build report example can be found here [1] [0] https://urldefense.proofpoint.com/v2/url?u=http-3A__travis-2Dci.org_=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UPeby0Y8ovgzRDIyJZFo=UMYL8rzJNph87seC0oJLBiWoe-sUSL80AJy0RMTgBzQ= [1] https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.org_djlwilder_ovs_builds_604098141=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UPeby0Y8ovgzRDIyJZFo=pyd2yQpQ0snpwGE5El4RYZsatwl74sthM1KLqtIKCnY= Signed-off-by: David Wilder Hi David, Thanks for working on this. I have a couple of question regarding ppc64le support by TravisCI. It seems that they are not supporting this architecture officially and refusing[1] to solve any issues that appears while using it. There also no official documentation. It's kind of a hidden feature that some projects are using for their own risk [2]. Do you know why this happens or maybe you have some insights about what is going on/how it works? Work is going on to increase ppc64le support on Travis by the end of the year. I dont have any details yet. My plan is to keep this to build-only ci until then. Important, ppc64le VM are only available on travis-ci.org, they are not available on travis-ci.com. The API is also a bit strange because Travis started to officially support arm builds, but this is done via 'arch' knob, not the 'os'. Will it be changed over time for ppc64le? Sorry, I dont know. [1] https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-2Dci.community_t_ppc64le-2Darch-2Dsupport-2Don-2Dtravis-2Dci-2Dcom-2Dvs-2Dtravis-2Dci-2Dorg_2898_2=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UPeby0Y8ovgzRDIyJZFo=TrXdSxjvnbbVQz7EzR5r0aE93lZMSdCiIUQT2wt8E3I= [2] https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openssl_openssl_commit_13da3ad00c80e1da816ca27f6c15b0ecee1bb0b8=DwICaQ=jf_iaSHvJObTbx-siA1ZOg=7ndxyKjH9UrBD68Us2WP1wI4BwEBQbeAyz8i_vwCCaI=6JANehIfGoxUMtwHhe4yob4UPeby0Y8ovgzRDIyJZFo=RWVuli-BT8E2IsW3rAA9MtqCVPZahNk8k7yqxEbgTT4= Few code comments inline. --- .travis.yml | 5 +++-- .travis/linux-prepare.sh | 18 ++ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5676d9748..c99f26815 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,6 @@ addons: apt: packages: - bc - - gcc-multilib - libssl-dev - llvm-dev - libjemalloc1 @@ -24,7 +23,6 @@ addons: - libelf-dev - selinux-policy-dev - libunbound-dev - - libunbound-dev:i386 - libunwind-dev before_install: ./.travis/${TRAVIS_OS_NAME}-prepare.sh @@ -50,6 +48,9 @@ matrix: - os: osx compiler: clang env: OPTS="--disable-ssl" +- os: linux-ppc64le + compiler: gcc + env: OPTS="--disable-ssl" script: ./.travis/${TRAVIS_OS_NAME}-build.sh $OPTS diff --git a/.travis/linux-prepare.sh b/.travis/linux-prepare.sh index e546d32cb..f3a9a6d44 100755 --- a/.travis/linux-prepare.sh +++ b/.travis/linux-prepare.sh @@ -15,8 +15,18 @@ cd .. pip install --disable-pip-version-check --user six flake8 hacking pip install --user --upgrade docutils -if [ "$M32" ]; then -# 32-bit and 64-bit libunwind can not be installed at the same time. -# This will remove the 64-bit libunwind and install 32-bit version. -sudo apt-get install -y libunwind-dev:i386 +# Include packages needed by specific architectures. +if [ $TRAVIS_ARCH == amd64 ]; then + sudo apt-get install -y \ +libunbound-dev:i386 \ +gcc-multilib These packages are only needed for 32bit build, so you may just move them to the command that installs 32bit version of libunwind. And since you're not building 32bit with ppc64le, the code could look like: if [ "$M32" ]; then # install 32 bit libs fi if [ $TRAVIS_ARCH == ppc64le ]; then # install ppc64le specific things. fi Agreed. + +if [ "$M32" ]; then + # 32-bit and 64-bit libunwind can not be installed at the same time. + # This will remove the 64-bit libunwind and install 32-bit version. + sudo apt-get install -y libunwind-dev:i386 +fi + +elif [ $TRAVIS_ARCH == ppc64le ]; then + sudo apt-get install -y flex Why 'flex' is needed? I found that Flex was needed for kernel builds, but since I am not doing that yet I can remove it. Thanks for the review, I will post a V2 patch shortly. Best regards, Ilya Maximets.
Re: [ovs-dev] [PATCH lib:] Avoid clobbered variable warning on ppc64le.
On 2019-10-08 12:44, William Tu wrote: On Tue, Oct 08, 2019 at 10:04:17AM -0700, David Wilder wrote: Since commit e2ed6fbeb1, Ci on ppc64le with Ubuntu 16.04.6 LTS throws this error: lib/fatal-signal.c: In function 'send_backtrace_to_monitor': lib/fatal-signal.c:168:9: error: variable 'dep' might be clobbered by 'longjmp' or 'vfork' [-Werror=clobbered] int dep; Declaring dep as a volatile int. Signed-off-by: David Wilder --- lib/fatal-signal.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/fatal-signal.c b/lib/fatal-signal.c index 7733850d5..09f7c6ecf 100644 --- a/lib/fatal-signal.c +++ b/lib/fatal-signal.c @@ -165,7 +165,8 @@ fatal_signal_add_hook(void (*hook_cb)(void *aux), void (*cancel_cb)(void *aux), */ static inline void send_backtrace_to_monitor(void) { -int dep; +/* volatile added to prevent a "clobbered" error on ppc64le with gcc */ +volatile int dep; struct unw_backtrace unw_bt[UNW_MAX_DEPTH]; unw_cursor_t cursor; unw_context_t uc; -- 2.23.0.162.gf1d4a28 Thank you for testing it on ppc64! I'm not able to reproduce the issue on x86_64. And I don't understand where do we call setjmp and longjmp? Is it the case that: unw_getcontext/unw_init_local is calling setjmp and unw_get_reg/unw_get_proc_name is calling longjmp while it's scanning back the stack? Looking at the source code of libunwind, I couldn't quite understand how setjmp/longjmp is used here. Regards, William Hi William This is an issue with gcc incorrectly generating the warning. I found reports against gcc for this issue. I tried but was unable to isolate the problem to a gcc version. Gcc v8.2.1 in rhel8 did not have the problem, however v8 in ubuntu 16.04 still had the issue. As I was unable to flag the version gcc I chose this solution over a #pragma. PS: I recently starting running Ci against ppc64le, travis_ci.org is now supporting (in beta) ppc64le. I hope to soon push changes to enable a ppc64le Ci for ovs. Regards David ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev