I had not responded to this since I thought the 4.4.0 archive was the right answer. Another thread had info about the 4.4.0 64-bit version not being available, and we did resolve that issue.
But I recently hit this problem myself, and it wasn't quite what I expected.
I was doing some work on an Ubuntu system which has only GCC 4.6.3 installed and the associated gfortran.
I linked ACML 5.3.0 libacml.so in a test program and all was well. But then I linked in the static libacml.a, and I saw the classic _gfortran_compare_string etc. undefined externals from _xerbla.
But I noticed that I could build the ACML examples on this machine with no problems, and it was using the static library! So this couldn't be a simple matter of compiler version incompatibility.
After few tries I discovered that the order that libraries are included on the linker command line makes a difference.
gcc sgels_c_example.o -lgfortran -lm -ldl -lrt /opt/acml5.3.0/gfortran64/lib/libacml.a -o sgels_c_example.exe
will cause the undefined externals.
But putting the acml library first works!
gcc sgels_c_example.o /opt/acml5.3.0/gfortran64/lib/libacml.a -lgfortran -lm -ldl -lrt -o sgels_c_example.exe
Also using the shared library works.