Summary: | Metro Last Light fail to start | ||
---|---|---|---|
Product: | Mesa | Reporter: | Laurent carlier <lordheavym> |
Component: | Drivers/Gallium/radeonsi | Assignee: | Default DRI bug account <dri-devel> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | grantipak |
Version: | git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Laurent carlier
2014-03-12 17:00:26 UTC
Hrmph. I guess it's not as harmless as I thought! Can you provide the output of llvm-config --ldflags (for the llvm-config that mesa uses) llvm-config --libdir readelf -d /path/to/r600_dri.so (or radeonsi_dri.so, not sure which one you have) ldd /path/to/r600_dri.so The latter 2 for both good and bad versions. [lordh@archMain tst]$ llvm-config32 --ldflags -L/usr/lib32 [lordh@archMain tst]$ llvm-config32 --libdir /usr/lib32 [lordh@archMain tst]$ readelf -d /usr/lib32/xorg/modules/dri/radeonsi_dri.so Section dynamique à l'adresse de décalage 0x53de64 contient 39 entrées: Étiquettes Type Nom/Valeur 0x00000001 (NEEDED) Librairie partagées: [libelf.so.1] 0x00000001 (NEEDED) Librairie partagées: [libdrm.so.2] 0x00000001 (NEEDED) Librairie partagées: [libexpat.so.1] 0x00000001 (NEEDED) Librairie partagées: [libpthread.so.0] 0x00000001 (NEEDED) Librairie partagées: [libdl.so.2] 0x00000001 (NEEDED) Librairie partagées: [libdrm_radeon.so.1] 0x00000001 (NEEDED) Librairie partagées: [libLLVM-3.5.0svn.so] 0x00000001 (NEEDED) Librairie partagées: [libstdc++.so.6] 0x00000001 (NEEDED) Librairie partagées: [libm.so.6] 0x00000001 (NEEDED) Librairie partagées: [libc.so.6] 0x00000001 (NEEDED) Librairie partagées: [libgcc_s.so.1] 0x0000000e (SONAME) Librairie soname: [radeonsi_dri.so] 0x0000000f (RPATH) Librairie rpath: [/usr/lib32] 0x0000000c (INIT) 0x172e4 0x0000000d (FINI) 0x3cc884 0x00000019 (INIT_ARRAY) 0x52e264 0x0000001b (INIT_ARRAYSZ) 24 (octets) 0x0000001a (FINI_ARRAY) 0x52e27c 0x0000001c (FINI_ARRAYSZ) 4 (octets) 0x6ffffef5 (GNU_HASH) 0x138 0x00000005 (STRTAB) 0x1d44 0x00000006 (SYMTAB) 0x164 0x0000000a (STRSZ) 8017 (octets) 0x0000000b (SYMENT) 16 (octets) 0x00000003 (PLTGOT) 0x53f000 0x00000002 (PLTRELSZ) 3352 (octets) 0x00000014 (PLTREL) REL 0x00000017 (JMPREL) 0x165cc 0x00000011 (REL) 0x422c 0x00000012 (RELSZ) 74656 (octets) 0x00000013 (RELENT) 8 (octets) 0x6ffffffc (VERDEF) 0x4014 0x6ffffffd (VERDEFNUM) 2 0x0000001e (FLAGS) STATIC_TLS 0x6ffffffe (VERNEED) 0x404c 0x6fffffff (VERNEEDNUM) 7 0x6ffffff0 (VERSYM) 0x3c96 0x6ffffffa (RELCOUNT) 9119 0x00000000 (NULL) 0x0 [lordh@archMain tst]$ ldd /usr/lib32/xorg/modules/dri/radeonsi_dri.so linux-gate.so.1 (0xf7778000) libelf.so.1 => /usr/lib32/libelf.so.1 (0xf703a000) libdrm.so.2 => /usr/lib32/libdrm.so.2 (0xf702c000) libexpat.so.1 => /usr/lib32/libexpat.so.1 (0xf7003000) libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf6fe7000) libdl.so.2 => /usr/lib32/libdl.so.2 (0xf6fe1000) libdrm_radeon.so.1 => /usr/lib32/libdrm_radeon.so.1 (0xf6fd2000) libLLVM-3.5.0svn.so => /usr/lib32/libLLVM-3.5.0svn.so (0xf4ef6000) libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf4e0d000) libm.so.6 => /usr/lib32/libm.so.6 (0xf4dc7000) libc.so.6 => /usr/lib32/libc.so.6 (0xf4c19000) libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf4bff000) /usr/lib/ld-linux.so.2 (0xf7779000) libz.so.1 => /usr/lib32/libz.so.1 (0xf4be8000) libffi.so.6 => /usr/lib32/libffi.so.6 (0xf4be0000) comment #2 was for bad (current trunk) Here is when it's good: [lordh@archMain tstdri32]$ readelf -d usr/lib32/xorg/modules/dri/radeonsi_dri.so Section dynamique à l'adresse de décalage 0x66fa30 contient 38 entrées: Étiquettes Type Nom/Valeur 0x00000001 (NEEDED) Librairie partagées: [libelf.so.1] 0x00000001 (NEEDED) Librairie partagées: [libdrm.so.2] 0x00000001 (NEEDED) Librairie partagées: [libexpat.so.1] 0x00000001 (NEEDED) Librairie partagées: [libpthread.so.0] 0x00000001 (NEEDED) Librairie partagées: [libdl.so.2] 0x00000001 (NEEDED) Librairie partagées: [libdrm_radeon.so.1] 0x00000001 (NEEDED) Librairie partagées: [libLLVM-3.5.0svn.so] 0x00000001 (NEEDED) Librairie partagées: [libstdc++.so.6] 0x00000001 (NEEDED) Librairie partagées: [libm.so.6] 0x00000001 (NEEDED) Librairie partagées: [libc.so.6] 0x00000001 (NEEDED) Librairie partagées: [libgcc_s.so.1] 0x0000000e (SONAME) Librairie soname: [radeonsi_dri.so] 0x0000000c (INIT) 0x1784c 0x0000000d (FINI) 0x4a3a60 0x00000019 (INIT_ARRAY) 0x66029c 0x0000001b (INIT_ARRAYSZ) 24 (octets) 0x0000001a (FINI_ARRAY) 0x6602b4 0x0000001c (FINI_ARRAYSZ) 4 (octets) 0x6ffffef5 (GNU_HASH) 0x118 0x00000005 (STRTAB) 0x1d94 0x00000006 (SYMTAB) 0x144 0x0000000a (STRSZ) 8038 (octets) 0x0000000b (SYMENT) 16 (octets) 0x00000003 (PLTGOT) 0x670bbc 0x00000002 (PLTRELSZ) 3400 (octets) 0x00000014 (PLTREL) REL 0x00000017 (JMPREL) 0x16b04 0x00000011 (REL) 0x428c 0x00000012 (RELSZ) 75896 (octets) 0x00000013 (RELENT) 8 (octets) 0x6ffffffc (VERDEF) 0x4084 0x6ffffffd (VERDEFNUM) 2 0x0000001e (FLAGS) STATIC_TLS 0x6ffffffe (VERNEED) 0x40bc 0x6fffffff (VERNEEDNUM) 7 0x6ffffff0 (VERSYM) 0x3cfa 0x6ffffffa (RELCOUNT) 9272 0x00000000 (NULL) 0x0 [lordh@archMain tstdri32]$ ldd usr/lib32/xorg/modules/dri/radeonsi_dri.so linux-gate.so.1 (0xf7745000) libelf.so.1 => /usr/lib32/libelf.so.1 (0xf6e8b000) libdrm.so.2 => /usr/lib32/libdrm.so.2 (0xf6e7d000) libexpat.so.1 => /usr/lib32/libexpat.so.1 (0xf6e54000) libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf6e38000) libdl.so.2 => /usr/lib32/libdl.so.2 (0xf6e32000) libdrm_radeon.so.1 => /usr/lib32/libdrm_radeon.so.1 (0xf6e23000) libLLVM-3.5.0svn.so => /usr/lib32/libLLVM-3.5.0svn.so (0xf4d47000) libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf4c5e000) libm.so.6 => /usr/lib32/libm.so.6 (0xf4c18000) libc.so.6 => /usr/lib32/libc.so.6 (0xf4a6a000) libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf4a50000) /usr/lib/ld-linux.so.2 (0xf7746000) libz.so.1 => /usr/lib32/libz.so.1 (0xf4a39000) libffi.so.6 => /usr/lib32/libffi.so.6 (0xf4a31000) How are you running Metro:LL? Is it through steam? If so, I wonder if the rpath is overriding steam's LD_LIBRARY_PATH's that it sets to use its own versions of these libs... Can you detail what you mean by 'refuse to start'? (In reply to comment #4) > How are you running Metro:LL? Is it through steam? If so, I wonder if the > rpath is overriding steam's LD_LIBRARY_PATH's that it sets to use its own > versions of these libs... > > Can you detail what you mean by 'refuse to start'? Metro LL is launched through steam. It tries to start then stops without error messages And steam probably uses LD_LIBRARY_PATH. According to http://blog.tremily.us/posts/rpath/, the rpath actually comes first. So my change should probably be reverted, since it disallows using LD_LIBRARY_PATH. Can you see if starting steam with STEAM_RUNTIME=0 fixes things for you? (In reply to comment #6) > And steam probably uses LD_LIBRARY_PATH. According to > http://blog.tremily.us/posts/rpath/, the rpath actually comes first. So my > change should probably be reverted, since it disallows using LD_LIBRARY_PATH. > > Can you see if starting steam with STEAM_RUNTIME=0 fixes things for you? Sorry i wasn't able to run Metro LL with STEAM_RUNTIME=0, even with mesa without your patch Just pushed the revert. Apologies for the inconvenience, and thanks for the bisect! http://cgit.freedesktop.org/mesa/mesa/commit/?id=29bcc73d4db639681f679b43075798c78f268ebf |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.