Forums - Cannot load libvulcan.so - GNU Hash error

1 post / 0 new
Cannot load libvulcan.so - GNU Hash error
jc1da.3011
Join Date: 31 Jan 15
Posts: 1
Posted: Tue, 2016-03-22 11:35

Hi,

I got error "dlopen failed: empty/missing DT_HASH in "libvulkan.so" (built with --hash-style=gnu?)" when my app tried to load that library.

I'm using both Note 4 & Z5 for testing but both failed to load

Is this library really built with GNU HASH? I tried readelf and the results are below

########################################

readelf -d libvulkan.so 
 
Dynamic section at offset 0x13b18 contains 35 entries:
  Tag        Type                         Name/Value
 0x00000003 (PLTGOT)                     0x14c94
 0x00000002 (PLTRELSZ)                   1728 (bytes)
 0x00000017 (JMPREL)                     0x3de8
 0x00000014 (PLTREL)                     REL
 0x00000011 (REL)                        0x2b98
 0x00000012 (RELSZ)                      4688 (bytes)
 0x00000013 (RELENT)                     8 (bytes)
 0x6ffffffa (RELCOUNT)                   409
 0x00000006 (SYMTAB)                     0x1a0
 0x0000000b (SYMENT)                     16 (bytes)
 0x00000005 (STRTAB)                     0x1090
 0x0000000a (STRSZ)                      5013 (bytes)
 0x6ffffef5 (GNU_HASH)                   0x2428
 0x00000001 (NEEDED)                     Shared library: [libhardware.so]
 0x00000001 (NEEDED)                     Shared library: [liblog.so]
 0x00000001 (NEEDED)                     Shared library: [libsync.so]
 0x00000001 (NEEDED)                     Shared library: [libutils.so]
 0x00000001 (NEEDED)                     Shared library: [libcutils.so]
 0x00000001 (NEEDED)                     Shared library: [libc++.so]
 0x00000001 (NEEDED)                     Shared library: [libdl.so]
 0x00000001 (NEEDED)                     Shared library: [libc.so]
 0x00000001 (NEEDED)                     Shared library: [libm.so]
 0x0000000e (SONAME)                     Library soname: [libvulkan.so]
 0x0000001a (FINI_ARRAY)                 0x144b8
 0x0000001c (FINI_ARRAYSZ)               4 (bytes)
 0x00000019 (INIT_ARRAY)                 0x14b14
 0x0000001b (INIT_ARRAYSZ)               4 (bytes)
 0x0000001e (FLAGS)                      BIND_NOW
 0x6ffffffb (FLAGS_1)                    Flags: NOW
 0x6ffffff0 (VERSYM)                     0x294c
 0x6ffffffc (VERDEF)                     0x2b2c
 0x6ffffffd (VERDEFNUM)                  1
 0x6ffffffe (VERNEED)                    0x2b48
 0x6fffffff (VERNEEDNUM)                 2
 0x00000000 (NULL)                       0x0
########################################################
 
Do you have another version of this library built with SYSV hash style?
Thank you so much
  • Up0
  • Down0

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.