Bug 719924

Summary: Graphviz rebuild fails when multilib ruby-devel and ruby-libs are installed.
Product: Red Hat Enterprise Linux 6 Reporter: Lukáš Zachar <lzachar>
Component: graphvizAssignee: Jaroslav Škarvada <jskarvad>
Status: CLOSED DUPLICATE QA Contact: BaseOS QE - Apps <qe-baseos-apps>
Severity: unspecified Docs Contact:
Priority: medium    
Version: 6.1CC: jskarvad, rvokal, vondruch
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-07-11 07:31:03 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Proposed graphviz fix none

Description Lukáš Zachar 2011-07-08 12:42:42 UTC
Description of problem:

Cannot rebuild graphviz for ppc64, when ruby-devel,ruby-libs are installed in both ppc and ppc64. 
Configure detects ruby libs in /usr/lib instead of /usr/lib64 and later puts compiled ruby bindings into wrong directory, which causes fail. 

When only ruby-devel.ppc is removed (ruby-devel.ppc64 ruby-libs.{ppc,ppc64} are isntalled), configure disables ruby bindings because ruby.h is not usable. 


Version-Release number of selected component (if applicable):
2.26.0-7

How reproducible:
Always

Steps to Reproduce:
1. Make sure to have both ruby-devel.ppc and ruby-devel.ppc64 installed (with ruby-libs dependency)
2. Rebuild srpm. 

  
Actual results:

Rebuild fails with:

Processing files: graphviz-ruby-2.26.0-7.el6.ppc64
error: File not found by glob: /usr/src/redhat/BUILDROOT/graphviz-2.26.0-7.el6.ppc64/usr/lib64/*ruby*/*             
error: File not found by glob: /usr/src/redhat/BUILDROOT/graphviz-2.26.0-7.el6.ppc64/usr/share/man/man3/gv.3ruby*

Expected results:
Graphviz package rebuild succeeded.

Comment 2 RHEL Program Management 2011-07-08 13:18:25 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support
representative.

Comment 3 Jaroslav Škarvada 2011-07-10 21:51:36 UTC
This is not only ppc64 issue, I also reproduced this on x86_64.

Comment 4 Jaroslav Škarvada 2011-07-10 22:01:02 UTC
The problem seems to be in ruby, because on multilib it prefers reading rbconfig from lib. I think it should prefer reading rbconfig from lib64.

Reproducer:
# yum install ruby-devel.x86_64 ruby-devel.i686 ruby-libs.x86_64 ruby-libs.i686
# ruby -e "require 'rbconfig';puts Config::expand(Config::MAKEFILE_CONFIG['libdir'])"
/usr/lib

I think it should return /usr/lib64 by default as with:
# RUBYLIB=/usr/lib64/ruby/1.8:/usr/lib/ruby/1.8 ruby -e "require 'rbconfig';puts Config::expand(Config::MAKEFILE_CONFIG['libdir'])"
/usr/lib64

CCing ruby maintainer to get his opinion.

Comment 5 Jaroslav Škarvada 2011-07-10 22:04:19 UTC
Created attachment 512116 [details]
Proposed graphviz fix

We can also workaround this in graphviz. It is not clean solution, but it works.

Experimental scratch build is also available:
http://brewweb.devel.redhat.com/brew/taskinfo?taskID=3476122

Comment 6 Jaroslav Škarvada 2011-07-11 07:31:03 UTC
After consultation with Vit Ondruch (ruby maintainer) closing this as dupe of 674787. It will be fixed in ruby - it is approved component.

*** This bug has been marked as a duplicate of bug 674787 ***