This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Bluetopia Build Fails

Other Parts Discussed in Thread: TI-BT-STACK-LINUX-ADDON

Hi,

I am trying to build bluetopia for wl18xx chip on imx6 sololite processor and using 3.0.35-2508-g54750ff kernel version.And  i am facing the below errors.

~/AM335xBluetopiaLinuxProduction-4.0.3.0.1.0/build$ make all
CC_S BTPMSRVR.c -o BTPMSRVR_S.o
LN BTPMSRVR_S.o libBTPM_S.a libBTPM_HAL_S.a libSS1BTAUD.a libSS1BTGAV.a libSS1BTAVC.a libSS1BTAVR.a libSS1SBC.a libSS1BTFTP.a libSS1BTHDP.a libSS1BTHDS.a libSS1BTHIDH.a libSS1BTHID.a libSS1BTPAN.a libBTPS_VNET.a libSS1BTPBA.a libSS1BTHFR.a libSS1BTMAP.a libSS1BTOPP.a libSS1BTCTS.a libSS1BTNDCS.a libSS1BTRTUS.a libSS1BTDIS.a libSS1BTGAT.a libSS1BTGAPS.a libSS1BTHIDS.a libSS1BTNDC.a libSS1BTRTU.a libSS1BTIAS.a libSS1BTHRS.a libSS1BTSCP.a libSS1BTLLS.a libSS1BTBAS.a libSS1BTTPS.a libBTPS.a libBTPS_PLA.a libBTPS_OSA.a -o SS1BTPM
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: warning: ld-linux-armhf.so.3, needed by /opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/multi-libs/usr/lib/libasound.so, not found (try using -rpath or -rpath-link)
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: error: ../BluetopiaPM/lib/libBTPM_S.a(BTPMMAIN_S.o) uses VFP register arguments, ../BluetopiaPM/bin/SS1BTPM does not
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: failed to merge target specific data of file ../BluetopiaPM/lib/libBTPM_S.a(BTPMMAIN_S.o)
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: error: ../BluetopiaPM/lib/libBTPM_S.a(BTPMDEVM_S.o) uses VFP register arguments, ../BluetopiaPM/bin/SS1BTPM does not
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: failed to merge target specific data of file ../BluetopiaPM/lib/libBTPM_S.a(BTPMDEVM_S.o)
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: error: ../BluetopiaPM/lib/libBTPM_S.a(DEVMGR_S.o) uses VFP register arguments, ../BluetopiaPM/bin/SS1BTPM does not
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: failed to merge target specific data of file ../BluetopiaPM/lib/libBTPM_S.a(DEVMGR_S.o)
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: error: ../BluetopiaPM/lib/libBTPM_S.a(DEVMUTIL_S.o) uses VFP register arguments, ../BluetopiaPM/bin/SS1BTPM does not

  • Hi Samiksha,

    The errors you are seeing is because of the following reason:

    - The TI-BT-STACK-LINUX-ADDON is built using the PROCESSOR-SDK-LINUX-AM335X and the libraries in the TI-BT-STACK-LINUX-ADDON were compiled using the toolchain included in the PROCESSOR-SDK-LINUX-AM335X. This toolchain supports hardware floating point (CFLAGS += -mfloat-abi=hard) as default in all Sitara Linux SDKs. 

    - From the error messages above, it looks like your current toolchain rules are set to -mfloat-abi=soft.

    - As explained on this wiki page, the libraries compiled using one -mfloat-abi=hard compiler option are not compatible with soft floating point and vice versa. 

    Solution :

    - As mentioned here, looks like the gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain that you are using also supports the -mfloat-abi=hard compiler option. You will need to use this compiler option in your toolchain to avoid the VFP register arguments error.

    Best regards,

    Vihang 

  • Thanks Vihang for this.

    But we have already tried by changing the -mfloat-abi=soft to -mfloat-abi=hard and vice-versa, but still the same error we are facing.

  • If that is the case, you will need to
    (i) rebuild your kernel from the source code with the right -mfloat-abi setting and avoid the error you are getting.
    (ii) use a toolchain that supports hard floating point out of the box.

    BR,
    Vihang