ecl and cl not found on path
HenryL wrote on Jun 03, 2008
Good to see you still going strong Mike.
I'm doing a new installation of 2.14 on an ubuntu 8.04 64 bit desktop system.
It's my first install of 2.14.
At my age I have probably got something wrong that is really simple, but here goes.
/myplace/iraf/> cl
/iraf/iraf/bin.linux/ecl.e: Command not found.
I've checked for the link;
/iraf/iraf/bin.linux -> /iraf/irafbin/bin.linux
Yet, if I take a look;
> ls -al /iraf/irafbin/bin.linux
1137 -rwxr-xr-x 1 iraf iraf 1159588 2008-01-14 16:24 /iraf/irafbin/bin.linux/cl.e*
1301 -rwxr-xr-x 1 iraf iraf 1328364 2008-01-14 16:24 /iraf/irafbin/bin.linux/ecl.e*
I've checked permissions and ownership all the way up the line. All is owned by iraf:iraf and there is execute permission for the binaries.
I've run 'install' a couple of extra times, and find no errors.
Thanks loads for any help you can give me.
I'm doing a new installation of 2.14 on an ubuntu 8.04 64 bit desktop system.
It's my first install of 2.14.
At my age I have probably got something wrong that is really simple, but here goes.
/myplace/iraf/> cl
/iraf/iraf/bin.linux/ecl.e: Command not found.
I've checked for the link;
/iraf/iraf/bin.linux -> /iraf/irafbin/bin.linux
Yet, if I take a look;
> ls -al /iraf/irafbin/bin.linux
1137 -rwxr-xr-x 1 iraf iraf 1159588 2008-01-14 16:24 /iraf/irafbin/bin.linux/cl.e*
1301 -rwxr-xr-x 1 iraf iraf 1328364 2008-01-14 16:24 /iraf/irafbin/bin.linux/ecl.e*
I've checked permissions and ownership all the way up the line. All is owned by iraf:iraf and there is execute permission for the binaries.
I've run 'install' a couple of extra times, and find no errors.
Thanks loads for any help you can give me.
Mike Fitzpatrick wrote on Jun 03, 2008
HI Henry,
Good to hear from you again.
What happens if you try running the /iraf/iraf/bin.linux/ecl.e file directly? A 'command not found' usually indicates the command isn't in your path, but it can also happen when e.g. a symlink to a command file isn't valid, there's a permissions problems further up in the path (e.g. is /iraf world readable, etc), or the command cannot be executed for some reason.
You might also try starting as "cl -old" to fire up the old CL to see if that works. If it does, the problem may just be limited to the ECL binary and if so I'd suspect it's because of a missing termcap/ncurses library (e.g. does "ldd /iraf/iraf/bin.linux/ecl.e" show anything missing?). You can workaround the last problem by getting a static binary from http://iraf.net/ftp/pub/fitz/ecl.e and just replace the binary you have after making it executable. Hope this helps.
Cheers,
-Mike
Good to hear from you again.
What happens if you try running the /iraf/iraf/bin.linux/ecl.e file directly? A 'command not found' usually indicates the command isn't in your path, but it can also happen when e.g. a symlink to a command file isn't valid, there's a permissions problems further up in the path (e.g. is /iraf world readable, etc), or the command cannot be executed for some reason.
You might also try starting as "cl -old" to fire up the old CL to see if that works. If it does, the problem may just be limited to the ECL binary and if so I'd suspect it's because of a missing termcap/ncurses library (e.g. does "ldd /iraf/iraf/bin.linux/ecl.e" show anything missing?). You can workaround the last problem by getting a static binary from http://iraf.net/ftp/pub/fitz/ecl.e and just replace the binary you have after making it executable. Hope this helps.
Cheers,
-Mike
HenryL wrote on Jun 03, 2008
I recalled this morning that I had a problem like this on another 64 bit installation while trying to run some 32 bit applications.
Running the wonderful 'ldd' command did the trick.
For thos who don't know, this command gives the library dependencies of an executable.
> ldd /iraf/iraf/bin.linux/ecl.e
shows us
linux-gate.so.1 => (0xffffe000)
libncurses.so.5 => /lib32/libncurses.so.5 (0xf7eb8000)
libm.so.6 => /lib32/libm.so.6 (0xf7e93000)
libc.so.6 => /lib32/libc.so.6 (0xf7d43000)
/lib/ld-linux.so.2 (0xf7ef5000)
This gave me the clue that I was missing some 32 bit libraries.
It turns out that on ubuntu, we only have to load up the package 'lib32ncurses5'. This also loads another 32 bit c library.
I believe that I have seen other 64/32 bit postings. I suspect that we may not have loaded every 32 bit library we will need, but so far so good.
[edit]
We found further problems for those using 'xgterm' and 'ds9'.
For these we needed the following ubuntu packages installed:
libx11-dev
ia32-libs
Cheers.
Running the wonderful 'ldd' command did the trick.
For thos who don't know, this command gives the library dependencies of an executable.
> ldd /iraf/iraf/bin.linux/ecl.e
shows us
linux-gate.so.1 => (0xffffe000)
libncurses.so.5 => /lib32/libncurses.so.5 (0xf7eb8000)
libm.so.6 => /lib32/libm.so.6 (0xf7e93000)
libc.so.6 => /lib32/libc.so.6 (0xf7d43000)
/lib/ld-linux.so.2 (0xf7ef5000)
This gave me the clue that I was missing some 32 bit libraries.
It turns out that on ubuntu, we only have to load up the package 'lib32ncurses5'. This also loads another 32 bit c library.
I believe that I have seen other 64/32 bit postings. I suspect that we may not have loaded every 32 bit library we will need, but so far so good.
[edit]
We found further problems for those using 'xgterm' and 'ds9'.
For these we needed the following ubuntu packages installed:
libx11-dev
ia32-libs
Cheers.
al374 wrote on Jun 03, 2008
Hi my name is alec, and I'm trying to load IRAF on Ubuntu and I believe i have the exact same problem. I'm wondering how you searched for and loaded the extra libraries and files needed to run the cl command, ds9 and xgterm
When I type the command
ldd /iraf/iraf/bin.linux/ecl.e
It tells me..
"not a dynamic executable"
-Thanks for your help
When I type the command
ldd /iraf/iraf/bin.linux/ecl.e
It tells me..
"not a dynamic executable"
-Thanks for your help
Mike Fitzpatrick wrote on Jun 03, 2008
The 'not a dynamic executable' simply means the binary is linked statically, which it should be. If you go to the $iraf/bin.linux directory and try executing the 'ecl.e' file (e.g. with "./ecl.e") it should either start or give you an error message of some kind (post that)).
If what you're generally seeing is a 'command not found' message then check your path definition in your .cshrc or .bashrc file to be sure it includes the directory where you installed the iraf commands (typically /usr/local/bin). If you're seeing the message as in the original post where the 'cl' command is found but the binary isn't, then there may be something wrong in the way the distribution files were unpacked (i.e. check the $iraf/bin.linux directory to be sure there is something there).
-Mike
If what you're generally seeing is a 'command not found' message then check your path definition in your .cshrc or .bashrc file to be sure it includes the directory where you installed the iraf commands (typically /usr/local/bin). If you're seeing the message as in the original post where the 'cl' command is found but the binary isn't, then there may be something wrong in the way the distribution files were unpacked (i.e. check the $iraf/bin.linux directory to be sure there is something there).
-Mike
al374 wrote on Jun 03, 2008
when I try to execute ecl.e or the cl.e I get
bash: ./ecl.e: No such file or directory
bash: ./cl.e: No such file or directory
Which doesn't make sense, because I can us "ls" and see them there. But is a cshell it says command not found for both.
When I check my path echo $PATH
usr/local/bin is in it.
How exactly do I access my bashrc file?
bash: ./ecl.e: No such file or directory
bash: ./cl.e: No such file or directory
Which doesn't make sense, because I can us "ls" and see them there. But is a cshell it says command not found for both.
When I check my path echo $PATH
usr/local/bin is in it.
How exactly do I access my bashrc file?
al374 wrote on Jun 03, 2008
I found my bashrc file, and I pulled it up in gedit.
I don't see anywhere on it usr/local/bin.
Where would I edit it in?
I don't see anywhere on it usr/local/bin.
Where would I edit it in?
Mike Fitzpatrick wrote on Jun 03, 2008
The PATH may be set in your .profile file (in your unix login directory), but the 'no such file' doesn't make sense. Is it only the ecl/cl binaries you cannot execute, or can you do e.g. "./x_system.e" to start it up (you should see a '>' prompt, type 'bye' to quit it)? Does an "ls -l ecl.e" show the file is executable and not zero-length?
al374 wrote on Jun 03, 2008
x_system.e gives the same error message. (in bash, no file or directory, and in csh no command found)
typing ls -l ecl.e shows
-rwx--x--x 1 359 users 2333921 2006-04-19 15:48 ecl.e
I altered my .profile from
# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:"${PATH}"
fi
TO
# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:/usr/local/bin:"${PATH}"
fi
Still no change though, same error
typing ls -l ecl.e shows
-rwx--x--x 1 359 users 2333921 2006-04-19 15:48 ecl.e
I altered my .profile from
# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:"${PATH}"
fi
TO
# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:/usr/local/bin:"${PATH}"
fi
Still no change though, same error
Mike Fitzpatrick wrote on Jun 03, 2008
What about the x_system.e binary? If you type the command "file ecl.e" does it show the binary as being an "ELF 32-bit LSB executable" or something else? Which version of IRAF is this, from the date on the binary I'm guessing v2.13????
-Mike
-Mike
al374 wrote on Jun 03, 2008
Its v2.14. (When I installed it, the documentation read for 2.14.)
file ecl.e shows
ecl.e: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
I am running on a 64 bit unbuntu computer. I don't know if that will make a difference or not.
file ecl.e shows
ecl.e: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
I am running on a 64 bit unbuntu computer. I don't know if that will make a difference or not.
Mike Fitzpatrick wrote on Jun 03, 2008
This means it is a dynamic executable and so we may be back to the original problem of the 32-bit libraries not being found. However, an earlier post said the 'ldd' command claimed it was not a dynamic executable, so I'm confused. Does ldd still say it's a static binary?
al374 wrote on Jun 03, 2008
The "ldd" command still says it is not a dynamic executable.
The thing is though, I don't have a /lib32, i have a /lib and /lib64.
I do have a /usr/lib32 which has in it
libfrtbegin.a libg2c.a libg2c.la libg2c.so
I don't know if that information is helpful or not.
Could the call path of ecl.e be looking for a /lib32 directory?
The thing is though, I don't have a /lib32, i have a /lib and /lib64.
I do have a /usr/lib32 which has in it
libfrtbegin.a libg2c.a libg2c.la libg2c.so
I don't know if that information is helpful or not.
Could the call path of ecl.e be looking for a /lib32 directory?
Mike Fitzpatrick wrote on Jun 03, 2008
Try getting the static binary from http://iraf.net/ftp/pub/fitz/ecl.e and install it instead. Even if it works, we'll need to be sure there aren't 32-bit issues with binaries like the x_system.e (which is why I ask).
al374 wrote on Jun 03, 2008
I moved the new ecl.e into iraf/iraf/bin.linux/ and reinstalled IRAF. There is no change.
Unless you have any other help. I feel like I might have loaded the binaries incorrectly or missed some type of step when installing. I'm going to go ahead and re-install the files for IRAF. I appreciate all your help.
Unless you have any other help. I feel like I might have loaded the binaries incorrectly or missed some type of step when installing. I'm going to go ahead and re-install the files for IRAF. I appreciate all your help.
Mike Fitzpatrick wrote on Jun 03, 2008
I'm about out of ideas at this point and don't have a system I can check against. If you haven't already seen it, you might also have a look at
http://mjhutchinson.com/journal/2006/11/05/install_iraf_on_ubuntu_edgy_amd64
or otherwise Google around for 'ubuntu iraf'
-Mike
http://mjhutchinson.com/journal/2006/11/05/install_iraf_on_ubuntu_edgy_amd64
or otherwise Google around for 'ubuntu iraf'
-Mike
Last post on Jun 03, 2008