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 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. > 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. -- redhat-list mailing list unsubscribe mailto:redhat-list-request@xxxxxxxxxx?subject=unsubscribe https://www.redhat.com/mailman/listinfo/redhat-list