On Fri, Dec 16, 2016 at 2:56 AM, Roger Oberholtzer
On Fri, Dec 16, 2016 at 1:47 AM, Jan Engelhardt
wrote: But I cannot deduce the name 'sndfile' from a compiled program.
Why would a compiled program care?
That's the whole point of the exercise: the information comes from compiled things.
One reason for this is that we use proprietary libraries (e.g., Kakadu JPEG2000, or Intel Performance Primitives, or various Gig-E-Vision cameras) for which we only have a binary. And these have dependencies that we would like to include in our analysis. We do not have access to the source. (On Linux, be happy you even get a library for the transducer!)
(Also, you do not have to deduce "pkgconfig(sndfile)", because it is a known fixed string.)
In the build process, perhaps. Which is fine if you actually build the thing. But even that may not pick up all dependencies.
For example, when a library is built, the link command to build the library can reference dependent libraries (of the .so type). Later, when a program links with this library, it need not specify these other dependent libraries. No reference is needed in the build process. So, relying on the build definition to tell all is no guarantee. But, looking at the resulting binary picks up everything.
I'm not sure what you're talking about. The "pkgconfig(sndfile)" string is generated by reading the pkg-config file during the packing process and reading the names. The dependencies described in the RPM are from the pkgconfig file and from the built resultant binaries. This is why even nosrc RPMs are able to be built with full dependencies described. And usually, you know the pkgconfig() name because it's the same name you use for pkg_check_modules() in autotools and CMake. If you don't even know that, then you might be doing this wrong... -- 真実はいつも一つ!/ Always, there's only one truth! -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org