Number: 2172
Title: WebDot Error: can't find package Tcldot
Submitter: Tao Chang
Date: Mon Apr 18 10:26:05 2011
Subsys: Dot
Version: 2.26.3
System: x86-Linux-CentOS x86_64
Severity: major
Problem:
Installed tcl, tcl-devel, tk, tk-devel through yum, and also yum installed graphviz packages and webdot through yum. When load the dot image in browser, got

WebDot Error: can't find package Tcldot.
Add
/usr/lib64/graphviz
/usr/lib64/graphviz/tcl
into ld.so.conf, got the same error.

Download and install from source code graphviz-2.26.3.tar.gz and webdot-2.26.tar.gz, end up with the same error.
Comments:
[ellson] Did you install the graphviz-tcl rpm ?

If you install webdot from rpms it should pull it in automatically.

[tao] Yes, I installed graphviz-tcl. Here is the command I used to install the package:

yum install graphviz graphviz-devel graphviz-doc graphviz-gd raphviz-graphs graphviz-perl graphviz-tcl perl-GraphViz webdot

The same installation worked in CentOS 5.5 x86 version, but not work in CentOS5.5 x86_64 version. I think some library is not compatible with 64 bit OS. Even if I manually compiled graphviz and webdot from source code, I got the same error.

[ellson] I run of 64bits all the time. I assume you installed the x86_64 rpms?

I may have complicated things by updating the library API versions yesterday.

Could you try this: Remove all graphviz* rpms, remove any other graphviz installs that maybe in your PATH or LD_LIBRARY_PATH, install fresh rpms from today's snapshot.

[tao] I have tried again as you suggested on a new built CentOS 5.6 64bits system with latest updates, but got the same error as before when view the dot image in browser.

The command used for graphviz installation is:

yum --enablerepo=graphviz-snapshot install graphviz graphviz-devel graphviz-doc graphviz-gd graphviz-graphs graphviz-tcl webdot.noarch perl-GraphViz.noarch

All rpms and dependencies are installed with no problems. Versions installed are:


graphviz        x86_64    2.27.20110419.0445-1.el5    graphviz-snapshot     2.0 M
graphviz-devel  x86_64    2.27.20110419.0445-1.el5    graphviz-snapshot     73 k
graphviz-doc    x86_64    2.27.20110419.0445-1.el5    graphviz-snapshot     3.2 M
graphviz-gd     x86_64    2.27.20110419.0445-1.el5    graphviz-snapshot     118 k
graphviz-graphs x86_64    2.27.20110419.0445-1.el5    graphviz-snapshot     4.3 M
graphviz-tcl    x86_64    2.27.20110419.0445-1.el5    graphviz-snapshot     947 k
webdot          noarch    2.27.20110419.0435-1.el5    graphviz-snapshot     86 k

BTW, there is duplicated "/usr/bin/tclsh" in second line in /var/www/cgi-bin/webdot.

[ellson] I don't know why this doesn't work.

The rpm (in webdot.spec) is supposed to discover where the tcldot extension is located by using: %define libtcldot %(rpm -ql graphviz-tcl | grep '/libtcldot.so.0.0.0$')

and then insert it into the webdot script in the second line: set LIBTCLDOT "%{libtcldot}"

I suggest, as a work-around, until I can think of a replacement mechanism, that you apply the above fix manually.

[tao] Yes, it works after I set LIBTCLDOT "/usr/lib64/graphviz/tcl/libtcldot.so.0.0.0" in webdot.
Owner: ellson
Status: *