Problem with loading libldacBT_bco.so file in Android 13 linux version 5.15

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Problem with loading libldacBT_bco.so file in Android 13 linux version 5.15

2,143 Views
jeevanefx123
Contributor III

Hi,

I am facing an issue with a2dp_ldac_decoder.cc ,
while device is running it shows an error 

"10-15 18:06:23.541 1523 1523 I a2dp_vendor_ldac_decoder: packages/modules/Bluetooth/system/stack/a2dp/a2dp_vendor_ldac_decoder.cc:135 A2DP_VendorLoadDecoderLdac: A2DP_VendorLoadDecoderLdac: cannot open LDAC decoder library /system/lib64/libldacBT_bco.so: dlopen failed: library "/system/lib64/libldacBT_bco.so" not found" like this . I am unble to find any library or repo corresponds to this ldac decoder . 
can anyone please help me with this.

0 Kudos
Reply
10 Replies

1,855 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Dear @jeevanefx123 ,

 

See following steps, please!

1. Create a libldacBT_bco sub-directory

#cd ~/Android/android-13.0.0_2.2.0/android_build/packages/modules/Bluetooth/system/stack

# mkdir libldacBT_bco

# cd libldacBT_bco

# vim vim Android.bp 

cc_library_shared {
                name: "libldacBT_bco",
}

Save & Exit

2. Adding it to evk_8mp.mk

# cd ~/Android/android-13.0.0_2.2.0/android_build

# cd ./device/nxp/imx8m/evk_8mp

# vim evk_8mp.mk

......

PRODUCT_PACKAGES += \
                              android.hardware.power-service.imx \
                              libldacBT_bco

......

Save & Exit

3. Building source code.

[Note]

     I tested above steps on i.MX8MM android code, in out directory, libldacBT_bco.so can be found, like below:

nxa22310@lsvm07u0000064:~/Android/android-13.0.0_2.2.0/android_build$ find -name libldacBT_bco.so
./out/soong/.intermediates/packages/modules/Bluetooth/system/stack/libldacBT_bco/libldacBT_bco/android_arm_armv7-a-neon_cortex-a9_shared_cfi/libldacBT_bco.so
./out/soong/.intermediates/packages/modules/Bluetooth/system/stack/libldacBT_bco/libldacBT_bco/android_arm_armv7-a-neon_cortex-a9_shared_cfi/unstripped/libldacBT_bco.so
./out/soong/.intermediates/packages/modules/Bluetooth/system/stack/libldacBT_bco/libldacBT_bco/android_arm64_armv8-a_cortex-a53_shared_cfi/libldacBT_bco.so
./out/soong/.intermediates/packages/modules/Bluetooth/system/stack/libldacBT_bco/libldacBT_bco/android_arm64_armv8-a_cortex-a53_shared_cfi/unstripped/libldacBT_bco.so
./out/target/product/evk_8mm/symbols/system/lib64/libldacBT_bco.so
./out/target/product/evk_8mm/symbols/system/lib/libldacBT_bco.so
./out/target/product/evk_8mm/obj_arm/SHARED_LIBRARIES/libldacBT_bco_intermediates/libldacBT_bco.so
./out/target/product/evk_8mm/system/lib64/libldacBT_bco.so
./out/target/product/evk_8mm/system/lib/libldacBT_bco.so
./out/target/product/evk_8mm/obj/SHARED_LIBRARIES/libldacBT_bco_intermediates/libldacBT_bco.so

 

[Note]

The libldacBT_bco.so is never existed and Bluetooth apex module also doesn't actually use it. But module still opening the library.

Original Reference link is for Qualcomm platform:

https://github.com/nokia-msm8998/android_device_nokia_NB1/commit/01132c98a61ccd471d448e0f0cfc3f3f469...

By referring to the method, we can use it on the i.MX ANDROID platform, which is also feasible.

 

Thanks!

Regards,

weidong

 

 

 

 

0 Kudos
Reply

2,129 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @jeevanefx123 

Thanks for creating case to us.

May I ask what is your host platform? Is it our I.MX8 series or 9 series?

Which Wi-Fi/Bluetooth chipset are you using?

If you are using our I.MX8 series or 9 series, are you using our prebuilt -image or you just download our Android 13 source code and build by yourself? What kind of changes have you done on your side?

 

Best regards,

Christine.

0 Kudos
Reply

2,113 Views
jeevanefx123
Contributor III

hi @Christine_Li 

i am using imx8mp , and the 88w8997 chipset (AW-CM276NF) .
i just downloaded the android 13 source code and building my self.

0 Kudos
Reply

2,110 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @jeevanefx123 

Thanks for your reply.

The libldacBT_bco.so has been in our source code, you can just add it when compiling Android source code:

Add below into your Android.bp file: 

cc_library_shared {
    name: "libldacBT_bco",

And add below into your Boardconfig.mk or evk_8mp.mk

PRODUCT_PACKAGES += \
    libldacBT_bco

 

Best regards,

Christine.

0 Kudos
Reply

2,101 Views
jeevanefx123
Contributor III

hi @Christine_Li 

i have search the entire code but there is no trace of libldacBT_bco. 

 

0 Kudos
Reply

2,060 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @jeevanefx123 

Thanks for your reply.

Oh, Really? 

I don' t have Android 13 source code currently, I will try to ask our colleague to search on his/her side later. Then let you know.

And also, I prefer to know your background of this case:

1.You are using our imx8mp-EVK or imx8mp COB by yourself?

2.What kind of changes in the Android 13 source code when you compile? Or just download the source code package from our nxp.com then directly compile without any changes?

3.May I ask your issue repro steps in detail?

 

Best regards,

Christine.

0 Kudos
Reply

2,049 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @jeevanefx123 

I tried to search in my Android 14 source code, I think you can refer to libldacBT_enc to compile out libldacBT_bco.

packages/modules/Bluetooth/system/stack/Android.bp

Add:

// Bluetooth stack static library for target
cc_library_static {
name: "libbt-stack",

.....
whole_static_libs: [
"libaptx_enc",
"libaptxhd_enc",
"libcom.android.sysprop.bluetooth",
"libldacBT_abr",
"libldacBT_enc",

"libldacBT_bco",
],

 

And in android_build/device/nxp/imx8m/ProductConfigCommon.mk

# LDAC codec
PRODUCT_PACKAGES += \
libldacBT_enc \
libldacBT_abr \

ibldacBT_bco

...

 

Please try to compile in this way, and then let me know whether can generate this ibldacBT_bco.so in your out/target/product/evk_8mp/system/lib64/

 

Best regards,

Christine.

2,044 Views
jeevanefx123
Contributor III

hi @Christine_Li ,


i have done the modification that you have mentioned above, but the it is not compiling . The error occurred are follows

[100% 1/1] analyzing Android.bp files and generating ninja file at out/soong/build.ninja
FAILED: out/soong/build.ninja
cd "$(dirname "out/host/linux-x86/bin/soong_build")" && BUILDER="$PWD/$(basename "out/host/linux-x86/bin/soong_build")" && cd / && env -i "$BUILDER" --top "$TOP" --soong_out "out/soong" --out "out" -o out/soong/build.ninja --globListDir build --globFile out/soong/globs-build.ninja -t -l out/.module_paths/Android.bp.list --available_env out/soong/soong.environment.available --used_env out/soong/soong.environment.used.build Android.bp
error: packages/modules/Bluetooth/system/stack/Android.bp:28:1: "libbt-stack" depends on undefined module "libldacBT_bco"
ninja: build stopped: subcommand failed.
10:18:42 soong bootstrap failed with: exit status 1


Thank you

0 Kudos
Reply

1,948 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @jeevanefx123 

Thanks for your feedback.

According to your feedback , I did same modifications on my Android 14's source code, and met same error with you. I think there must be some else differences between libldacBT_bco and libldacBT_enc. I will try to figure out and let you know after I try on my side.

 

Best regards,

Christine.

0 Kudos
Reply

1,909 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @jeevanefx123 

I checked the Android source code, and found the libldacBT_enc.so and libldacBT_abr.so are generated in: external/libldac/Android.bp

But in this directory: external/libldac/, it doesn't include any info related to libldacBT_bco.

Can you please let me know your test steps to repro this issue? 

In what kind of using cases, you met this issue?

I am still trying to figure out where is the source code for libldacBT_bco. 

If you have any new findings, would you mind share to me also?

 

Best regards,

Christine.

0 Kudos
Reply