[ovs-dev] [PATCH] travis: Fix 32-bit libunwind system build.

Ilya Maximets i.maximets at ovn.org
Thu Oct 3 16:13:55 UTC 2019


On 02.10.2019 20:15, William Tu wrote:
> 32-bit and 64-bit libunwind can not be installed at the same time.
> For 32-bit build, this patch removes the 64-bit libunwind and install
> 32-bit version.
> 
> Tested-at: https://travis-ci.org/williamtu/ovs-travis/builds/592649311
> Fixes: e2ed6fbeb18c ("fatal-signal: Catch SIGSEGV and print backtrace.")
> Signed-off-by: William Tu <u9012063 at gmail.com>
> ---
>   .travis/linux-prepare.sh | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/.travis/linux-prepare.sh b/.travis/linux-prepare.sh
> index 70fd98f715ed..164adf7ec4f8 100755
> --- a/.travis/linux-prepare.sh
> +++ b/.travis/linux-prepare.sh
> @@ -14,3 +14,9 @@ cd ..
>   
>   pip install --disable-pip-version-check --user six flake8 hacking
>   pip install --user --upgrade docutils
> +
> +if [[ $BUILD_ENV =~ "-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
> 

Thanks for the new version.

One thing I noticed is that without additional changes[1] this
patch just makes 'configure' script to fail the library check,
because 32bit library can't be linked with 64bit binary it checks:

     checking for unw_backtrace in -lunwind... no

But it should work as intended with the patch I posted:

[1] https://patchwork.ozlabs.org/patch/1171259/

Note that I replaced $BUILD_ENV with $M32 variable, so one of the
patches will need to be updated depending on the order of applying.
i.e. following diff should be squashed to one of them:

-if [[ $BUILD_ENV =~ "-m32" ]]; then
+if [ "$M32" ]; then

Other than that,
Acked-by: Ilya Maximets <i.maximets at ovn.org>


More information about the dev mailing list