[mpich-discuss] static compiling with mpich2

Rajeev Thakur thakur at mcs.anl.gov
Fri Jan 29 19:26:22 CST 2010


You can also run "make testing" in the top-level mpich2 directory, which
will run the entire test suite in test/mpi, including a whole bunch of
f90 tests (can take an hour or more).

A simpler first step may be to run the example in examples/f90

Rajeev

> -----Original Message-----
> From: mpich-discuss-bounces at mcs.anl.gov 
> [mailto:mpich-discuss-bounces at mcs.anl.gov] On Behalf Of Jason Palmer
> Sent: Friday, January 29, 2010 6:17 PM
> To: mpich-discuss at mcs.anl.gov
> Subject: Re: [mpich-discuss] static compiling with mpich2
> 
> The problem does seem to be related to MPICH and/or gcc with 
> static compilation ... oddly, I only get a seg fault when I 
> try to print (to
> stdout) and execute an MPI instruction, but either alone works.
> 
> I can compile using mpif90 with or without -static.
> 
> In the following simple fortran program:
> 
> ---------------------
> program main
> use mpi
> implicit none
> integer :: ierr
> 
> print *, 'This is a test ...'
> 
> call MPI_INIT(ierr)
> call MPI_FINALIZE(ierr)
> 
> end program
> ------------------------
> 
> when compiled with MPICH2 mpif90 and gcc-4.4.3, and -static, 
> no optimization, I get a seg fault.
> 
> If I comment out the print statement, there is no error (even 
> with static compile).
> If I comment out the MPI statements, the print statement 
> works and no error (even though compiled with mpif90).
> 
> I get the error both with the "use mpi" and include mpif.h.
> 
> I re-compiled MPICH2 without --enable-fast, and with 
> --enable-g=dbg and --enable-debug-info (I got a compile error 
> when I tried to use --enable-error-checking complaining about 
> and unknown error number).
> 
> I ran gdb, and the seg fault happens during a return from a 
> thread mutex call. I compiled gcc with enable-threads=posix, 
> but there is no explicit threading in my code here.
> 
> The MPI routines work fine with static and no print 
> statement, and vice-versa. And somehow the combination seems 
> to die in a thread call.
> 
> I will try recompiling gcc without --enable-threads=posix to 
> see what that does (assuming no immediate fixes are forthcoming.)
> 
> Thanks for your help.
> 
> Jason
> 
> 
> 
> -----Original Message-----
> From: mpich-discuss-bounces at mcs.anl.gov
> [mailto:mpich-discuss-bounces at mcs.anl.gov] On Behalf Of Dave Goodell
> Sent: Friday, January 29, 2010 1:21 PM
> To: mpich-discuss at mcs.anl.gov
> Subject: Re: [mpich-discuss] static compiling with mpich2
> 
> We (the MPICH2 developers) primarily compile statically and 
> we definitely use static libraries in many of our nightly 
> tests.  GCC is also well tested with MPICH2 and is totally 
> compatible on most platforms.
> 
> Have you used gdb or valgrind to determine where/why the 
> segfault is occurring?
> 
> If the segfault is coming from within MPICH2, can you try 
> configuring with "--enable-g=dbg --enable-error-checking" and 
> *without* any "-- enable-fast" arguments?  Versions of MPICH2 
> built for performance are much less forgiving of errors in 
> application code.
> 
> -Dave
> 
> On Jan 29, 2010, at 3:03 PM, Jason Palmer wrote:
> 
> > Hi all,
> >
> > We recently switched from Mpich1 to Mpich2 as part of a general 
> > upgrade, and I'm re-building a program that was previously 
> compiled as 
> > a static binary under Mpich1 on 64-bit RedHat Linux using pathscale 
> > fortran on an AMD Opteron cluster.
> >
> > We are now using gcc-4.4.3 (instead of pathscale), and I 
> can compile 
> > and run the code with dynamic libraries, but when I compile with - 
> > static, the compile succeeds, but the binary gives a segmentation 
> > fault when executed, with or without mpiexec.
> >
> > I have tried compiling Mpich2 (using gcc 4.4.3) both with -enable- 
> > sharedlibs=gcc and without, but both give the error in the static 
> > version but no error in the non-static version.
> >
> > Has anyone had success with static compiling of Mpich2 / 
> gcc programs?
> >
> > Thanks,
> > Jason
> >
> >
> > _______________________________________________
> > mpich-discuss mailing list
> > mpich-discuss at mcs.anl.gov
> > https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
> 
> _______________________________________________
> mpich-discuss mailing list
> mpich-discuss at mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
> 
> _______________________________________________
> mpich-discuss mailing list
> mpich-discuss at mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
> 



More information about the mpich-discuss mailing list