Writing portable software is not really a hard thing, but one have to take care of a lots of details. Too many for any sane person.