Dear Drs. Soliday and Yao,
Recently I had a parallel version of ELEGANT installed on local machines (compiling from source codes). After overcoming some installation issues, now PELEGANT can run successfully. However, I met an error message when using smoothDist6s under this installation; let me copy the message below:
-----
Error5: unknown keyword/value given: 1.2
Error (sddshist): invalid -majorOrder syntax/values
Error for sddssmooth:
Unable to read layout--no header lines found (SDDS_ReadLayout)
Error for sddsprocess:
Unable to read layout--no header lines found (SDDS_ReadLayout)
-----
Using this smoothDist6s (or, specialized tools) in another situation (with prebuilt rpm downloaded from the website) has no problem and works perfectly. I have no idea where goes wrong with this situation/installation; could you help resolve this issue or suggest some specific diagnostic steps for me? I am new to linux environment; just let me know if I can provide you for further information. Thank you very much for the help!
Best regards,
Cheng-Ying
ps. the OS is CentOS 64 bit
problem of Unable to read layout--no header lines found
Re: problem of Unable to read layout--no header lines found
You uncovered a bug in sddshist. The -expand and -majorOrder options got swapped. I am fixing it in our source code, but if you have your own copy, edit extensions/src/SDDS/sddshist.c and change line 109 so that "expand" comes before "majorOrder" and not the reverse like it is now.
Re: problem of Unable to read layout--no header lines found
Dear Dr. Soliday,
I tried what you suggested; the previous error message disappeared. Instead, it shows
couldn't execute "sddsanalyzebeam": no such file or directory
When looking into oag/apps/src/elegant/elegantTools/ directory, I found sddsanalyzebeam.c. What does it mean?
Just to make sure: is the file sddshist.c in extensions/src/SDDS/sddshist.c? I found it in extensions/src/SDDS/SDDSaps/sddshist.c, so I modified the file in the SDDSaps directory. I feel this may almost be resolved.
Thank you very much for the help!
Cheng-Ying
I tried what you suggested; the previous error message disappeared. Instead, it shows
couldn't execute "sddsanalyzebeam": no such file or directory
When looking into oag/apps/src/elegant/elegantTools/ directory, I found sddsanalyzebeam.c. What does it mean?
Just to make sure: is the file sddshist.c in extensions/src/SDDS/sddshist.c? I found it in extensions/src/SDDS/SDDSaps/sddshist.c, so I modified the file in the SDDSaps directory. I feel this may almost be resolved.
Thank you very much for the help!
Cheng-Ying
Re: problem of Unable to read layout--no header lines found
It means that you probably didn't compile the code in the elegantTools directory. Go to that directory and run "make" and it should create the O.linux-x64_64 subdirectory containing various programs including sddsanalyzebeam. It will also be copied over to the oag/apps/bin/linux-x86_64 directory.
Re: problem of Unable to read layout--no header lines found
Dear Dr. Soliday,
Thanks for your quick reply.
I just run "make" under the oag/apps/src/elegant/elegantTools directory and it does create O.linux-x86_64 under the same directory and those programs found at the oag/apps/bin/linux-x86_64 directory. However, the same error message shows:
couldn't execute "sddsanalyzebeam": no such file or directory
Is it possibly due to missing some path variable setting? because when using like smoothDist6s I need to type in command line "/home/jcytsai/pelegant/oag/apps/src/elegant/elegantTools/smoothDist6s", otherwise it would show the information like (if I just type "smoothDist6s")
smoothDist6s: Command not found
I just checked Installation Guide (http://www.aps.anl.gov/Accelerator_Syst ... node2.html) and, according to the guide, current instllation only has the following environment variables and path set:
set path=(/home/jcytsai/pelegant/epics/extensions/bin/linux-x86_64 $path)
set path=(/home/jcytsai/pelegant/epics/base/bin/linux-x86_64 $path)
set path=(/usr/mpi/gcc/mvapich2-1.8/bin $path)
set path=(. $path)
setenv HOST_ARCH linux-x86_64
setenv EPICS_HOST_ARCH linux-x86_64
setenv RPN_DEFNS /home/jcytsai/pelegant/defns.rpn
Thanks again for your kind help!
Cheng-Ying
Thanks for your quick reply.
I just run "make" under the oag/apps/src/elegant/elegantTools directory and it does create O.linux-x86_64 under the same directory and those programs found at the oag/apps/bin/linux-x86_64 directory. However, the same error message shows:
couldn't execute "sddsanalyzebeam": no such file or directory
Is it possibly due to missing some path variable setting? because when using like smoothDist6s I need to type in command line "/home/jcytsai/pelegant/oag/apps/src/elegant/elegantTools/smoothDist6s", otherwise it would show the information like (if I just type "smoothDist6s")
smoothDist6s: Command not found
I just checked Installation Guide (http://www.aps.anl.gov/Accelerator_Syst ... node2.html) and, according to the guide, current instllation only has the following environment variables and path set:
set path=(/home/jcytsai/pelegant/epics/extensions/bin/linux-x86_64 $path)
set path=(/home/jcytsai/pelegant/epics/base/bin/linux-x86_64 $path)
set path=(/usr/mpi/gcc/mvapich2-1.8/bin $path)
set path=(. $path)
setenv HOST_ARCH linux-x86_64
setenv EPICS_HOST_ARCH linux-x86_64
setenv RPN_DEFNS /home/jcytsai/pelegant/defns.rpn
Thanks again for your kind help!
Cheng-Ying
Re: problem of Unable to read layout--no header lines found
Yes, it has to be in your PATH environment variable or you will not be able to execute it without using the full path name. I figured since it goes in the same oag/apps/bin/linux-x86_64 directory that elegant goes to, that you already had it in your path.
Re: problem of Unable to read layout--no header lines found
Dear Dr. Soliday,
After adding oag/apps/bin/linux-x86_64 into the PATH, it is working now.
Thanks for your quick reply and very helpful information!
Cheng-Ying
After adding oag/apps/bin/linux-x86_64 into the PATH, it is working now.
Thanks for your quick reply and very helpful information!
Cheng-Ying