I am testing on a system with IBM's compilers which has worked for both
LP64 ({C,CXX,F}FLAGS=-q64) and ILP32 ({C,CXX,FC}FLAGS=-q32) builds on all
past releases.

With the 1.10.2rc2 tarball, however, I see the following in the configure
output on the ILP32  configuration:

checking if Fortran compiler and POSIX threads work with -lpthread... no
configure: error: Can not find working threads configuration.  aborting

Examining the config.log (below) shows this test has run the Fortran
compiler *without* FCFLAGS (-q32).
The result is a failed attempt to link 32-bit and 64-bit object files
together:

configure:64264: checking if Fortran compiler and POSIX threads work with
-lpthread
configure:64345: xlc -q32 -g -I. -c conftest.c
"conftest.c", line 27.18: 1506-280 (W) Function argument assignment between
types "unsigned long" and "unsigned long*" is not allowed.
configure:64352: $? = 0
configure:64362: xlf  conftestf.f conftest.o -o conftest  -lutil  -lpthread
** fpthread   === End of Compilation 1 ===
1501-510  Compilation successful for file conftestf.f.
/usr/bin/ld: powerpc:common architecture of input file `conftest.o' is
incompatible with powerpc:common64 output
conftest.o: In function `pthreadtest_f':
/gpfs/vesta-fs0/projects/PARTS/hargrove/OMPI/openmpi-1.10.2rc1-linux-ppc32-xlc-12.1/BLD/conftest.c:23:
relocation truncated to fit: R_PPC_REL24 against `pthread_self'
/gpfs/vesta-fs0/projects/PARTS/hargrove/OMPI/openmpi-1.10.2rc1-linux-ppc32-xlc-12.1/BLD/conftest.c:24:
relocation truncated to fit: R_PPC_REL24 against `pthread_attr_init'
/gpfs/vesta-fs0/projects/PARTS/hargrove/OMPI/openmpi-1.10.2rc1-linux-ppc32-xlc-12.1/BLD/conftest.c:25:
relocation truncated to fit: R_PPC_REL24 against `__sigsetjmp'
/gpfs/vesta-fs0/projects/PARTS/hargrove/OMPI/openmpi-1.10.2rc1-linux-ppc32-xlc-12.1/BLD/conftest.c:25:
relocation truncated to fit: R_PPC_REL24 against `__pthread_unwind_next'
/gpfs/vesta-fs0/projects/PARTS/hargrove/OMPI/openmpi-1.10.2rc1-linux-ppc32-xlc-12.1/BLD/conftest.c:25:
relocation truncated to fit: R_PPC_REL24 against `__pthread_register_cancel'
/gpfs/vesta-fs0/projects/PARTS/hargrove/OMPI/openmpi-1.10.2rc1-linux-ppc32-xlc-12.1/BLD/conftest.c:26:
relocation truncated to fit: R_PPC_REL24 against `pthread_create'
/gpfs/vesta-fs0/projects/PARTS/hargrove/OMPI/openmpi-1.10.2rc1-linux-ppc32-xlc-12.1/BLD/conftest.c:27:
relocation truncated to fit: R_PPC_REL24 against `pthread_join'
/gpfs/vesta-fs0/projects/PARTS/hargrove/OMPI/openmpi-1.10.2rc1-linux-ppc32-xlc-12.1/BLD/conftest.c:28:
relocation truncated to fit: R_PPC_REL24 against
`__pthread_unregister_cancel'
configure:64369: $? = 1



Note that tests of the Fortran compiler prior to the failure *are* passing
"-q32":

configure:32543: checking if Fortran compiler works
configure:32572: xlf -o conftest -q32 -g   conftest.f  >&5
** main   === End of Compilation 1 ===
1501-510  Compilation successful for file conftest.f.
configure:32572: $? = 0


So, I don't believe this is anything specific to XLF, but rather an issue
that would appear on any system with a non-default ABI specified in
{C,CXX,F}FLAGS.

I have *not* had the opportunity to test either master or the 2.0 RC on
this platform.

-Paul


-- 
Paul H. Hargrove                          [email protected]
Computer Languages & Systems Software (CLaSS) Group
Computer Science Department               Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900

Reply via email to