Sunday, September 20, 2015

awk: symbol lookup error: awk: undefined symbol: mpfr_z_sub

Well, I have been working with Vivado 2014.4 for a while for a client's microZed board. After upgrading to Vivado (and XSDK) 2015.2, I started seeing this error


[1253]$ cat !!:$
cat ~/bin/xilinx-2015_2-setup.sh
#! /bin/bash
if [ "X$(basename -- "$0")" = "Xsetup-xilinx-sdk.sh" ] ; then
        echo "$0 must be sourced. Cannot execute"
        exit -1
fi

# set -x
XILINX_SDK_PATH=/export/space/xilinx/opt/SDK/2015.2
XILINX_UBOOT_SRC=/export/space/xilinx/src/u-boot-xlnx.git
XILINX_LINUX_SRC=/export/space/xilinx/src/linux-xlnx.git
XILINX_PETA_PATH=/export/space/xilinx/petalinux-v2015.2-final
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-

echo $PATH | grep -q ${XILINX_SDK_PATH}
if [ $? != 0 ] ; then
    PATH=$PATH:${XILINX_SDK_PATH}/bin:/export/space/xilinx/petalinux-v2015.2-final/tools/linux-i386/petalinux/bin/unexport:/export/space/xilinx/petalinux-v2015.2-final/tools/linux-i386/petalinux/bin:${XILINX_UBOOT_SRC}/tools
    echo "PATH=${PATH}"
fi
source ${XILINX_SDK_PATH}/settings64.sh
source ${XILINX_PETA_PATH}/settings.sh
#set +x

$source ~/bin/xilinx-setup


[1277]$ petalinux-config --get-hw-description=../hwdef
awk: symbol lookup error: awk: undefined symbol: mpfr_z_sub
awk: symbol lookup error: awk: undefined symbol: mpfr_z_sub
INFO: Checking component...
awk: symbol lookup error: awk: undefined symbol: mpfr_z_sub

...
Repeats a number of times.
Now, I am stuck because petalinux-project fails with these messages.

After some web searches, I came across the following site where this is documented - googoolia. The suggestion is to do
LD_LIBRARY_PATH=”” awk

I tried whether it would work with petalinux-project,
[1282]$ LD_LIBRARY_PATH="" petalinux-config --get-hw-description=../hwdef
INFO: Checking component...
INFO: Getting hardware description...


hooray! It did

Later I thought about a better method
 $ ldd `which awk` | grep Vivado
        libmpfr.so.4 => /export/space/xilinx/opt/Vivado/2015.2/lib/lnx64.o/libmpfr.so.4 (0x00007f8b1e72e000)
        libgmp.so.7 => /export/space/xilinx/opt/Vivado/2015.2/lib/lnx64.o/libgmp.so.7 (0x00007f8b1d0c0000)


 [1283]$ pushd   /export/space/xilinx/opt/Vivado/2015.2/lib/lnx64.o
/export/space/xilinx/opt/Vivado/2015.2/lib/lnx64.o ~/labcyte.git/peta/plnx-project
[1284]$ mv  libmpfr.so.4  libmpfr.so.4.orig
[1285]$ mv libgmp.so.7 libgmp.so.7.orig
[1286]$ ldd `which awk` | grep Vivado


[1289]$ petalinux-config --get-hw-description=../hwdef
INFO: Checking component...
INFO: Getting hardware description...


Good, I eliminated some keystrokes :-D

No comments:

Post a Comment