RE : Failed dependencies on /usr
"ELASRI Patrice SOFRECOM" <[email protected]>
| Newsgroups | gmane.linux.redhat.rpm.general |
|---|---|
| Message-ID | <8F97125A217C9A4E919BA0B9121C2479A81726@PUEXCBC0.nanterre.francetelecom.fr> |
-----Message d'origine----- De : [email protected] [mailto:[email protected]] De la part de Jeff Johnson Envoyé : mardi 8 janvier 2008 15:01 À : RPM Package Manager Objet : Re: Failed dependencies on /usr On Jan 8, 2008 8:26 AM, ELASRI Patrice SOFRECOM <[email protected]> wrote: Hi, I have built a package located by default under /usr/local. When I try to install it, I'm returned the following error : $ rpm -U sof-u-2.1.2-1.noarch.rpm error: Failed dependencies: /usr is needed by sof-u-2.1.2-1.noarch If I relocate the package, I'm returned the following error, with dependencies on original paths : $ rpm -U --define "_autorelocate_path %{nil}" --prefix /usr/local/sofrecom sof-u-2.1.2-1.noarch.rpm error: Failed dependencies: /usr is needed by sof-u-2.1.2-1.noarch /usr/local is needed by sof-u-2.1.2-1.noarch /usr/local/etc is needed by sof-u-2.1.2-1.noarch ... In rpm-4.4.7 and later, every file depends on its parent directory. All of the dependency failures you are seeing are parent directories that aren't packaged. There is a --noparentdirs that disables the dependencies on parent directories. Another easy persistent fix for your specific problem(s) is mkdir -p /etc/rpm/sysinfo echo "/usr" >> /etc/rpm/sysinfoDirnames echo "/usr/local" >> /etc/rpm/sysinfo/Dirnames echo "/usr/local/etc" >> /etc/rpm/sysinfo/Dirnames ... Thanks for these information. Is there a document which talks about it ? I tried the -noparentdirs option and it works fine. There is also ( in 4.4.7+?, I fergit) a --orphandirs popt alias that will display all directories that are not packaged: rpm -Va --nofiles --orphandirs that should generate a sort'd uniq'd list of directories that are not packaged. The _autorelocate_path macro setting is necessary. Otherwise, the package is installed under /emul/noarch-hpux11.23 !!! I'm using rpm 4.4.7 which I have built on HPUX 11.23 / ia64. The RPM database was initialised with a pseudo package providing usual interpreters ( /bin/sh, /bin/ksh, /bin/perl, ... ). Ah ia64 multilib. Expect some problems is all that I can say. The implementation of multilib on ia64 in rpm was done in like 8 hours on a borrowed ia64 developer's box and has never been properly QA'd to my knowledge. I'm not so aware about the rpm developments ; I'm just an rpm user. What do you means by multilib ? About the _autorelocate_path macro setting, I noticed that this one is mandatory when the -prefix option is used, what ever the package architecture. Otherwise, the package is installed under /emul/noarch-hpux11.23, or even under /emul/ia64-hpux11.23 for the architecture dependents packages built on ia64. SELinux, in particular, is likely to be extremely weird on a multilib/ia64 box because of the /emul/noarch-hpux11.23 prefix breaking the lookup of file contexts from SELinux configuration. I'll be happy to help you sort out any/all multilib/ia64. Likely <[email protected]> is a better place to report issues, as only the few & the brave are attempting HP-UX multilib/ia64 relocated installs with rpm-4.4.7+. If you are interested on, I can report you what I did for building and installing RPM on HP-UX. 73 de Jeff _______________________________________________ Rpm-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/rpm-list