[sles-beta] SLES12 x86_64 RC3 zypper problem: requires ruby(abi) = 2.1.0, but this requirement cannot be provided

Frederic Crozat fcrozat at suse.com
Fri Sep 12 07:36:05 MDT 2014


Le vendredi 12 septembre 2014 à 13:12 +0000, urs.frey at post.ch a écrit :
> Hi
>  
> When installing SLES12 x86_64 RC3  and on top of it some specific
> Rubygem packages I get now this error message I  did not have with RC2
>  
> Problem: pst-rubygem-stomp-1.3.2-1.x86_64 requires ruby(abi) = 2.1.0,
> but this requirement cannot be provided
> Problem: pst-rubygem-stomp-1.3.2-1.x86_64 requires ruby(abi) = 2.1.0,
> but this requirement cannot be provided
> Problem: pst-rubygem-sshkeyauth-0.0.11-5.x86_64 requires ruby(abi) =
> 2.1.0, but this requirement cannot be provided
> Problem: pst-rubygem-sshkeyauth-0.0.11-5.x86_64 requires ruby(abi) =
> 2.1.0, but this requirement cannot be provided
> Problem: pst-rubygem-net-ssh-2.6.6-1.x86_64 requires ruby(abi) =
> 2.1.0, but this requirement cannot be provided
>  
> I googled a bit about this ruby(abi) notation
>  
> In the changelog ChangeLog-RC2-RC3.txt.gz I found this
>  
> -----------------------------------------------------------------------------
>  
> o Updated ruby-common (security/bugfix/feature)
>  
> - we actually need the splitted version in any case. uncomment it
> again
> - pass the ruby abi as hash containing :interpreter, :version,   
> :abi as keys. that way we have the full new string but also the
>   version for the 1.8 support
> - rubygemsdeps.rb:
>   - make the provides/requires also include the ruby interpreter
>   - no longer emit the old package name style provides
> - rubygems.attr:
>   - make the path a bit more relaxed so we can match other ruby
>     interpreter too
>  
> So from my point of view there is now a real problem, as I can not
> install packages showing ruby(abi) requirements
> freyu at h05cni:~/rpmbuild/RPMS/x86_64> rpm -qp --requires
> pst-rubygem-net-ssh-2.6.6-1.x86_64.rpm
> /usr/bin/ruby
> rpmlib(CompressedFileNames) <= 3.0.4-1
> rpmlib(PayloadFilesHavePrefix) <= 4.0-1
> ruby >= 1.8.7
> ruby(abi) = ruby:2.1.0
> rpmlib(PayloadIsLzma) <= 4.4.6-1
> freyu at h05cni:~/rpmbuild/RPMS/x86_64>
>  
> h05cni:~ # zypper in pst-rubygem-net-ssh
> Loading repository data...
> Reading installed packages...
> Resolving package dependencies...
>  
> Problem: nothing provides ruby(abi) = 2.1.0 needed by
> pst-rubygem-net-ssh-2.6.6-1.x86_64
> Solution 1: do not install pst-rubygem-net-ssh-2.6.6-1.x86_64
> Solution 2: break pst-rubygem-net-ssh-2.6.6-1.x86_64 by ignoring some
> of its dependencies
>  
> Choose from above solutions by number or cancel [1/2/c] (c):
>  
>  
> Somebody an idea to work around this?
> This worked with SLES12 RC2, now I got stuck
> From my point of view zypper can not handle, what has got modified
> with ruby and :abi key 
>  
> It is not even possible to get this requirement out of the rpm package
> when building with rpmbuild

Thanks Urs for your email. 

We had to slightly change ruby packaging to allow parallel installation
of ruby version for the future. Due to that, you need to rebuild your
pst* packages on SLE12 RC3 (no change should be needed on the specfile)
and they will install fine on RC3.

Sorry for this inconvenience but this is to ensure we are future proof
ruby-wise.



-- 
Frederic Crozat
Project Manager Enterprise Desktop
SUSE



More information about the sles-beta mailing list