Attached to this message is a short patch that deals with mpich's mpicc scripts to allow distcc to deal with mpicc. Apply it in the bin directory of mpich : example /usr/local/mpich-gm-gnu/bin/

eric


Eric Bechet wrote:

Hello,

I tried to use distcc to perform a distributed build of a parallelized c++ code (via mpiCC). However, every object file generated with the distributed compilation is of length 0 (no errors are generated by distcc). The code compiles fine with distcc and g++ . In addition, it also compiles fine with mpiCC directly invoked as a "serial" compiler. The problem seem to be interactions between mpiCC and distcc. Did someone actually manage to use mpiCC with distcc ? Here are some relevant data :

1- using distcc-2.18.3, compiled from scratch
2- CENTOS (same as RHEL4) - kernel 2.6.9-5.0.5.ELsmp - x86_64 architecture. gcc version is 3.4.3 20041212 (Red Hat 3.4.3-9.EL4), and mpiCC coming from mpichgm-1.2.6..14a 3- as stated, i'm trying to build a home made library which otherwise works well (distcc with g++ works fine for that library) 4-with distcc and mpiCC, compiling a c++ source file leads to a zero length .o file, with no error report. I think the problem lies either in the transmission of the resulting object code (is mpiCC building "special" object files ?) or in mpiCC failing to compile without warning.
5- command line for one of the source files :
/usr/local/distcc/bin/distcc /usr/local/mpich-gm-gnu/bin/mpiCC -w -fPIC -g -m64 -Wall -DDEBUG -DPARALLEL -D_HAVE_PARMETIS_ -DMPICH_SKIP_MPICXX -D_MPIPP_H -D_HAVE_PARMETIS_ -I/usr/local/parmetis-gm-gnu/METISLib -I/usr/local/mpich-gm-gnu/include -I/usr/local/mpich-gm-gnu/include -I/usr/local/autopack-gm-gnu -I/usr/local/parmetis-gm-gnu/METISLib -I/usr/local/parmetis-gm-gnu -I/home/admin/develop/Solver/itl -I/home/admin/develop/Solver/mtl -I/home/admin/develop/Trellis/AOMD/include -I/home/admin/develop/Trellis/model/include -I/home/admin/develop/Trellis/Util/include -I/home/admin/develop/Util/Loki/include -I/home/admin/develop/Xext/XextPara/include -I/home/admin/develop/Xfem/Xfem/Xfem/../include -c Xfem/IntegratorPartitionBoundary.cc -o obj/x86_64_linux-mpich/IntegratorPartitionBoundary.o

I attached a log file

Thanks for your help,

Eric




--
Eric Bechet
Research Associate
Institut GeM, Ecole Centrale de Nantes
1, rue de la Noe, 44321 Nantes Cedex 3, France
(tel/fax) +33 2 40 37 (25 82 / 25 73)

diff -u /root/mpicc ./mpicc
--- /root/mpicc	2005-05-17 14:53:09.000000000 +0200
+++ ./mpicc	2005-06-10 11:47:31.871506760 +0200
@@ -285,7 +285,7 @@
         *) allargs="$allargs $arg"
 	if [ -s "$arg" ] ; then
 	    ext=`expr "$arg" : '.*\(\..*\)'`
-	    if [ "$ext" = ".c" ] ; then
+	    if [ "$ext" = ".c" -o "$ext" = ".i" ] ; then
 	        DoCompile=1
 	        compileargs="$compileargs $arg"
 	        fname=`basename $arg .c`
diff -u /root/mpiCC ./mpiCC
--- /root/mpiCC	2005-06-10 12:04:10.865636568 +0200
+++ ./mpiCC	2005-06-10 11:47:31.871506760 +0200
@@ -297,7 +297,8 @@
 	if [ -s "$arg" ] ; then
 	    ext=`expr "$arg" : '.*\(\..*\)'`
 	    if [ "$ext" = ".C" -o "$ext" = ".cxx" -o "$ext" = ".cpp" -o \
-		 "$ext" = ".cc" -o "$ext" = ".c" -o "$ext" = ".CC" ] ; then
+		 "$ext" = ".cc" -o "$ext" = ".c" -o "$ext" = ".CC" -o \
+		 "$ext" = ".ii" -o "$ext" = ".i" ] ; then
 	        DoCompile=1
 	        compileargs="$compileargs $arg"
 	        fname=`basename $arg $ext`
diff -u /root/mpicxx ./mpicxx
--- /root/mpicxx	2005-05-17 14:53:09.000000000 +0200
+++ ./mpicxx	2005-06-10 11:47:31.871506760 +0200
@@ -297,7 +297,8 @@
 	if [ -s "$arg" ] ; then
 	    ext=`expr "$arg" : '.*\(\..*\)'`
 	    if [ "$ext" = ".C" -o "$ext" = ".cxx" -o "$ext" = ".cpp" -o \
-		 "$ext" = ".cc" -o "$ext" = ".c" -o "$ext" = ".CC" ] ; then
+		 "$ext" = ".cc" -o "$ext" = ".c" -o "$ext" = ".CC" -o \
+		 "$ext" = ".ii" -o "$ext" = ".i" ] ; then
 	        DoCompile=1
 	        compileargs="$compileargs $arg"
 	        fname=`basename $arg $ext`
__ 
distcc mailing list            http://distcc.samba.org/
To unsubscribe or change options: 
https://lists.samba.org/mailman/listinfo/distcc

Reply via email to