Bug 734053

Summary: ibdiagui failed because of ibis wrong tk dependency
Product: Red Hat Enterprise Linux 6 Reporter: Honggang LI <honli>
Component: ibutilsAssignee: Doug Ledford <dledford>
Status: CLOSED NOTABUG QA Contact: Infiniband QE <infiniband-qe>
Severity: low Docs Contact:
Priority: low    
Version: 6.2   
Target Milestone: rc   
Target Release: 6.3   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-08-31 18:47:20 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Honggang LI 2011-08-29 10:42:40 UTC
Description of problem:

ibdiagui depend on tk-8.4, while there is only tk-8.5 available on the system.

[root@rdma4 ~]# ibdiagui 
Loading IBDIAGUI from: /usr/lib64/ibdiagui1.5.7
Loading IBDM from: /usr/lib64/ibdm1.5.7
-W- Topology file is not specified.
    Reports regarding cluster links will use direct routes.
-W- A few ports of local device are up.
    Since port-num was not specified (-p option), port 1 of device 1 will be
    used as the local port.
-E- ibdiagui depends on a Tk installation
    Please download and install tk8.4
    Error: no display name and no $DISPLAY environment variable


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


How reproducible:


Steps to Reproduce:
1. login as root, and issue the command ibdiagui
2.
3.
  
Actual results:
The command failed with following error message:
[root@rdma4 ~]# ibdiagui 
Loading IBDIAGUI from: /usr/lib64/ibdiagui1.5.7
Loading IBDM from: /usr/lib64/ibdm1.5.7
-W- Topology file is not specified.
    Reports regarding cluster links will use direct routes.
-W- A few ports of local device are up.
    Since port-num was not specified (-p option), port 1 of device 1 will be
    used as the local port.
-E- ibdiagui depends on a Tk installation
    Please download and install tk8.4
    Error: no display name and no $DISPLAY environment variable


Expected results:
Bring up the GUI interface.

Additional info:
[lhg@lihg ~]$ ssh -X root.eng.bos.redhat.com
root.eng.bos.redhat.com's password: 
Last login: Mon Aug 29 06:26:49 2011 from rdma3.rhts.eng.bos.redhat.com
**  **  **  **  **  **  **  **  **  **  **  **  **  **  **  **  **  **
                 This System is reserved by honli.

 To return this system early. You can run the command: return2beaker.sh
  Ensure you have your logs off the system before returning to Beaker

 To extend your reservation time. You can run the command:
  extendtesttime.sh
 This is an interactive script. You will be prompted for how many
  hours you would like to extend the reservation.
  Please use this command responsibly, Everyone uses these machines.

 You should verify the watchdog was updated succesfully after
  you extend your reservation.
  https://beaker.engineering.redhat.com/recipes/256940

 For ssh, kvm, serial and power control operations please look here:
  https://beaker.engineering.redhat.com/view/rdma4.rhts.eng.bos.redhat.com

      Beaker Test information:
                         HOSTNAME=rdma4.rhts.eng.bos.redhat.com
                            JOBID=124828
                         RECIPEID=256940
                    RESULT_SERVER=127.0.0.1:7095
                           DISTRO=RHEL6.2-20110822.5
                     ARCHITECTURE=x86_64
**  **  **  **  **  **  **  **  **  **  **  **  **  **  **  **  **  **   
[root@rdma4 ~]# ibdiagui 
Loading IBDIAGUI from: /usr/lib64/ibdiagui1.5.7
Loading IBDM from: /usr/lib64/ibdm1.5.7
-W- Topology file is not specified.
    Reports regarding cluster links will use direct routes.
-W- A few ports of local device are up.
    Since port-num was not specified (-p option), port 1 of device 1 will be
    used as the local port.
-E- ibdiagui depends on a Tk installation
    Please download and install tk8.4
    Error: no display name and no $DISPLAY environment variable
[root@rdma4 ~]# which ibdiagui
/usr/bin/ibdiagui
[root@rdma4 ~]# file /usr/bin/ibdiagui
/usr/bin/ibdiagui: POSIX shell script text executable
[root@rdma4 ~]# cat /usr/bin/ibdiagui
#!/bin/sh -f

export TCLLIBPATH="none /usr/lib64 /usr/lib64 /usr/lib64"; \
export TK_LIBRARY="/usr/lib64"; \
export PATH="none":"/usr/bin":$PATH; \
exec ibis "$@" <<EOF

set argv0 ibdiagui
package require ibdiagui

EOF
[root@rdma4 ~]# which ibis
/usr/bin/ibis
[root@rdma4 ~]# file /usr/bin/ibis
/usr/bin/ibis: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
[root@rdma4 ~]# ldd /usr/bin/ibis
	linux-vdso.so.1 =>  (0x00007fff153ff000)
	libopensm.so.4 => /usr/lib64/libopensm.so.4 (0x0000003155e00000)
	libosmvendor.so.3 => /usr/lib64/libosmvendor.so.3 (0x0000003156a00000)
	libosmcomp.so.3 => /usr/lib64/libosmcomp.so.3 (0x0000003155200000)
	libibumad.so.3 => /usr/lib64/libibumad.so.3 (0x0000003155600000)
	libtcl8.5.so => /usr/lib64/libtcl8.5.so (0x0000003156200000)
	libdl.so.2 => /lib64/libdl.so.2 (0x0000003154200000)
	libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003156600000)
	libm.so.6 => /lib64/libm.so.6 (0x0000003154e00000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003155a00000)
	libc.so.6 => /lib64/libc.so.6 (0x0000003154600000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003154a00000)
	/lib64/ld-linux-x86-64.so.2 (0x0000003153e00000)
[root@rdma4 ~]# rpm -qf /usr/bin/ibis
ibutils-1.5.7-2.el6.x86_64
[root@rdma4 ~]# rpm -qa | grep -i tk-8
tk-8.5.7-5.el6.x86_64

Comment 2 Doug Ledford 2011-08-31 18:47:20 UTC
The error message is misleading.  The ibutils package will work just fine with the later tk package.  However, the last error message, the one about no DISPLAY, is the real error.  If you run ibdiagui with a valid DISPLAY environment variable that points to a running X server, then it works fine.

Comment 3 Honggang LI 2011-09-01 03:45:45 UTC
Sorry, I was not aware of the remote host without xorg-x11-server-*.rpm been installed. I think it is necessary to add a package dependency for ibutils. As 

https://bugzilla.redhat.com/show_bug.cgi?id=468122 

said. I hit this bug again while I was confirming ibdiagui on RHEL-6.2 x86_64.

-------------------------------------------------------------------
[root@rdma3 ~]# ibdiagui 
Loading IBDIAGUI from: /usr/lib64/ibdiagui1.5.7
Loading IBDM from: /usr/lib64/ibdm1.5.7
-W- Topology file is not specified.
    Reports regarding cluster links will use direct routes.
-W- A few ports of local device are up.
    Since port-num was not specified (-p option), port 1 of device 1 will be
    used as the local port.
-E- ibdiagui depends on a Tcldot installation
    Please download and install Graphviz
    Error: can't find package Tcldot
[root@rdma3 ~]# rpm -qa | grep -i Graphviz
graphviz-2.26.0-7.el6.x86_64



yum install graphviz-tcl is the cure.



[root@rdma3 ~]# ibdiagui 
Loading IBDIAGUI from: /usr/lib64/ibdiagui1.5.7
Loading IBDM from: /usr/lib64/ibdm1.5.7
-W- Topology file is not specified.
    Reports regarding cluster links will use direct routes.
-W- A few ports of local device are up.
    Since port-num was not specified (-p option), port 1 of device 1 will be
    used as the local port.
-I- Found 0 errors 0 warnings 0 infos
-I- Found 0 names 0 LIDS 0 GUIDs 0 Directed-Routes
-I- Found 2 errors 7 warnings 33 infos
-I- Found 2 names 1 LIDS 8 GUIDs 5 Directed-Routes
-I- Parsing subnet lst: /tmp/ibdiagnet.lst
-I- Parsing Subnet file:/tmp/ibdiagnet.lst
-W- Disconnecting system port back: localhost-/U2/P1 previously connected to:S0002c9010bec6970-/U1/P6 while connecting:S0002c9010bec6970-/U1/P11
-W- Disconnecting: localhost/U2/P1 previously connected to:S0002c9010bec6970/U1/P6 while connecting:S0002c9010bec6970/U1/P11
-I- Defined 8/8 systems/nodes 
-I- Marked 0 systems 8 nodes 14 ports