Description of problem: rpm 4.2.x of Red Hat Enterprise Linux 3 isn't able to handle %{perl_vendorlib} correct, but %{perl_sitearch} and %{perl_archlib} work. Version-Release number of selected component (if applicable): rpm-4.2.3-10 How reproducible: Everytime, see below. Steps to Reproduce: 1a. Use "%{perl_vendorlib}" in a spec file OR 1b. Use "%{!?perl_vendorlib: %define perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)}" and "%{perl_vendorlib}" in a spec file 2. Build the RPM. 3. Try to install the RPM. 4. Die with: "/usr/lib/perl5/vendor_perl/5.8.0 is needed by XYZ". 5. /usr/lib/perl5/vendor_perl/5.8.0 exists, see: # file /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl/5.8.0: directory # Actual results: %{perl_vendorlib} isn't working. Expected results: Working %{perl_vendorlib}.
BTW, %{perl_vendorarch}, %{perl_sitelib} and %{perl_privlib} don't also work as expected.
The fix for this is to upgrade RHEL3 to rpm-4.3.x, not otherwise. The problem exists for any additional change to default rpm configuration, exists for all versions of rpm prior to rpm-4.3, not just RHEL3. You can add the macros to what was then the rpm default configuration.