I recently had the misfortune to be compelled to install Proftpd on SCO Unix. There’s nothing wrong with Proftpd of course, but everything is wrong with SCO.
LDFLAGS=-L/usr/ucblib ./configure –libdir=/usr/ucblib --enable-builtin-getnameinfo
To get it to compile the above ./configure line is needed. It uses /usr/ucblib because having the basic BSD sockets API residing in a non-default directory makes things more exciting. The --enable-builtin-getnameinfo option is needed because the getnameinfo library call in SCO Unix doesn’t work properly. On a real OS I would have downloaded the source to libc to figure out where the problem might be, but on SCO I had no option other than to disable that functionality.
Then once I got it working I had to put UseIPv6 off in the configuration file, otherwise I got the error No Route to Host (from memory) when I tried to start proftpd.
Finally the process was dying from an unhandled SIGALRM every 10 seconds. According to truss (a vastly inferior equivalent to strace) the sigaction() system call was being entered four times to handle SIGALRM (as was reported for every time the application code called sigaction() but the default action of terminating the application remained in place. I ended up running proftpd from inetd which removed the need for the alarm handling code. Then it all worked.
Last month Darl McBride was terminated from his position with the SCO group . It’s unfortunate that Darl wasn’t terminated a lot earlier, if so then maybe SCO could have focussed on improving the quality of their products and delivering value for stock holders. Hopefully Darl will be sued by some of the people who lost money when SCO went bankrupt.
It would be good if Darl could also be sued by companies that lost money due to the poor quality of SCO Unix – that means every company that runs SCO servers or that writes software for it. The truly awful nature of SCO Unix is in large part due to the fact that all of SCO’s money was spent on litigation that was well known to be baseless.