Hello,
It looks to me that it is a binary compatibility problem between versions of libc. You compile Orthanc on CentOS and use it on another Linux distribution (Amazon). Because binary compatibility is not guaranteed between Linux distributions, your Orthanc binaries might badly use the symbols of the system shared libraries in the Amazon distribution, which results in a hard crash. Even when Orthanc is statically linked, there indeed remain dependencies on a handful of shared libraries (notably libc).
To solve this problem, I would suggest you to build Orthanc directly on the Amazon distribution. In this way, you would be sure that the binary compatibility is fulfilled.
Another option would be to compile Orthanc with the Linux Standard Base (LSB) SDK:
An executable that is produced by the LSB version of g++ should be binary compatible with any Linux version. Unfortunately, I have not been able to easily compile DCMTK with LSB. Maybe it is possible to do so, but it would require patching the DCMTK source code.
A final alternative would be to compile Orthanc on a Linux distribution that is shipped with an older version of libc, such as Ubuntu 8.04. Because to the best of my knowledge, backward compatibility is ensured by libc, this binary should work on modern distributions. This is however clearly not a recommended, clean solution.
HTH,
Sébastien-