| View previous topic :: View next topic |
| Author |
Message |
Adam D
Joined: 14 Aug 2012 Posts: 1
|
Posted: Wed Aug 29, 2012 4:54 pm Post subject: Compiling OpenMPI 1.6 fails with PGI 12.8 |
|
|
The following occurs when using PGI 12.8 to compile OpenMPI 1.6 (any sub-version, including 1.6 and a 1.6.2 nightly). The OS is CentOS 5.8. Any ideas?
| Code: | *** C++ compiler and preprocessor
checking whether we are using the GNU C++ compiler... no
checking whether pgcpp accepts -g... no
checking dependency style of pgcpp... none
checking how to run the C++ preprocessor... /lib/cpp
checking for the C++ compiler vendor... unknown
checking if C and C++ are link compatible... no
**********************************************************************
* It appears that your C++ compiler is unable to link against object
* files created by your C compiler. This generally indicates either
* a conflict between the options specified in CFLAGS and CXXFLAGS
* or a problem with the local compiler installation. More
* information (including exactly what command was given to the
* compilers and what error resulted when the commands were executed) is
* available in the config.log file in this directory.
**********************************************************************
configure: error: C and C++ compilers are not link compatible. Can not continue.
|
Edit: corrected OS. Oops, wrong server. :) |
|
| Back to top |
|
 |
mkcolg
Joined: 30 Jun 2004 Posts: 4996 Location: The Portland Group Inc.
|
Posted: Thu Aug 30, 2012 12:34 pm Post subject: |
|
|
Hi Adam,
Can you double check that you're able to compile a simple program using both pgcpp and pgcc? Also, what configure options are you using?
Best Regards,
Mat |
|
| Back to top |
|
 |
JosephFarran45106
Joined: 29 Jul 2010 Posts: 2
|
Posted: Tue Jan 15, 2013 4:00 pm Post subject: |
|
|
Hi All.
I too am not able to compile OpenMPI 1.6.x I tried 1.6.0 and 1.6.3 and it fails with PGI 12.10.
My PGI compilers work just fine:
[jfarran@hpc ~]$ module load pgi/12.10
[jfarran@hpc ~]$ pgcpp simple.c
[jfarran@hpc ~]$ file a.out
a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
[jfarran@hpc ~]$ pgcc simple.c
[jfarran@hpc ~]$ file a.out
a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped |
|
| Back to top |
|
 |
mkcolg
Joined: 30 Jun 2004 Posts: 4996 Location: The Portland Group Inc.
|
Posted: Tue Jan 15, 2013 5:14 pm Post subject: |
|
|
Hi Joseph,
I just downloaded OpenMPI 1.6.3 and didn't have any issues getting it to configure, build, and install with PGI 12.10. What error are you getting? How are you setting your environment variables? In some shells, the "env" command doesn't work so you may need to set the environment variables before running configure.
- Mat |
|
| Back to top |
|
 |
JosephFarran45106
Joined: 29 Jul 2010 Posts: 2
|
Posted: Tue Jan 15, 2013 6:16 pm Post subject: |
|
|
| mkcolg wrote: | Hi Joseph,
I just downloaded OpenMPI 1.6.3 and didn't have any issues getting it to configure, build, and install with PGI 12.10. What error are you getting? How are you setting your environment variables? In some shells, the "env" command doesn't work so you may need to set the environment variables before running configure.
- Mat |
Hi Matt.
Here is my config file and the last few lines of where it is aborting. Compiling on CentOS 6.3.
module load gcc/4.7.2
module load pgi/12.10
DEST=/data/apps/mpi/openmpi-1.6.0/pgi-12.10
CPP=`which pgprepro` \
CC=`which pgcc` \
CXX=`which pgcpp` \
F77=`which pgfortran` \
FC=`which pgfortran` \
F90=`which pgfortran` \
./configure \
--with-sge \
--prefix=$DEST
make[1]: Leaving directory `/data/apps/sources/openmpi-1.6/orte'
Making install in ompi
make[1]: Entering directory `/data/apps/sources/openmpi-1.6/ompi'
Making install in include
make[2]: Entering directory `/data/apps/sources/openmpi-1.6/ompi/include'
make[3]: Entering directory `/data/apps/sources/openmpi-1.6/ompi/include'
make[3]: Nothing to be done for `install-exec-am'.
test -z "/data/apps/mpi/openmpi-1.6.0/pgi-12.10/include" || /bin/mkdir -p "/data/apps/mpi/openmpi-1.6.0/pgi-12.10/include"
/usr/bin/install -c -m 644 mpif-common.h mpif-mpi-io.h '/data/apps/mpi/openmpi-1.6.0/pgi-12.10/include'
test -z "/data/apps/mpi/openmpi-1.6.0/pgi-12.10/include" || /bin/mkdir -p "/data/apps/mpi/openmpi-1.6.0/pgi-12.10/include"
test -z "/data/apps/mpi/openmpi-1.6.0/pgi-12.10/include" || /bin/mkdir -p "/data/apps/mpi/openmpi-1.6.0/pgi-12.10/include"
test -z "/data/apps/mpi/openmpi-1.6.0/pgi-12.10/include" || /bin/mkdir -p "/data/apps/mpi/openmpi-1.6.0/pgi-12.10/include"
/usr/bin/install -c -m 644 mpi.h mpi-ext.h mpi_portable_platform.h mpif.h mpif-config.h '/data/apps/mpi/openmpi-1.6.0/pgi-12.10/include'
test -z "/data/apps/mpi/openmpi-1.6.0/pgi-12.10/include/openmpi" || /bin/mkdir -p "/data/apps/mpi/openmpi-1.6.0/pgi-12.10/include/openmpi"
make[3]: Leaving directory `/data/apps/sources/openmpi-1.6/ompi/include'
make[2]: Leaving directory `/data/apps/sources/openmpi-1.6/ompi/include'
Making install in datatype
make[2]: Entering directory `/data/apps/sources/openmpi-1.6/ompi/datatype'
CC ompi_datatype_module.lo
PGC-W-0114-More than one type specified (/usr/lib/gcc/x86_64-redhat-linux/4.4.6/include/stddef.h: 149)
PGC-W-0143-Useless typedef declaration (no declarators present) (/usr/lib/gcc/x86_64-redhat-linux/4.4.6/include/stddef.h: 149)
PGC-S-0039-Use of undeclared variable INT64_T (ompi_datatype_module.c: 259)
PGC-S-0039-Use of undeclared variable AINT (ompi_datatype_module.c: 259)
PGC-S-0074-Non-constant expression in initializer (ompi_datatype_module.c: 259)
PGC-W-0093-Type cast required for this conversion of constant (ompi_datatype_module.c: 259)
PGC/x86-64 Linux 12.10-0: compilation completed with severe errors
make[2]: *** [ompi_datatype_module.lo] Error 1
make[2]: Leaving directory `/data/apps/sources/openmpi-1.6/ompi/datatype'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/data/apps/sources/openmpi-1.6/ompi'
make: *** [install-recursive] Error 1
We have our own built gcc 4.7.2. Not sure why it is trying to use gcc 4.4.6 above? |
|
| Back to top |
|
 |
|