Hi,
We're running starlink from an nfs share that is exported
read-only. We've noticed recently that running the following
commands gives an error on Redhat 6 but not Redhat 5:
setenv STARLINK_DIR /opt/star-dev
source $STARLINK_DIR/etc/login
source $STARLINK_DIR/etc/cshrc
smurf
kappa
makemap
makemap
!! SUBPAR: Failed to open interface file /opt/star-dev/bin/smurf/makemap.ifc
! Not a directory
!
!! DTASK_DCLTASK: failed to start parameter system SUBPAR__IFCOPN, failed to
! open compiled interface file
It seems that redhat 6 is using nfs 4 and redhat 5 is using nfs 3 for this
mount (the defaults). Changing redhat 5 to nfs 4 gives the same error, and
redhat 6 works fine if it is set to nfs 3. We get the same error from other
versions of starlink. Changing to read/write also fixes the problem.
Is there anyway we can fix this at the starlink end, rather than forcing
the mounts to be nfs 3, or any other way round the problem?
The strace output for nfs 3 and nfs 4 is below:
Thanks,
Neil.
nfs3, ro
========
access("./makemap.ifc", R_OK) = 0
access("./makemap.ifc", F_OK) = 0
access("./makemap.ifc", R_OK) = 0
access("./makemap.ifc", W_OK) = -1 EROFS (Read-only file system)
stat("./makemap.ifc", {st_mode=S_IFREG|0644, st_size=8830, ...}) = 0
fstat(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
stat("./makemap.ifc", {st_mode=S_IFREG|0644, st_size=8830, ...}) = 0
open("./makemap.ifc", O_RDONLY|O_CREAT, 0666) = 3
brk(0xeb67000) = 0xeb67000
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffa26650b0) = -1 ENOTTY (Inappropriate ioctl for device)
read(3, "\t\0\0\0 \t\0\0\0\204\0\0\0 "..., 16384) = 8830
close(3) = 0
stat("/home/neil/adam/makemap.sdf", {st_mode=S_IFREG|0644, st_size=1024, ...}) = 0
open("/home/neil/adam/makemap.sdf", O_RDWR) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=1024, ...}) = 0
mmap(NULL, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b19429e9000
lseek(3, 0, SEEK_SET) = 0
read(3, "SDS\4\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\1\21"..., 1048576) = 1024
lseek(3, 1024, SEEK_SET) = 1024
futex(0x2b19427dc9a0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x2b193de34420, FUTEX_WAKE_PRIVATE, 2147483647) = 0
brk(0xeb85000) = 0xeb85000
uname({sys="Linux", node="NAME", ...}) = 0
nfs4,ro
=======
access("./makemap.ifc", R_OK) = 0
access("./makemap.ifc", F_OK) = 0
access("./makemap.ifc", R_OK) = 0
access("./makemap.ifc", W_OK) = -1 EROFS (Read-only file system)
stat("./makemap.ifc", {st_mode=S_IFREG|0644, st_size=8830, ...}) = 0
fstat(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
stat("./makemap.ifc", {st_mode=S_IFREG|0644, st_size=8830, ...}) = 0
open("./makemap.ifc", O_RDONLY|O_CREAT, 0666) = -1 ENOTDIR (Not a directory)
futex(0x2aba1059e740, FUTEX_WAKE_PRIVATE, 2147483647) = 0
write(1, "!! SUBPAR: Failed to open interf"..., 54!! SUBPAR: Failed to open interface file ./makemap.ifc) = 54
write(1, "\n", 1
) = 1
write(1, "! Not a directory", 18! Not a directory) = 18
write(1, "\n", 1
) = 1
write(1, "! ", 4! ) = 4
write(1, "\n", 1
) = 1
access("fac_170_err", R_OK) = -1 ENOENT (No such file or directory)
----
Starlink User Support list
For list configuration, including subscribing to and unsubscribing from the list, see
https://www.jiscmail.ac.uk/cgi-bin/webadmin?A0=STARLINK
|