Older versions of HKL-2000

Current Versions:

Linux HKL2000_712-Linux
MAC OS X (Intel) HKL2000_712-Mac
MAC OS X (Power PC) HKL2000_MAC_692i
SGI HKL2000_sgi_ver_0.98.695b
OSF HKL2000_osf_ver_0.97.647d

Downloading and unpacking HKL-2000 executable files

You may download the HKL-2000 program executables from our ftp server hkl.hkl-xray.com. You may use a web browser by clicking the link below and logging in as user hkl2000ftp:


You may also use a graphical ftp application, or use the command "ftp" from a terminal window (to open a terminal window in MAC OS X, open the Finder's Go menu, choose Applications, then choose Utilities and select Terminal). Ftp should use the passive option.

ftp -p hkl.hkl-xray.com

login: hkl2000ftp


The password can be obtained through the automatic password system (established users only) or by contacting us via e-mail.

Please note that the HKL-2000 executables are in hkl2000ftp, not in hklftp.

If you have successfully connected to our server you may type:

ftp> ls

which will list directories, named by the version number. In each ver70## directory there is a file anom.dat and the following sub-directories:

> HKL2000_70#-Linux-i386.tar.gz
> HKL2000_70#-Linux-x86_64.tar.gz

> HKL2000_70#-Mac.zip

Download the anom.dat file and the xxx.tar.gz file specific to your operating system. Each xxx.tar.gz file contains compressed and "tarred" executables for the corresponding operating system, while individual_programs directory contains individual executables - not tarred and not compressed. Remember that you have to use binary mode to transfer these files.

To download the appropriate file, e.g. HKL2000_706-Linux-x86_64.tar.gz use the get command. For example:

> get HKL2000_706-Linux-x86_64.tar.gz

After you've transferred the files, you have to uncompress and 'untar' them using the command:

> tar -zxvf [filename].tar.gz

for example:

> tar -zxvf HKL2000_706-Linux-x86_64.tar.gz

Versions for SGI and Mac (Power PC), as well as older versions for Linux and Mac (Intel processor) are in the directory "archives." The files are in the tar.Z format and require uncompressing  and 'untarring' , for example:

         > uncompress HKL2000_Linux_ver_0.98.###.tar.Z

         > tar -xvf  HKL2000_Linux_ver_0.98.###.tar

You should have all the programs' executables now. 


Installing HKL-2000

Typically the executables are placed in the directory:


(requires system administrator privileges). You can also place the executables in an arbitrary directory, for instance


In that case, you have to set the environmental variable HKLPATH to that directory. The exact command will depend on the shell you are using to run the programs (this can be determined by typing echo $SHELL). For the tcshell and the example above, the command is:

setenv HKLPATH /home/joed/programs/hkl

For the bash shell and the example above, the command is:

export HKLPATH=/home/joed/programs/hkl

HKL-2000 also requires a directory hklint for site files. Its default location is:


(accessing it requires system privileges), but it it can be changed to an arbitrary location, by setting the environmental variable HKLDIR. For example:

setenv HKLDIR /home/joed/programs/hklint  (for tcshell)

export HKLDIR=/home/joed/programs/hklint  (for bash)

The anom.dat file should be placed in this directory together with subdirectories containing the site files. The site file (def.site) of each detector/goniostat system (home or synchrotron) should be stored in its own sub-directory. Each such directory should be appropriately named to easily identify the specific facility and the detector.



You can check how the environmental variables were set by typing the command:

env | grep HKL

To keep the values of the HKL environmental variables for subsequent logins, you should modify the configuration files for the shell you are using (~/.tcshrc, ~/.cshrc, or ~./bashrc).


License key

Additionally the license key file, cr_info, needs to be present in the /usr/local/lib directory in order for the HKL-2000 programs to run. One cr_info file may contain information about many computers and detectors. The program looks through the cr_info file for the right combination of fields that matches the given detector family and computer information. Other fields are ignored.

To obtain the license key, you need to execute the "access_prod" program on each machine that you plan to use for running any of the HKL-2000 programs. Executing access_prod results in the following dialog (example answers in red):

  • enter the name of your institution: State University
  • enter the name of PI: John Doe
  • enter the name of person responsible for HKL maintenance: Jane Doe
  • enter names of all frame formats (detectors) you want to use: mar345 raxis4
  • enter the number of detectors in your lab which are currently supported by HKL package: 2
  • enter the name of company from which you received your license: HKL Research, Inc.
  • enter HKL version number: HKL-2000_706
  • if this is temporary license, enter the number of days you request, for permanent license enter 'noexpir': noexpir
  • do you want to send automatically e-mail to hkl@hkl-xray.com in order to activate your license (y) ? n

    If the answer is y (yes), the access_prod program may automatically send an e-mail with a request for an access file: cr_info. It does not always work, though. If the answer is n (no) the program will produce the following info file. You may save the info file and  'manually' send it to hkl@hkl-xray.com.


  • Do not edit or alter the info file - it is processed automatically after verification.
  • Do not send info files in the compressed form.
  • Note that the access_prod program does not work properly if the set-up of the computer operating system is not consistent.


The example of an info file created by the access_prod program is given below (comments in italic):

HOST-NAME: p4.med.state.edu (extracted by the program - do not edit!)
NOTE: the field is limited in length to 30 characters
HOST-ID: -2035379618 (extracted by the program - do not edit!)
HOSTNAM: state.edu (extracted by the program - do not edit!)
HW_PROV: linux (extracted by the program - do not edit!)
CPU-SERIAL: linux,eth1,001762854231 (extracted by the program - do not edit!)
INSTITUTION: State University Licensee's Institution name
PI: John Doe Principal Investigator or Group Leader
CONTACT: Jane Doe Contact Person
DETECTORS: mar345 raxis4 Detector Format Families
NO-OF-DET: 2 Number of Detectors at Home Laboratory
PROVIDER: HKL License Provider: Rigaku Americas Corporation, HKL Research, etc
VERSION: HKL-2000_704y Requested Version of the Program
EXPIR: noexpir  


The following are detector families that may be used in the above "questionnaire":

  • raxis2 - RAXIS-II
  • raxis4 - RAXIS-IV, -IV++
  • raxis5 - RAXIS-V
  • mar345 - MAR345 detector

This is just a partial list. You may just simply write a description of the detector format, for example: Pilatus 6M, ADSC Q315, etc.

Starting HKL-2000

After you have installed HKL-2000 and placed the license key file, cr_info, in /usr/local/lib directory, the program can be started from a terminal window by typing:


If you receive an error message "no display name and no $DISPLAY environment variable", it means that the X windows system is not working or not configured properly. On Mac OS X, you need to start the X11 application (from the Finder's Go menu, choose Applications, then choose Utilities and select X11). You should see the X11 icon in the dock, double click on it to open an xterm window and start HKL2000 from this window. 

If you receive an error message "Command not found", it means that HKLPATH is not in the executable command search path. Modify the environmental variable PATH or type a full path e.g. /usr/local/bin/HKL2000.

Note 1: Access File
To obtain the access file, cr_info, please see Access Key for details.

Note 2: Site files for synchrotron detectors
A Site file (def.site) for the synchrotron beam lines can be obtained from the beam line support staff.