Does POSIX compliance mean I can compile any program from another POSIX-compliant system on Minix (or vice versa)?
Well, maybe… in principle, yes, but many systems (Minix included) provide extensions to the basic C library functions defined by POSIX, so you may have to deal with these in porting a program. Also, standards, no matter how carefully defined, may contain elements that can be interpreted more than one way. Many things outside the scope of a standards document may make porting a program difficult. The GNU version of the make(1) utility, for instance, provides facilities that are not present in the Minix version; you might have to either port GNU make first or devote some effort to modifying a Makefile before you could compile on Minix a package developed on a GNU-ish system. Finally there may be basic assumptions about system resources that affect how a program works. One that often affects Minix users is the lack of virtual memory — programmers writing for environments that provide virtual memory may assume that memory is effectively unlimited. This is very much a problem with 16-bit