I think the main reason that those apps are non-portable is that the
people who write them have access only to Linux. They simply do not
know how to write them in a portable style, nor do they envision ever
owning a computer that runs any other Unix but Linux.