On Unix IDL CD must mount with exec for install to work [message #45002] |
Tue, 09 August 2005 09:52 |
John McLeod
Messages: 5 Registered: January 2002
|
Junior Member |
|
|
Hi all,
Just had a similar problem as Mathieu Malaterre on 01Aug05 with "Installing
IDL 6.1 on debian linux 2".
I was installing the new Unix IDL 6.2 on the UBUNTU debian-based Linux
distribution. UBUNTU and
debian configure the mount command so that CDs mount "noexec" by default.
So executable files on the
CDs can't be run. The IDL CD must be mounted with "exec" for the IDL
install to work. I have submitted
a support incident to RSI asking them to make this more prominent in their
documentation.
Start gory details ...
After mounting the Unix IDL 6.2 CD on a UBUNTU Linux workstation with the
default mount command
# mount /cdrom
the IDL installer failed for me with the following error messages:
# /bin/sh /cdrom/xinstall.sh
/cdrom/xinstall.sh: line 307: /cdrom/install/xinstall/xinstall.linux.x86:
Permission denied
/cdrom/xinstall.sh: line 307: /cdrom/install/xinstall/xinstall.linux.x86:
Success
At first, I was completely baffled by this error, especially as the
xinstall.linux.x86 file clearly
had world read and executable.
This occurs because UBUNTU by default mounts CDs "noexec", which means :"Do
not allow
direct execution of any binaries on the mounted [CD] file system. (Until
recently it was possible
to run binaries anyway using a command like /lib/ld*.so /mnt/binary.
This trick fails since
Linux 2.4.25 / 2.6.0.)"
The "noexec" on the CD filesystem can be confirmed using the mount command.
# mount
...
/dev/hda on /media/cdrom0 type iso9660 (ro,noexec,nosuid,nodev)
My UBUNTU behaved this way because the CD's fstab line omitted "exec"
and the default is "noexec" (even though the info page for mount says
otherwise).
$ grep cd /etc/fstab
/dev/hda /media/cdrom0 udf,iso9660 ro,user,noauto 0 0
The IDL CD can be mounted with executable binaries either by adding exec to
the above fstab line, e.g.
/dev/hda /media/cdrom0 udf,iso9660 ro,user,noauto,exec 0 0
or by using a mount command that explicitly uses exec, e.g.
# mount -o ro,user,noauto,exec -t udf,iso9660 /dev/hda /media/cdrom0
|
|
|