This port is for ILE (native OS/400) not PASE (PASE is almost like Unix, and already comes with OpenSSL). The idiosyncrasies are explained in the README.as400 file in AS400patch.tar.gz. I had to rewrite the EBCDIC support in clienthellotest.c. AS400patch.tar.gz (large patch for OpenSSL and other files): https://drive.google.com/file/d/1fttbz2T9wtVUMyre0i7ExzXmVLg2spO8/view?usp=sharing AS400_GNU.tar.gz (source for GNU/IBM tools required to build OpenSSL in ILE environment): https://drive.google.com/open?id=1DeKIE32nmUpvk7fvrcSYlflUn_k1CBso