Fedora Account System
Red Hat Associate
Red Hat Customer
From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0 Description of problem: after upgrade of latest rawhide perl, vim can no longer find libperl.so Version-Release number of selected component (if applicable): 6.3.054-2 How reproducible: Always Steps to Reproduce: 1. yum upgrade perl 2. vim Actual Results: vim error while loading shared libraries: libperl.so: cannot open share d object. Additional info:
I have links in .../5.8.0, 1, 2, 3, 4 and the libperl.so in .../5.8.6/.../CORE Note NOT! in 5.8.5 As check prepended LD_LIBRARY_PATH=.../5.8.6/.../CORE in front of vim and all works. vim --version shows it being built against 5.8.5 :(
sorry thats was suppose to be I have links to libperl.so in 0,1,2,3,4 the actual file in 6 but the .../CORE directory is missing from 5.8.5, hence no link to the new libperl.so
the current vim in Rawhide has been rebuilt against perl-5.8.6 and should work again. But why is libperl.so missing in the 5.8.5 directory ? $ rpm -qpl perl-5.8.6-1.i386.rpm | grep perl.so /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/libperl.so /usr/lib/perl5/5.8.1/i386-linux-thread-multi/CORE/libperl.so /usr/lib/perl5/5.8.2/i386-linux-thread-multi/CORE/libperl.so /usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE/libperl.so /usr/lib/perl5/5.8.4/i386-linux-thread-multi/CORE/libperl.so /usr/lib/perl5/5.8.6/i386-linux-thread-multi/CORE/libperl.so reassign to perl maintainer to check this
*** Bug 145505 has been marked as a duplicate of this bug. ***
I just updated vim against rawhide on my FC4 system, so I now have vim-common-6.3.086-5 and perl-5.8.6-15 ... and vim is broken again, with exactly the same error message, because I guess Rawhide vim was built against a 5.8.7 perl. I'm about to update to Rawhide perl to un-break this. Either the vim upgrade should have pulled in the perl upgrade as well as an explicit dependency, or vim should be able to work with other versions of perl than what it was built against.
libperl symlinks are provided for *previous* versions of perl that are known to be ABI compatible, but not *future* versions. Generally mixing repositories (using FC4 and rawhide) packages at the same time is a bad idea and unsupported as it can and often will break things.
I agree with comment #7: mixing FC4 and rawhide shouldn't be relied on to work. However, I think what should have happened here is that my attempt to upgrade vim from rawhide should *also* have upgraded perl -- if vim-6.3.086-5 requires perl-5.8.7, shouldn't the RPM packaging of vim reflect that?
Good point, we do have a clean way to do ensure this using a dep. Also I'm not sure why this bug was closed as the missing 5.8.5 symlink should be investigated.
Okay, now I'm confused: I just checked rpm -q --requires vim-enhanced and it actually contains, among other things, perl >= 5.8.7 So why didn't perl get upgraded automatically when I upgraded vim with yum?
That dependency is broken, it should contain an Epoch, like in "Requires: perl >= 3:5.8.7".
This line in vim.spec is wrong: Requires: %(perl -le 'printf("perl >= %vd\n",$^V);') I'll replace that with Requires: perl >= %(rpm -q --qf "%%{epoch}:%%{version}\n" perl) and build vim-6.3.090-1 in Rawhide
Could you please test the vim packages at http://people.redhat.com/karsten/ ? I'd like to release updates for FC3/4 so that I can move on to vim-6.4beta in Rawhide, but would prefer to have at least some feadback on the current packages.
Could you please avoid querying the rpmdb during rpmbuild? That is generally a bad thing to do. # Ensure that a compatible libperl is installed Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Would this standard perl compat syntax be suitable here?
ok, I'll try that in vim-6.3.090-2