[Ifeffit] Tk804.025_beta

Bruce Ravel ravel at phys.washington.edu
Wed Oct 15 10:06:38 CDT 2003

Hi everyone,

Guoqiang Pan has reported problems getting perl/Tk compiled and
installed on his Red Hat system.  Matt and Shelly both suggested that
the problem was an unset environment variable and they suggested a
solution.  Guoqiang has told me privately that the suggestion helped
and that he was then able to compile perl/Tk.  Yay!

He followed Matt's suggestion of using perl's CPAN interface for
installing perl Tk (i.e. do "perl -MPCAN -e shell" at the command
line, then "install Tk" at the cpan> prompt).  This is a fine way of
installing things, but Tk is a little bit different from most perl
modules in that it's purpose is to draw things on the screen using X

X windows has some quirks and Guoqiang ran into a common stumbling
block.  The installation using the CPAN interface was proceeding
properly until it got to the "make test" stage of the installation,
which is when a bunch of tests are run to verify that the modules were
built correctly.  Most of the tests involve drawing things on the
screen -- unsurprising since Tk is a GUI widget set.

If you are logged in as a normal user, then you, the normal user, own
the X windows process and only you or those to whom you have
specifically granted permission can draw on the screen.  Even root
cannot do so unless you allow it.  So, if you became root to run the
CPAN interface by typing the "su" comand or the "sudo" command, you
may not be able to successfully run the "make test" stage.

To allow the "make test" thing to work, you need to execute the
following command BEFORE becoming root and running CPAN:

    xhost + localhost

This allows any user logged into your computer to write to the screen
under X windows when you own the X windows process.  Thus, it should
also allow the "make test" stage to work.

Alternately, you can log out as a normal user and log back in as
root.  Then root will own the X windows process and the "make test"
stage of the CPAN installation or Tk should proceed without a problem.

The good news is that once you get Tk installed, you almost certainly
will not need to update it the next time that you update Athena and

The other good news (but not for Red Hat users apparently) is that
installing from an RPM sidesteps this whole issue.  I use SuSE (which
I have long prefered to Red Hat -- two thumbs up for German
engineering!) and its perl/Tk rpm works just fine.

Hope that helps,

 Bruce Ravel  ----------------------------------- ravel at phys.washington.edu
 Code 6134, Building 3, Room 222
 Naval Research Laboratory                          phone: (1) 202 767 5947
 Washington DC 20375, USA                             fax: (1) 202 767 1697

 NRL Synchrotron Radiation Consortium (NRL-SRC)
 Beamlines X11a, X11b, X23b
 National Synchrotron Light Source
 Brookhaven National Laboratory, Upton, NY 11973

 My homepage:    http://feff.phys.washington.edu/~ravel 
 EXAFS software: http://feff.phys.washington.edu/~ravel/software/exafs/

More information about the Ifeffit mailing list