I am trying to use gfortran on our HP-UX B.11.31 ia64
machine. After several false starts, I was able to build gcc-4.7.4 using HP's aCC compiler (I had to disable java).
Our code compiles with gfortran and runs successfully on the HP without OpenMP. (It compiles and runs okay with OpenMP on a variety of other platforms and compilers, including gfortran on linux.)
When I enable OpenMP with -fopenmp, the compilation fails in the linker stage with a series of errors like the following:
ld: The value 0xd01bf8 does not fit when applying the relocation TPREL22 or DTPREL22 for symbol "ainf.2311" at offset 0x14cf1 in section index 1 of file gendpx.o
ld: The value 0xd01bf8 does not fit when applying the relocation TPREL22 or DTPREL22 for symbol "ainf.2311" at offset 0x14da0 in section index 1 of file gendpx.o
The array ainf is a save'd automatic array that is declared threadprivate. There is no GNU linker on HP-UX, so this is using the HP linker.
I am compiling with the following options:
-mlp64 -O2 -fconvert=big-endian -fbacktrace -ffpe-trap=invalid,zero,overflow -fPIC -fopenmp
I have tried a variety of gfortran and linker options, but none of them have allowed me to fix the above relocation error. Does anyone have any experience with this error message, or any suggestions that I could try?