Problem with nfs exports between 5.0.5 and 5.0.7

Hello everyone!

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 ( .... :confused:). 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.

"after a reboot" Which of the machines (or both) did you re-start.

The 5.0.7 machine.

---------- 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 tcp/ip interface to this DB? You could run it client-server.

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.

No, it is an old Informix 4 SE database, no TCP/IP port is available.

Why can't you move the programs from the 5.0.5 box to the 5.0.7 box.

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.

Thank you for your responses.

What compile errors do you get?
Have you tried copying the "4ge" files from 5.0.5 to 5.0.7 to see if they work?

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) ...

I favor removing unportable bits using the minimum of #ifdef, and compiling both places. Keep your options open. To an app, a server is just a server.

Maybe some of this also applies to 5.0.7
How can I install a legacy OpenServer 5 Informix Database on my OpenServer 6.0.0 system?

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

Again thank you. Problem solved.