Hello Tore Offermann, do you have any updates about this? On Tuesday, August 13, 2019 at 10:58:58 PM UTC+9, Tore Offermann wrote: > > Thanks for the fast response! > Executing objdump -x on the service: > > Dynamic Section: > ... > NEEDED [email protected] > NEEDED libhidlbase.so > NEEDED libhidltransport.so > NEEDED libbase.so > NEEDED liblog.so > NEEDED libutils.so > NEEDED out/target/product/xxx/obj/lib/libTest.so > NEEDED libc++.so > NEEDED libc.so > NEEDED libm.so > NEEDED libdl.so > PREINIT_ARRAY 0x00008ba0 > PREINIT_ARRAYSZ 0x00000008 > INIT_ARRAY 0x00008ba8 > INIT_ARRAYSZ 0x00000008 > FINI_ARRAY 0x00008bb0 > FINI_ARRAYSZ 0x00000008 > FLAGS 0x00000008 > FLAGS_1 0x00000001 > VERSYM 0x00004f34 > VERNEED 0x0000511c > VERNEEDNUM 0x00000002 > > The libTest.so built with clang in own build environment does not have a > SONAME. > Dynamic Section: > PLTGOT 0x00003f84 > PLTRELSZ 0x000000e0 > JMPREL 0x00000b08 > PLTREL 0x00000011 > REL 0x00000a40 > RELSZ 0x000000c8 > RELENT 0x00000008 > RELCOUNT 0x00000014 > SYMTAB 0x000001cc > SYMENT 0x00000010 > STRTAB 0x000004dc > STRSZ 0x00000398 > GNU_HASH 0x00000874 > NEEDED libdl.so > NEEDED libc.so > FINI_ARRAY 0x00003e28 > FINI_ARRAYSZ 0x00000008 > FLAGS 0x00000008 > FLAGS_1 0x00000001 > VERSYM 0x00000970 > VERDEF 0x000009d4 > VERDEFNUM 0x00000001 > VERNEED 0x000009f0 > VERNEEDNUM 0x00000002Cod > ... > > If the test library is built via the android make system the SONAME is set. > Do you think adding the soname via compiler flag like could solve the > problem? > e,g,; > -Wl,-soname,libTest.so > > Am Donnerstag, 8. August 2019 19:47:47 UTC+2 schrieb Colin Cross: >> >> Likely libTest.so is built incorrectly and [email protected] >> is ending up with an incorrect DT_NEEDED entry. Can you show the output of >> objdump -x lib/libTest.so and objdump -x >> $OUT/vendor/bin/hw/[email protected]? My guess is that SONAME >> in libTest.so is "out/target/product/xxx/obj/lib/libTest.so" and that gets >> copied into NEEDED in [email protected]. >> >> On Thu, Aug 8, 2019 at 9:50 AM Tore Offermann <[email protected]> >> wrote: >> >>> Hello everyone, >>> >>> I am currently fighting adding a vendor HIDL service with prebuilt >>> libraries on Android Pie. >>> >>> The HIDL service is created in vendor/... >>> It depends on some prebuilt libraries. >>> >>> The prebuilt libraries are added to the Makefile for the service as >>> follows: >>> >>> include $(CLEAR_VARS) >>> LOCAL_PROPRIETARY_MODULE := true >>> LOCAL_MODULE_SUFFIX := .so >>> LOCAL_MODULE_CLASS := SHARED_LIBRARIES >>> LOCAL_MODULE := libTest >>> LOCAL_SRC_FILES := lib/libTest.so >>> #include $(BUILD_PREBUILT) >>> >>> During android make the library is correctly copied to /vendor/lib and >>> after I flash the device the lib is also available in that folder. >>> >>> I added the lib to the HIDL service makefile: >>> >>> include $(CLEAR_VARS) >>> >>> LOCAL_MODULE := [email protected] >>> LOCAL_PROPRIETARY_MODULE := true >>> LOCAL_MODULE_CLASS := EXECUTABLES >>> LOCAL_MODULE_RELATIVE_PATH := hw >>> LOCAL_INIT_RC := [email protected] >>> LOCAL_CFLAGS := -Werror >>> >>> LOCAL_SRC_FILES := service.cpp >>> >>> LOCAL_C_INCLUDES := $(subst ${ANDROID}/,,$(LOCAL_C_INCLUDES)) >>> >>> >>> LOCAL_SHARED_LIBRARIES := \ >>> [email protected] \ >>> libhidlbase \ >>> libhidltransport \ >>> libbase \ >>> liblog \ >>> libutils \ >>> libTest >>> >>> include $(BUILD_EXECUTABLE) >>> >>> No issues during make, but after I start the device the linker complains >>> with: >>> >>> 08-08 10:13:34.014 6814 6814 F linker : CANNOT LINK EXECUTABLE >>> "/vendor/bin/hw/[email protected]": library >>> "out/target/product/xxx/obj/lib/libTest.so" not found >>> >>> Not sure how this can happen? >>> I would suppose that the linker should check for the lib in /vendor/lib. >>> >>> Could it have something to do with: >>> >>> LOCAL_PRELINK_MODULE := false >>> >>> Thanks in advance! >>> >>> BR, >>> Tore >>> >>> -- >>> -- >>> You received this message because you are subscribed to the "Android >>> Building" mailing list. >>> To post to this group, send email to [email protected] >>> To unsubscribe from this group, send email to >>> [email protected] >>> For more options, visit this group at >>> http://groups.google.com/group/android-building?hl=en >>> >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "Android Building" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/android-building/d6699eb8-3c08-4ac1-8e74-fb8634b1bd1f%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/android-building/d6699eb8-3c08-4ac1-8e74-fb8634b1bd1f%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>
-- -- You received this message because you are subscribed to the "Android Building" mailing list. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-building?hl=en --- You received this message because you are subscribed to the Google Groups "Android Building" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/android-building/40c49da6-bcff-4330-b317-173f9158510d%40googlegroups.com.
