LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: nithu (cool_nithi_at_[hidden])
Date: 2005-07-01 20:24:02


Hi,

This is what i have tried so far...

I installed a software(e-cell, bioinformatics related) that uses gcc as the default compiler, on 15 node linux cluster. I want to change the compiler from gcc to mpiCC, to parallelize the software. The software has C++ core, and python bindings as front end. For this first i tried changing the python script which calls gcc to compile. But this gave out different kind of errors. So i went ahead forcing to use mpiCC compiler when configuring, rather than the default gcc. Different variations of commands i've used so far are,

$./configure CC=mpicc CXX=mpiCC

$./configure --with-CC=mpicc --with-CXX=mpiCC

for all these alternatives, configure does not give out any error, but when it comes to make, it fails.

$make CC=mpicc CXX=mpiCC

$make

For this i get errors like....

mpiCC -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../.. -I/usr/include -I/workx5/ecell3 -I../../libltdl -g -Wno-pmf-conversions -g -Wno-pmf-conversions -c libecs.cpp -DPIC -o .libs/libecs.o
pgCC-Warning-Unknown switch: -Wno-pmf-conversions
pgCC-Warning-Unknown switch: -Wno-pmf-conversions
"Defs.hpp", line 427: error: identifier "INFINITY" is undefined
    const Real INF( INFINITY );
                    ^
"Defs.hpp", line 444: warning: type qualifier on return type is meaningless
    inline const Real FMA( const Real a, const Real b, const Real c )
                      ^
"libecs.hpp", line 55: warning: type qualifier on return type is meaningless
    inline const int getMajorVersion()
                     ^
"libecs.hpp", line 60: warning: type qualifier on return type is meaningless
    inline const int getMinorVersion()
                     ^
"libecs.hpp", line 65: warning: type qualifier on return type is meaningless
    inline const int getMicroVersion()
                     ^
1 error detected in the compilation of "libecs.cpp".
make[5]: *** [libecs.lo] Error 1
make[5]: Leaving directory `/workx5/ecell3/ecell/libecs'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/workx5/ecell3/ecell/libecs'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/workx5/ecell3/ecell'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/workx5/ecell3/ecell'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/workx5/ecell3'
make: *** [all] Error 2
[root_at_master ecell3]#
 
The software is working fine with gcc, and as mpiCC is just a wrapper of gcc, it should not be a big problem to change the compiler. This is what i've done so far...and for the problem with pgCC part....
pgCC-Warning-Unknown switch: -Wno-pmf-conversions
 
Wno-pmf-conversions is realted to C++, and the description in man page is,
"Disable the diagnostic for converting a bound pointer to member function to a plain pointer"
 
is there is an mpi alternative for this? is there any other way of solving this problem?
 
Thanks,
 
Nithila.

                
---------------------------------
Discover Yahoo!
 Find restaurants, movies, travel & more fun for the weekend. Check it out!