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.
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:
By referring to the method, we can use it on the i.MX ANDROID platform, which is also feasible.
Thanks!
Regards,
weidong
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.
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.
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.
hi @Christine_Li
i have search the entire code but there is no trace of libldacBT_bco.
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.
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.
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
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.
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.