mpiexec compilation with pgi compilers
Douglas Johnson
djohnson at osc.edu
Wed Jun 12 09:49:43 EDT 2002
Hi,
I can help with the question concerning the problem with gcc and linking
against an mpich that was compiled with the Portland compilers. There's
just a couple run time routines from the Portland suite that you need,
kcmp.o kmul.o pgdbg_utils.o
These are all in libpgc.a, just use 'ar' to extract them and then add them
to libmpich.a. Then you should them be able to link with gcc (this seems
to work for the Intel compilers as well).
Doug
On Tue, 11 Jun 2002, Brashers, Bart -- MFG, Inc. wrote:
>
> Hi,
>
> I finally decided it was time to update my system, so I upgraded to
> mpich-1.2.4, OpenPBS_2_3_16 and compiled and installed them with the
> Portland Group compilers. I also got mpiexec-0.66, and tried to compile it.
> I used:
>
> setenv CC=pgcc
> ./configure -with-pbs=/usr/local/lib \
> --with-pbssrc=/usr/local/OpenPBS_2_3_16 \
> --with-smp-size=2 --with-default-comm=mpich-p4 \
> --with-mpi=/usr/local/mpich >&! my.configure.log
>
> which worked fine. But when I tried to make mpiexec, I immediately get an
> error:
>
> pgcc -g -D__attribute__\(x\)= -I/usr/local/OpenPBS_2_3_16/src/include -c
> mpiexec.c
> PGC-S-0039-Use of undeclared variable __func__ (mpiexec.c: 78)
> PGC/x86 Linux/x86 4.0-1: compilation completed with severe errors
> make: *** [mpiexec.o] Error 2
>
> Ok, so maybe __func__ is something special the gcc understands. So I
> unsetenv'd CC (so it defaults back to gcc), removed config.cache, and re-ran
> configure. Now it compiles.
>
> Next, I did a "make hello" to test mpiexec. That produced a bunch of
> errors:
>
> [root local/mpiexec-0.66]% make hello
> gcc -g -O2 -Wall -W -Wpointer-arith -Wwrite-strings -Wcast-align
> -Wcast-qual -Wbad-function-cast -o hello hello.c -I/usr/local/mpich/include
> -L/usr/local/mpich/lib -lmpich
> /usr/local/mpich/lib/libmpich.a(global_ops.o): In function `MPIR_MAXF':
> global_ops.o(.text+0x39f): undefined reference to `__mth_i_kcmp'
> ...many more similar lines...
> /usr/local/mpich/lib/libmpich.a(global_ops.o)(.text+0x7bb9): more undefined
> references to `__mth_i_kcmp' follow
> /usr/local/mpich/lib/libmpich.a(debugutil.o): In function
> `MPIR_Breakpoint':
> /usr/local/mpich-1.2.4/src/env/debugutil.c:113: undefined reference to
> `__pgdbg_stub'
> collect2: ld returned 1 exit status
> make: *** [hello] Error 1
>
> Note the reference to pgdbg_stub, the debugging tool that comes with the PG
> compilers. I suppose this is because I compiled mpich with pgcc, not gcc.
> I really don't want to have to go back and recompile mpich, especially since
> my mpi programs won't work with gcc (only with the pg compilers).
>
> I went ahead and ran an mpi job with mpiexec anyway, and although qstat says
> it is running ("Elap Time" is incremented) top shows that the mpi process is
> not running anywhere.
>
> Any hints would be appreciated. Otherwise, I'll just have to stick with
> mpirun.
>
> Thanks,
>
> Bart
> --
> Bart Brashers MFG Inc.
> Air Quality Meteorologist 19203 36th Ave W Suite 101
> bart.brashers at mfgenv.com Lynnwood WA 98036-5707
> http://www.mfgenv.com 425.921.4000 Fax: 425.921.4040
> _______________________________________________
> mpiexec mailing list
> mpiexec at osc.edu
> http://email.osc.edu/mailman/listinfo/mpiexec
>
More information about the mpiexec
mailing list