[Bug 833760] New: /usr/lib/rpm/find-requires does not detect required shared library
https://bugzilla.novell.com/show_bug.cgi?id=833760 https://bugzilla.novell.com/show_bug.cgi?id=833760#c0 Summary: /usr/lib/rpm/find-requires does not detect required shared library Classification: openSUSE Product: openSUSE Factory Version: 13.1 Milestone 3 Platform: All OS/Version: openSUSE 12.3 Status: NEW Severity: Major Priority: P5 - None Component: Basesystem AssignedTo: mls@suse.com ReportedBy: werner@suse.com QAContact: qa-bugs@suse.de CC: coolo@suse.com Depends on: 833714 Found By: Development Blocker: --- +++ This bug was initially created as a clone of Bug #833714 +++ from this bug you may see that libOSMesa is not linked with libglapi but the final program ``asy'' *is* linked: abuild@noether:~/rpmbuild/BUILD/texlive/utils/asymptote> grep -e '-o asy' /.build.log [ 857s] g++ -Wall -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -DUSEGC -pthread -DFFTWPP_SINGLE_THREAD -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -D_POSIX_C_SOURCE=200803L -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -std=gnu89 -fno-strict-aliasing -fPIC -Wno-write-strings -Wno-char-subscripts -Wno-unused -Wno-uninitialized -Wno-return-type -Wno-parentheses -Wno-sign-compare -Wno-unprototyped-calls -pipe -fno-var-tracking -o asy camperror.o path.o drawpath.o drawlabel.o picture.o psfile.o texfile.o util.o settings.o guide.o flatguide.o knot.o drawfill.o path3.o drawpath3.o drawsurface.o pen.o types.o builtin.o gsl.o runtime.o runbacktrace.o runpicture.o runlabel.o runhistory.o runarray.o runfile.o runsystem.o runpair.o runtriple.o runpath.o runpath3d.o runstring.o runmath.o env.o genv.o stm.o dec.o errormsg.o callable.o name.o symbol.o entry.o exp.o newexp.o stack.o camp.tab.o lex.yy.o access.o virtualfieldaccess.o absyn.o record.o interact.o fileio.o fftw++asy.o simpson.o coder.o coenv.o impdatum.o locate.o parser.o program.o application.o varinit.o fundec.o refaccess.o envcompleter.o process.o constructor.o array.o Delaunay.o predicates.o PRCbitStream.o oPRCFile.o PRCdouble.o writePRC.o glrender.o tr.o arcball.o algebra3.o quaternion.o svnrevision.o main.o -Wl,-warn-common -Wl,-O2 -Wl,--as-needed -Wl,--hash-size=8599 -Wl,-warn-common -Wl,-Bsymbolic-functions -L/home/abuild/rpmbuild/BUILD/texlive/utils/asymptote -lglut -lGLU -lGL -lfftw3 -lreadline -lrt -lz -lm -L/usr/lib -lgc -lncurses -lgsl -lgslcblas -lOSMesa -lglapi which is also shown with ldd command: abuild@noether:~/rpmbuild/BUILD/texlive/utils/asymptote> ldd asy [...] libOSMesa.so.8 => /usr/lib64/libOSMesa.so.8 (0x00007fa8581cd000) [...] libglapi.so.0 => /usr/lib64/libglapi.so.0 (0x00007fa856860000) [...] /lib64/ld-linux-x86-64.so.2 (0x00007fa85a36d000) libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007fa8553ed000) libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fa8551e9000) but this is not seen by /usr/lib/rpm/find-requires: abuild@noether:~/rpmbuild/BUILD/texlive/utils/asymptote> echo $PWD/asy | /usr/lib/rpm/find-requires libGL.so.1()(64bit) libGLU.so.1()(64bit) libOSMesa.so.8()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libfftw3.so.3()(64bit) libgc.so.1()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libglut.so.3()(64bit) libgsl.so.0()(64bit) libgslcblas.so.0()(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libpthread.so.0(GLIBC_2.3.2)(64bit) libreadline.so.6()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.2)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.10)(64bit) libstdc++.so.6(GLIBCXX_3.4.11)(64bit) libstdc++.so.6(GLIBCXX_3.4.15)(64bit) libstdc++.so.6(GLIBCXX_3.4.5)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) libtinfo.so.5()(64bit) libz.so.1()(64bit) libz.so.1(ZLIB_1.2.0)(64bit) .. beside this if I (re)move the libglapi.so* then the proram asy can not be executed: abuild@noether:~/rpmbuild/BUILD/texlive/utils/asymptote> logout noether:/ # for l in /usr/lib64/libglapi.so* ; do mv ${l} ${l}.back; done noether:/ # su - abuild abuild@noether:~> cd rpmbuild/BUILD/texlive/utils/asymptote/ abuild@noether:~/rpmbuild/BUILD/texlive/utils/asymptote> ./asy ./asy: error while loading shared libraries: libglapi.so.0: cannot open shared object file: No such file or directory abuild@noether:~/rpmbuild/BUILD/texlive/utils/asymptote> .. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=833760 https://bugzilla.novell.com/show_bug.cgi?id=833760#c1 Michael Schröder <mls@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO InfoProvider| |werner@suse.com --- Comment #1 from Michael Schröder <mls@suse.com> 2013-08-20 15:31:41 UTC --- the ldd output does not help much, as it also resolves indirect dependencies. What's the output of 'objdump -p asy'? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=833760 https://bugzilla.novell.com/show_bug.cgi?id=833760#c2 Dr. Werner Fink <werner@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW InfoProvider|werner@suse.com | --- Comment #2 from Dr. Werner Fink <werner@suse.com> 2013-08-29 12:52:49 UTC --- OK ... here we are: asy: file format elf64-x86-64 Program Header: PHDR off 0x0000000000000040 vaddr 0x0000000000400040 paddr 0x0000000000400040 align 2**3 filesz 0x00000000000001f8 memsz 0x00000000000001f8 flags r-x INTERP off 0x0000000000000238 vaddr 0x0000000000400238 paddr 0x0000000000400238 align 2**0 filesz 0x000000000000001c memsz 0x000000000000001c flags r-- LOAD off 0x0000000000000000 vaddr 0x0000000000400000 paddr 0x0000000000400000 align 2**21 filesz 0x0000000000378e4c memsz 0x0000000000378e4c flags r-x LOAD off 0x00000000003795a8 vaddr 0x00000000009795a8 paddr 0x00000000009795a8 align 2**21 filesz 0x00000000000289d8 memsz 0x00000000000b8438 flags rw- DYNAMIC off 0x0000000000391dc8 vaddr 0x0000000000991dc8 paddr 0x0000000000991dc8 align 2**3 filesz 0x00000000000002d0 memsz 0x00000000000002d0 flags rw- NOTE off 0x0000000000000254 vaddr 0x0000000000400254 paddr 0x0000000000400254 align 2**2 filesz 0x0000000000000044 memsz 0x0000000000000044 flags r-- EH_FRAME off 0x0000000000301d94 vaddr 0x0000000000701d94 paddr 0x0000000000701d94 align 2**2 filesz 0x000000000000c5cc memsz 0x000000000000c5cc flags r-- STACK off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**3 filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw- RELRO off 0x00000000003795a8 vaddr 0x00000000009795a8 paddr 0x00000000009795a8 align 2**0 filesz 0x000000000001ea58 memsz 0x000000000001ea58 flags r-- Dynamic Section: NEEDED libglut.so.3 NEEDED libGLU.so.1 NEEDED libGL.so.1 NEEDED libfftw3.so.3 NEEDED libreadline.so.6 NEEDED libz.so.1 NEEDED libgc.so.1 NEEDED libtinfo.so.5 NEEDED libgsl.so.0 NEEDED libgslcblas.so.0 NEEDED libOSMesa.so.8 NEEDED libstdc++.so.6 NEEDED libm.so.6 NEEDED libgcc_s.so.1 NEEDED libpthread.so.0 NEEDED libc.so.6 INIT 0x0000000000458ac0 FINI 0x00000000006ec724 INIT_ARRAY 0x00000000009795a8 INIT_ARRAYSZ 0x0000000000000270 FINI_ARRAY 0x0000000000979818 FINI_ARRAYSZ 0x0000000000000008 HASH 0x0000000000400298 GNU_HASH 0x0000000000404e08 STRTAB 0x000000000041fa00 SYMTAB 0x0000000000409560 STRSZ 0x000000000001ebc7 SYMENT 0x0000000000000018 DEBUG 0x0000000000000000 PLTGOT 0x0000000000998000 PLTRELSZ 0x0000000000004530 PLTREL 0x0000000000000007 JMPREL 0x0000000000454590 RELA 0x00000000004404f0 RELASZ 0x00000000000140a0 RELAENT 0x0000000000000018 VERNEED 0x0000000000440380 VERNEEDNUM 0x0000000000000006 VERSYM 0x000000000043e5c8 Version References: required from libgcc_s.so.1: 0x0b792650 0x00 16 GCC_3.0 required from libm.so.6: 0x09691a75 0x00 09 GLIBC_2.2.5 required from libz.so.1: 0x0827e5c0 0x00 07 ZLIB_1.2.0 required from libstdc++.so.6: 0x0297f860 0x00 18 GLIBCXX_3.4.10 0x02297f85 0x00 17 GLIBCXX_3.4.5 0x0297f861 0x00 15 GLIBCXX_3.4.11 0x0bafd172 0x00 12 CXXABI_1.3.2 0x056bafd3 0x00 11 CXXABI_1.3 0x02297f89 0x00 10 GLIBCXX_3.4.9 0x0297f865 0x00 08 GLIBCXX_3.4.15 0x08922974 0x00 05 GLIBCXX_3.4 required from libpthread.so.0: 0x09691a75 0x00 06 GLIBC_2.2.5 0x09691972 0x00 04 GLIBC_2.3.2 required from libc.so.6: 0x0d696914 0x00 14 GLIBC_2.4 0x06969194 0x00 13 GLIBC_2.14 0x09691a75 0x00 03 GLIBC_2.2.5 0x09691974 0x00 02 GLIBC_2.3.4 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=833760 https://bugzilla.novell.com/show_bug.cgi?id=833760#c3 Michael Schröder <mls@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mls@suse.com AssignedTo|mls@suse.com |werner@suse.com --- Comment #3 from Michael Schröder <mls@suse.com> 2013-08-29 13:43:43 UTC --- But libglapi is not mentioned in the dynamic section, so it's a dependency from one of the libs and must be in the rpm containing the lib and not in the rpm containing asy. Just because you link with '-lglapi' does not mean that there will be a dependency, because be build with "SUSE_ASNEEDED=1", i.e. with an implicit "-Wl,--as-needed" flag. So if asy does not use a symbol in the glapi lib, the lib will not be added to the dynamic section. So everything is fine from my point of view. Please reassign to the maintainer of the library that misses the glapi reference. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=833760 https://bugzilla.novell.com/show_bug.cgi?id=833760#c4 Dr. Werner Fink <werner@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO InfoProvider| |mls@suse.com --- Comment #4 from Dr. Werner Fink <werner@suse.com> 2013-09-02 17:06:04 UTC --- In fact it is broken and in fact I'm not maintainer of 'Mesa-libglapi' and in fact the asy program requires sysmbols from libglapi. Why do you reassign this to me? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=833760 https://bugzilla.novell.com/show_bug.cgi?id=833760#c5 --- Comment #5 from Dr. Werner Fink <werner@suse.com> 2013-09-02 17:10:14 UTC --- Currently I use a workaround ... spec file: (cat>libOSMesa.so)<<-'EOF' /* GNU ld script */ INPUT(%{_libdir}/libOSMesa.so AS_NEEDED(-lglapi)) EOF with this it works ... IMHO it should work wihout this trick that is that /usr/lib/rpm/find-requires should be ablt to detect such things -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=833760 https://bugzilla.novell.com/show_bug.cgi?id=833760#c6 Michael Schröder <mls@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW InfoProvider|mls@suse.com | --- Comment #6 from Michael Schröder <mls@suse.com> 2013-09-03 09:43:09 UTC --- Where does the asy program require symbols from libglapi? If it did that, glapi would be listed in the NEEDED section. try 'LD_DEBUG=all ./asy'. And please do not add workarounds, but fix the root of the problem! -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=833760 https://bugzilla.novell.com/show_bug.cgi?id=833760#c7 Michael Schröder <mls@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|werner@suse.com |sndirsch@suse.com --- Comment #7 from Michael Schröder <mls@suse.com> 2013-09-03 09:51:16 UTC --- Reassigned to Stefan, as it seems that libOSMesa does not link against libglapi, thus libglapi is not listed in the NEEDED section of libOSMesa. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=833760 https://bugzilla.novell.com/show_bug.cgi?id=833760#c8 --- Comment #8 from Stefan Dirsch <sndirsch@suse.com> 2013-09-04 12:55:29 UTC --- This might become obsolete, if accepting the changes of SR#197345. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=833760 https://bugzilla.novell.com/show_bug.cgi?id=833760#c Stefan Dirsch <sndirsch@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P5 - None |P3 - Medium Status|NEW |ASSIGNED AssignedTo|sndirsch@suse.com |xorg-maintainer-bugs@forge. | |provo.novell.com -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=833760 https://bugzilla.novell.com/show_bug.cgi?id=833760#c9 Dominique Leuenberger <dimstar@opensuse.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dimstar@opensuse.org --- Comment #9 from Dominique Leuenberger <dimstar@opensuse.org> 2013-09-22 13:49:44 UTC --- (In reply to comment #8)
This might become obsolete, if accepting the changes of SR#197345.
Never made it in... -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com