[xcrysden] Error in xcInit.tcl

Yan Ren pemryan at gmail.com
Wed Dec 10 17:01:16 CET 2008


Dear all,

I downloaded a shared version of xcrysden (xc-1.5.17-linux_x86-shared.tar.gz) 
from the official website. After untargz and install, I met this error when 
executing xcrysden :

----------------
Running on platform: unix
Executing: /home/pem/XCrySDen-1.5.17-bin-shared/bin/ftnunit
./xcrysden: line 211: 22307 Aborted                 
${XCRYSDEN_TOPDIR}/bin/xcrys ${XCRYSDEN_TOPDIR}/Tcl/xcInit.tcl $USE -- 
$XCRYSDEN_TOPDIR $XCRYSDEN_SCRATCH $ARGS > /dev/null 
---------------

I looked up line 211 of xcrysden, and found it calls 
$XCRYSDEN_TOPDIR/Tcl/xcInit.tcl. So I tested with this command:

./${XCRYSDEN_TOPDIR}/bin/xcrys  ${XCRYSDEN_TOPDIR}/Tcl/xcInit.tcl

and the error info is:

Error in startup script: couldn't open "/images/xcrysden_kpath.gif": no such 
file or directory                           
    while executing                                                                                                      
"image create photo kpath -format gif \                                                                                  
    -file $system(TOPDIR)/images/xcrysden_kpath.gif"                                                                     
    (file "/home/pem/XCrySDen-1.5.17-bin-shared/Tcl/xcInit.tcl" line 478)    

where my $HOME=/home/pem. But /home/pem/images/xcrysden_kpath.gif  exists. 
Thus I tested this:

tclsh  $system(TOPDIR)

this gives such a result: 

% $system(TOPDIR)
can't read "system(TOPDIR)": no such variable

I googled and found this form : $::env(TOPDIR), and it works,
% $::env(TOPDIR)
invalid command name "/home/pem/XCrySDen-1.5.17-bin-shared"

So I replaced $system(TOPDIR) with $::env(TOPDIR)  in this file and tried to 
run xcrysden again. this time the error was:

ERROR: SCRATCH directory "" does not exist

I export $XCRYSDEN_SCRATCH=/home/pem/XCrySDen-1.5.17-bin-shared/ and tried 
again and found this error:

Error in startup script: no such variable                               
    (read trace on "::env(SCRDIR)")                                     
    invoked from within                                                 
"file isdirectory $::env(SCRDIR)"                                       
    invoked from within                                                 
"if { ![file isdirectory $::env(SCRDIR)] } {                            
        puts stderr "ERROR: SCRATCH directory \"$::env(SCRDIR)\" does not 
exist"
        exit 0                                                                  
    }"                                                                          
    ("eval" body line 5)                                                        
    invoked from within                                                         
"eval [info body xcInit]"        

... ...

My computer is running Arch linux current, the version of tcl and tk are 8.5.
I don't konw where is the problem and need your help.  Hope the info above 
helps. Thank you in advance.

--------------------------
pem 
pemryan at gmail.com





More information about the XCrySDen mailing list