> Mazda Motor Logistics Europe NV, Blaasveldstraat 162, B-2830 Willebroek VAT BE 406.024.281, RPR Mechelen, ING 310-0092504-52, IBAN : BE64 3100 0925 0452, SWIFT : BBRUBEBB -----Original Message----- > From: redhat-list-bounces@xxxxxxxxxx > [mailto:redhat-list-bounces@xxxxxxxxxx] On Behalf Of Michael Schwendt > Sent: zaterdag 19 januari 2008 3:35 > To: General Red Hat Linux discussion list > Subject: Re: Strange dependencies added by rpmbuild > > On 18/01/2008, Mertens, Bram <mertensb@xxxxxxxxxxxx> wrote: > > Hi > > > > Because I need to install CA's Siteminder web agent on a > number of web > > servers I want to create an rpm from the binary installer > delivered by > > CA. > > > > Probably in part because I'm not familiar (yet) with how to > build RPMs I > > have run into a number of issues but finally I have been > able to build > > an RPM of both an older version and a newer version. (I > won't go into > > the details as to why I need both - it's a long story.) > > > > Anyway installing the RPM I built from the old version works fine. > > However when I try to upgrade the old version to the new I get: > > # rpm -Uvh webagent-6.5.12-1.i386.rpm > > error: Failed dependencies: > > libodbc.so is needed by webagent-6.5.12-1 > > libodbcinst.so is needed by webagent-6.5.12-1 > > libverify.so(VER_1) is needed by webagent-6.5.12-1 > > > > These dependencies are also displayed in rpmbuilds output: > > .. > > Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 > > rpmlib(PayloadFilesHavePrefix) <= 4.0-1 > > Requires: /bin/sh httpd libIntroscopeNativeDataAPI.so libX11.so.6 > > libXext.so.6 libXp.so.6 libXt.so.6 libXtst.so.6 libawt.so > > libbtunicode.so libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) > > libc.so.6(GLIBC_2.1.2) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.2) > > libdl.so.2 libdl.so.2(GLIBC_2.0) libdl.so.2(GLIBC_2.1) libgcc_s.so.1 > > libgcc_s.so.1(GCC_3.0) libgcc_s.so.1(GLIBC_2.0) libjava.so libjvm.so > > libm.so.6 libm.so.6(GLIBC_2.0) libm.so.6(GLIBC_2.1) libmlib_image.so > > libnet.so libnsl.so.1 libodbc.so libodbcinst.so libpthread.so.0 > > libpthread.so.0(GLIBC_2.0) libpthread.so.0(GLIBC_2.1) > > libpthread.so.0(GLIBC_2.3.2) librt.so.1 libsmcommonutil.so > > libsmerrlog.so libsmeventlog.so libsmgda.so libsmvariable.so > > libstdc++-libc6.1-1.so.2 libstdc++-libc6.2-2.so.3 libstdc++.so.5 > > libstdc++.so.5(CXXABI_1.2) libstdc++.so.5(GLIBCPP_3.2) libverify.so > > libverify.so(VER_1) > > Checking for unpackaged file(s): /usr/lib/rpm/check-files > > /var/tmp/webagent-6.5.12-root > > Wrote: /home/mertensb/redhat/SRPMS/webagent-6.5.12-1.src.rpm > > Wrote: /home/mertensb/redhat/RPMS/i386/webagent-6.5.12-1.i386.rpm > > .. > > > > What I find strange is that even though these files are detected as > > dependencies they are nowhere to be found on the machine on which I > > built the RPM. > > That's normal with precompiled programs. rpm-build finds these > dependencies in the executables, shared libraries, object files, (and > even in scripts for several script-based programming languages). I > find it more strange that you write you examined the binaries manually > but you didn't say what requirements you were able to find. I didn't cross-check the entire list of dependencies I found with those reported by rpmbuild, I only checked whether or not the dependencies that are causing the problem were listed by find-requires or not. And as I wrote they are not. Do I understand correctly that these dependencies are in fact dependencies for building the CA siteminder agent? And as such not needed when running it? Because as I wrote these dependencies aren't available on the system where I built the RPM so the binary installer allowed the installation while it couldn't find those files. > > I have tried to discover why these files would be added as > dependencies > > by following the steps the find-requires script takes (as > described on > > http://www.rpm.org/max-rpm-snapshot/s1-rpm-depend-auto-depend.html). > > But they are not listed (well "libverify.so" is but not > > "libverify.so(VER_1)"). > > VER_1 is a version symbol you can find in the library with > readelf/objdump and similar tools. Just to understand these things: then why are both libverify.so and libverify.so(VER_1) reported as dependency? > > How can I determine whether or not these files are actually > needed? And > > if they are not how can I prevent rpmbuild from including them as > > dependencies? > > It is possible to disable the automatic dependencies, but that would > not be helpful in your case, because you would be missing libraries at > run-time. Alternatively, if the package includes optional binaries, it > would be possible to exclude them from the package, provided that you > don't want them. In the mean time I remembered that the machine I'm building the RPMs on is a RHEL4 machine and the machine I'll be installing it on is a RHEL3 machine. Could that cause problems? The software itself should run on both. Kind regards Bram -- redhat-list mailing list unsubscribe mailto:redhat-list-request@xxxxxxxxxx?subject=unsubscribe https://www.redhat.com/mailman/listinfo/redhat-list