I have two systems: an old SCO 5.0.5 Openserver (here's the uname -a output):
/# uname -a
SCO_SV munixela 3.2 5.0.5 i386
And a SCO 5.0.7 OpenServer (uname -a output):
/# uname -a
SCO_SV catedral 3.2 5.0.7 i386
I exported a Filesystem from the 5.0.7 machine, using the scoadmin program, and the first time I did, my Informix 4 SE old application was able to access the data in the exported filesystem from the 5.0.5 server (after mounting it of course). After a reboot, the filesystem was not available for the Informix 4 SE app anymore. I tried re-exporting the filesystem with different configurations, also, I modified the /etc/default/exports file to allow root access to the filesystem, all to no avail.
I can however "see" the filesystem, list its contents, and do all sorts of file I/O operations successfully, but it seems that the Informix 4 SE app for some reason can not "find" anything on it. I get an error message:
Program stopped at "man0340f.4gl", line number 17.
SQL statement error number -329.
Database not found or no system permission.
SYSTEM error number -45.
Operation not supported on socket
Which the documentation says is caused due to an OS problem described in the message itself ( .... ). The database IS on the filesystem, and has all the necessary permissions.
Could you please help me find a solution here? Thank you in advance for any and all help.
Does this OS have truss/tusc/strace, that you can find the call that got errno 45? My errno.h says 45 is deadlock, so it might be refusing flock() calls. Locking on NFS can be a problem area.
---------- Post updated at 12:38 PM ---------- Previous update was at 12:31 PM ----------
It has strace ... problem here is that to be honest I'm lost as to how to use it or finding the correct stream module to query :o
However, this deadlock thing seems logical, meaning I found on the manpages that nfs can not work with locks. Hence the question: How could I get it to work as the first time I mounted the remote fs on the 5.0.5 machine since no different configs were made? ...
Is there a start up script that has not been run? Sometimes people forget to put the script in /etc/rc2.d and when the system is booted so infrequently the process isn't started.
Well, that's what I was trying to avoid because with 5.0.7 even installing the Development System, I can not compile the 4gl files into 4ge files. But it seems that I will have to do that after all.
Well, when just "taking" the 4ge files from one system to another, they do run, but when trying to compile, I get a lot of "Coff to Elf conversion" errors, and even though I installed the whole development system (the documentation said it would take care of those), the problems still remain.
I guess that much to my dismay, I'll have to keep the old 5.0.5 server just in case I need to compile something (currently I'm in the process of migrating the whole legacy app to the 5.0.7 server as suggested before) ...
Thank you so much everyone for your responses. I finally solved the problem. For some reason, the Development System did not install correctly the first time. I re-installed it and now it compiles the old 4gl files.
Lesson learned: Start coding in a more "modern" language. LOL