Installing the new ECL
Guest wrote on Dec 22, 2005
Hi!
I just installed the latest IRAF release in a laptop under Suse 10.0 and
it works fine. However I tried to install the new ECL with the source tar
ball, and also with the linux and redhat installers as well. The
installers don't complain but when I try to run ecl I always get:
"/iraf/iraf/bin.suse/ecl.e: error while loading shared libraries:
libtermcap.so.2: cannot open shared object file: No such file or
directory"
Is there any solution? Or we can't still run the new ECL under SUSE?
Thanks!
Dimitri.
--
Dr. Dimitri Alexei Gadotti
Max Planck Institute for Astrophysics
Karl Schwarzschild Str., 1
85741 Garching bei Muenchen, Germany
Office: 228 - Phone: +49(0)89-30000.2216
http://www.mpa-garching.mpg.de/~dimitri/
Post generated using Mail2Forum (http://www.mail2forum.com)
I just installed the latest IRAF release in a laptop under Suse 10.0 and
it works fine. However I tried to install the new ECL with the source tar
ball, and also with the linux and redhat installers as well. The
installers don't complain but when I try to run ecl I always get:
"/iraf/iraf/bin.suse/ecl.e: error while loading shared libraries:
libtermcap.so.2: cannot open shared object file: No such file or
directory"
Is there any solution? Or we can't still run the new ECL under SUSE?
Thanks!
Dimitri.
--
Dr. Dimitri Alexei Gadotti
Max Planck Institute for Astrophysics
Karl Schwarzschild Str., 1
85741 Garching bei Muenchen, Germany
Office: 228 - Phone: +49(0)89-30000.2216
http://www.mpa-garching.mpg.de/~dimitri/
Post generated using Mail2Forum (http://www.mail2forum.com)
Emilliano Gregori wrote on Dec 22, 2005
Hello Dimitri,
I had the same problem installing IRAF on Debian (Sarge).
I installed the package "termcap-compat", which installs the libtermcap and the termcap database.
I guess you can install a similiar package with Yast, just search for termcap.
Emiliano.
I had the same problem installing IRAF on Debian (Sarge).
I installed the package "termcap-compat", which installs the libtermcap and the termcap database.
I guess you can install a similiar package with Yast, just search for termcap.
Emiliano.
Guest wrote on Dec 22, 2005
Hi Emiliano!
First of all, sorry for such a delay in my answer, but I didn't know that my email had been forwarded here!
I found a "termcap-compat" rpm file for an older version of SUSE, installed and... the ECL now works!
Thanks a lot!
Dimitri.
[Moderator's Note: A statically linked version of the linux ECL binary is available at http://iraf.net/ftp/pub/fitz/ecl.e, future releases will try to avoid requiring the termcap libs]
First of all, sorry for such a delay in my answer, but I didn't know that my email had been forwarded here!
I found a "termcap-compat" rpm file for an older version of SUSE, installed and... the ECL now works!
Thanks a lot!
Dimitri.
[Moderator's Note: A statically linked version of the linux ECL binary is available at http://iraf.net/ftp/pub/fitz/ecl.e, future releases will try to avoid requiring the termcap libs]
kwi wrote on Dec 22, 2005
Anonymous
Hi Emiliano!
First of all, sorry for such a delay in my answer, but I didn't know that my email had been forwarded here!
I found a "termcap-compat" rpm file for an older version of SUSE, installed and... the ECL now works!
Thanks a lot!
Dimitri.
[Moderator's Note: A statically linked version of the linux ECL binary is available at http://iraf.net/ftp/pub/fitz/ecl.e, future releases will try to avoid requiring the termcap libs]
termcap-compat is not available for Ubuntu, also the link above does not work. What to do..?
Thanks,
Kaj
Shashikiran Ganesh wrote on Dec 22, 2005
kwi
[Moderator's Note: A statically linked version of the linux ECL binary is available at http://iraf.net/ftp/pub/fitz/ecl.e, future releases will try to avoid requiring the termcap libs]
It says permission denied for http://iraf.net/ftp/pub/fitz/ecl.e
kwi
termcap-compat is not available for Ubuntu, also the link above does not work. What to do..?
Kaj
You could try to look for this from older ubuntu releases (The ones from ubuntu-breezy are reported to work on the latest ubuntu - dapper drake)
Shashi
Jacob Albretsen wrote on Dec 22, 2005
Moderator:
The link is bad (404) to the ecl.e binary above (the comma is in the URL) and when I take the comma out, I get a 403 error. I need this binary since I'm using Ubuntu. Thanks a ton.
- Jake
The link is bad (404) to the ecl.e binary above (the comma is in the URL) and when I take the comma out, I get a 403 error. I need this binary since I'm using Ubuntu. Thanks a ton.
- Jake
James Turner wrote on Dec 22, 2005
Hi everyone,
I get the same termcap error as above under Ubuntu 6.06. I downloaded the statically linked version of ecl referenced above and it seems to work, but first gives the following errors on startup:
Not sure yet whether this is likely to be a problem in practice.
Cheers,
James.
I get the same termcap error as above under Ubuntu 6.06. I downloaded the statically linked version of ecl referenced above and it seems to work, but first gives the following errors on startup:
prompt$ ecl
ERROR (501, "segmentation violation")
ERROR (501, "segmentation violation")
setting terminal type to xgterm...
Not sure yet whether this is likely to be a problem in practice.
Cheers,
James.
Jacob Albretsen wrote on Dec 22, 2005
Here's is the solution I figured out for Ubuntu 6.06 with a little help from phil. Make sure libncurses5-dev installed. Then in /usr/lib create the soft link:
ln -s libtermcap.so libtermcap.so.2
ln -s libtermcap.so libtermcap.so.2
James Turner wrote on Dec 22, 2005
Thanks for the hint, knine. That symbolic link seems a bit back to front from normal to me, though... I can't imagine it matters, but the following also works, without the need to install libncurses5-dev:
I put the link in /usr/local/lib, in which case LD_LIBRARY_PATH has to include that directory.
Anyway, now it works, thanks ;-).
Cheers,
James.
ln -s /lib/libncurses.so.5 libtermcap.so.2I put the link in /usr/local/lib, in which case LD_LIBRARY_PATH has to include that directory.
Anyway, now it works, thanks ;-).
Cheers,
James.
James Turner wrote on Dec 22, 2005
Following on from the 2 posts above, I was trying to figure out how to keep the libtermcap.so.2 dependency in /usr/local/lib rather than /lib (so as to avoid any possible conflicts with system upgrades etc.) without having to set "LD_LIBRARY_PATH" in the environment for every user.
This requires creating /etc/ld.so.conf (it doesn't exist by default in Ubuntu) with the following contents:
Running "ldconfig" then updates the dynamic linker's list of files.
This initially didn't work as normal however. The problem turned out to be that ldconfig gets the shared library name from the binary itself, not from the filename, so when it follows the link "libtermcap.so.2", it still picks up "libncurses.so.5". To get around this, I made a copy of "libncurses.so.5.5" in /usr/local/lib and edited it with EMACS to change the the string "libncurses.so.5" to "libtermcap.so.2" (fortunately the number of characters is the same). Then running "ldconfig" puts libtermcap into the linker's cache as expected.
Having done this, it is still necessary to create a link pointing from libtermcap.so.2 to the copy of libncurses.so.5 in /usr/local/lib, since the linker seems to find the file by name at runtime.
It's hardly elegant, but perhaps it's more maintainable. I'm not sure whether avoiding /lib really matters or not. I suspect that upgrades would leave the link intact in /lib, but at least it means that IRAF is guaranteed to have access to the version of the ncurses library that is known to work. rather than some future version.
James.
This requires creating /etc/ld.so.conf (it doesn't exist by default in Ubuntu) with the following contents:
- /lib/
/usr/lib/
/usr/X11R6/lib/
/usr/local/lib/
Running "ldconfig" then updates the dynamic linker's list of files.
This initially didn't work as normal however. The problem turned out to be that ldconfig gets the shared library name from the binary itself, not from the filename, so when it follows the link "libtermcap.so.2", it still picks up "libncurses.so.5". To get around this, I made a copy of "libncurses.so.5.5" in /usr/local/lib and edited it with EMACS to change the the string "libncurses.so.5" to "libtermcap.so.2" (fortunately the number of characters is the same). Then running "ldconfig" puts libtermcap into the linker's cache as expected.
Having done this, it is still necessary to create a link pointing from libtermcap.so.2 to the copy of libncurses.so.5 in /usr/local/lib, since the linker seems to find the file by name at runtime.
It's hardly elegant, but perhaps it's more maintainable. I'm not sure whether avoiding /lib really matters or not. I suspect that upgrades would leave the link intact in /lib, but at least it means that IRAF is guaranteed to have access to the version of the ncurses library that is known to work. rather than some future version.
James.
MikalH wrote on Dec 22, 2005
The 'proper' solution on Ubuntu is to install the Breezy 5.10 libtermcap-compat. It's not in Dapper or Edgy, but at least the package manager can keep track of things this way. It'll be kept as a 'local' packages and won't be removed or updated automatically as there is no replacement in the repos.
Download it and its dependencies from
http://packages.ubuntu.com/breezy/oldlibs/termcap-compat
http://packages.ubuntu.com/breezy/oldlibs/libc5
http://packages.ubuntu.com/breezy/oldlibs/ldso
UPDATE: The Ubuntu package site seems to have just lost all of the individual package pages for breezy, though it still has the links to them. Weird.
You can instead get them from the repos directly:
http://archive.ubuntu.com/ubuntu/pool/universe/t/termcap-compat/termcap-compat_1.2.3_i386.deb
http://archive.ubuntu.com/ubuntu/pool/universe/libc/libc/libc5_5.4.46-15_i386.deb
http://archive.ubuntu.com/ubuntu/pool/universe/l/ld.so/ldso_1.9.11-15_i386.deb
Install them using dpkg:
Edit: This works on amd64 too. You'll need to use the --force-architecture flag with dpkg.
Download it and its dependencies from
http://packages.ubuntu.com/breezy/oldlibs/termcap-compat
http://packages.ubuntu.com/breezy/oldlibs/libc5
http://packages.ubuntu.com/breezy/oldlibs/ldso
UPDATE: The Ubuntu package site seems to have just lost all of the individual package pages for breezy, though it still has the links to them. Weird.
You can instead get them from the repos directly:
http://archive.ubuntu.com/ubuntu/pool/universe/t/termcap-compat/termcap-compat_1.2.3_i386.deb
http://archive.ubuntu.com/ubuntu/pool/universe/libc/libc/libc5_5.4.46-15_i386.deb
http://archive.ubuntu.com/ubuntu/pool/universe/l/ld.so/ldso_1.9.11-15_i386.deb
Install them using dpkg:
sudo dpkg -i ldso_1.9.11-15_i386.deb libc5_5.4.46-15_i386.deb termcap-compat_1.2.3_i386.debEdit: This works on amd64 too. You'll need to use the --force-architecture flag with dpkg.
rubab wrote on Dec 22, 2005
This page describes how to setup IRAF on a Ubuntu/Debian machine. Apart from the exact commands, there are some instructions in square brackets that need to be followed. Installation of X11IRAF, DS9, Tables, and STSDAS are included.
http://geco.phys.columbia.edu/~rubab/iraf/
http://geco.phys.columbia.edu/~rubab/iraf/
James Turner wrote on Dec 22, 2005
For the record, I have just discovered that Ubuntu Dapper's "libtermcap" is provided by the package "libncurses5-dev".
So, I think installing libncurses5-dev supercedes using Breezy's libtermcap-compat as the correct solution, doesn't it?
I also needed this package to compile Python with readline.
Cheers,
James.
So, I think installing libncurses5-dev supercedes using Breezy's libtermcap-compat as the correct solution, doesn't it?
I also needed this package to compile Python with readline.
Cheers,
James.
Eugene Romas wrote on Dec 22, 2005
OMG! :shock:
Too many problems with system software!
Install Gentoo and no problems! :wink:
Sorry, my post is not an advertising of Gentoo distro. :)
But then i reading such posts like this, i again and again feel happiness with Gentoo.
Too many problems with system software!
Install Gentoo and no problems! :wink:
Sorry, my post is not an advertising of Gentoo distro. :)
But then i reading such posts like this, i again and again feel happiness with Gentoo.
Brian Pohl wrote on Dec 22, 2005
Okay I'm trying to compile ecl on a debian linux box and it chokes on the following compile statement...
xc -c -w -/I. binop.c bkg.c builtin.c clprintf.c clsystem.c compile.c debug.c decl.c edcap.c eparam.c errs.c exec.c gquery.c gram.c history.c lists.c main.c modes.c operand.c param.c pfiles.c prcache.c scan.c stack.c task.c unop.c ytab.c
clprintf.c: In function 'u_eprintf':
clprintf.c:27: error: expected declaration specifiers before '...' token
clprintf.c:52: error: expected declaration specifiers before 'oprintf'
....
I have libncurses5-dev installed (which helps with the libtermcap issues), but I can't get around this issue.
any ideas?
bri.
xc -c -w -/I. binop.c bkg.c builtin.c clprintf.c clsystem.c compile.c debug.c decl.c edcap.c eparam.c errs.c exec.c gquery.c gram.c history.c lists.c main.c modes.c operand.c param.c pfiles.c prcache.c scan.c stack.c task.c unop.c ytab.c
clprintf.c: In function 'u_eprintf':
clprintf.c:27: error: expected declaration specifiers before '...' token
clprintf.c:52: error: expected declaration specifiers before 'oprintf'
....
I have libncurses5-dev installed (which helps with the libtermcap issues), but I can't get around this issue.
any ideas?
bri.
Mike Fitzpatrick wrote on Dec 22, 2005
The error messages are part of the usual fun with stdarg/varargs changes in newer GCC compilers. The system's already been changed in the next release to handle this, for now there's a binary at
http://iraf.net/ftp/pub/fitz/ecl.e
that should work.
-Mike
http://iraf.net/ftp/pub/fitz/ecl.e
that should work.
-Mike
Brian Pohl wrote on Dec 22, 2005
Thanks for the link Mike. However, when I installed it and ran it, I encountered the following error:
ecl> imstat dev$pix
# IMAGE NPIX MEAN STDDEV MIN MAX
PANIC in `/usr/local/lib/iraf/iraf/bin.linux/x_images.e': Memory has been corrupted
dev$pix 262144 108.3 131.3 -1. 19936.
this was a personal install, not a system wide install of ecl.
regular old cl works just fine btw.
bri.
ecl> imstat dev$pix
# IMAGE NPIX MEAN STDDEV MIN MAX
PANIC in `/usr/local/lib/iraf/iraf/bin.linux/x_images.e': Memory has been corrupted
dev$pix 262144 108.3 131.3 -1. 19936.
this was a personal install, not a system wide install of ecl.
regular old cl works just fine btw.
bri.
Mike Fitzpatrick wrote on Dec 22, 2005
Try putting the command
limit stacksize unlimited
in your .cshrc file (or 'ulimit -s unlimited' if you use Bash). This is normally done in the cl.csh script but if all you did was install the binary there may be something weird going on. If you're using v2.13 ECL should already be available (if this is the Debian pkg version, there are other problems....)
-Mike
limit stacksize unlimited
in your .cshrc file (or 'ulimit -s unlimited' if you use Bash). This is normally done in the cl.csh script but if all you did was install the binary there may be something weird going on. If you're using v2.13 ECL should already be available (if this is the Debian pkg version, there are other problems....)
-Mike
James Turner wrote on Dec 22, 2005
jturner
For the record, I have just discovered that Ubuntu Dapper's "libtermcap" is provided by the package "libncurses5-dev".
So, I think installing libncurses5-dev supercedes using Breezy's libtermcap-compat as the correct solution, doesn't it?
I have started using Ubuntu 8.10 now. The link "/usr/lib/libtermcap.so" is still provided by libncurses5-dev, but "libtermcap.so.2" is not. Therefore it seems to be necessary to go back to creating a link manually somewhere in ld's search path:
libtermcap.so.2 -> /usr/lib/libtermcap.soSomeone had previously stated that installing libtermcap-compat from Ubuntu Breezy is the preferred option, but that doesn't really seem tenable now Breezy is >3yrs old and unsupported.James.
Last post on Dec 22, 2005