I think we've exchanged e-mails about this exact topic already. :-)
Here are the threads you started on this list, each of which have a
reply from me:
http://www.lam-mpi.org/MailArchives/lam/2005/06/10742.php
http://www.lam-mpi.org/MailArchives/lam/2005/06/10750.php
http://www.lam-mpi.org/MailArchives/lam/2005/06/10767.php
Check out my replies to your posts; if those suggestions don't help,
please answer my followup questions in the 3rd thread and we'll go from
there.
Thanks.
On Jun 15, 2005, at 11:49 AM, nithu wrote:
> Hi,
>
> I tried changing g++ to mpiCC, but it gives out many other errors.
> Yes...you are rite! the build has python bindings. The software has a
> c++ core, and for the front end python bindings are used. My core
> interest is in the core c++, but i'm forced to use the build that
> comes along with the software package because, there are many
> libraries and paths to be included for the compilation and execution
> of the core c++ programs. But if the build itself has a python binding
> and if i change g++ to mpiCC it does'nt work.
>
> Any suggestions for this?
>
> Below is the error i get if i change g++ to mpiCC in the build file.
> please let me know if anyone has any clue of what is wrong.
>
>
>
> pgCC-Warning-Unknown switch: Wno-pmf-conversions
>
> "usr/local/include/ecell/libecs/Defs.hpp", line 427 :error :identifier
> INFINITY is undefined
> const Real INF (INFINITY) ;
>
> "usr/local/include/ecell/libecs/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)
>
> "usr/local/include/ecell/libecs/libecs.hpp", line 55 : warning type
> qualifier on return type is meaningless
> inline Const int getMajorVersion();
>
> "usr/local/include/ecell/libecs/libecs.hpp", line 60 : warning type
> qualifier on return type is meaningless
> inline Const int getMinorVersion();
>
> "usr/local/include/ecell/libecs/libecs.hpp", line 65 : warning type
> qualifier on return type is meaningless
> inline Const int getMicroVersion();
>
> "/usr/local/include/ecell/libecs/PropertySlot.hpp", line 254: error: no
> instance of function template
> "libecs::PropertiedClass::nullGet"
> matches the required type
> aNullMethodPtr( &PropertiedClass::nullGet<SlotType> );
> ^
> detected during:
> instantiation of "const bool
> libecs::ConcretePropertySlot<T,
>
> SlotType_>::isGetableMethod(libecs::ConcretePropertySlot<
> T, SlotType_>::GetMethodPtr) [with
> T=MakesignalProcess,
> SlotType_=libecs::Integer]" at line 189
> instantiation of "const bool
> libecs::ConcretePropertySlot<T,
> SlotType_>::isGetable() const [with
> T=MakesignalProcess,
> SlotType_=libecs::Integer]" at line 179
> instantiation of "libecs::ConcretePropertySlot<T,
> SlotType_>::~ConcretePropertySlot() [with
> T=MakesignalProcess, SlotType_=libecs::Integer]"
> at line
> 174
> instantiation of "libecs::ConcretePropertySlot<T,
>
> SlotType_>::ConcretePropertySlot(libecs::ConcreteProperty
> Slot<T, SlotType_>::SetMethodPtr,
> libecs::ConcretePropertySlot<T,
> SlotType_>::GetMethodPtr) [with
> T=MakesignalProcess,
> SlotType_=libecs::Integer]" at line 81 of
> "/usr/local/include/ecell/libecs/Process.hpp"
> instantiation of "void
>
> libecs::Process::initializePropertyInterface(libecs::Type
> 2Type<TT>) [with TT=MakesignalProcess]" at line
> 20 of
> "MakesignalProcess.cc"
> instantiation of "void
>
> MakesignalProcess::initializePropertyInterface(libecs::Ty
> pe2Type<TT>) [with TT=MakesignalProcess]" at
> line 120 of
>
> "/usr/local/include/ecell/libecs/PropertyInterface.hpp"
> instantiation of
>
> "libecs::PropertyInterface<T>::PropertyInterface() [with
> T=MakesignalProcess]"
> "/usr/local/include/ecell/libecs/PropertySlot.hpp", line 263: error: no
> instance of function template
> "libecs::PropertiedClass::nullSet"
> matches the required type
> return &PropertiedClass::nullSet<SlotType>;
> ^
> detected during:
> instantiation of "libecs::ConcretePropertySlot<T,
> SlotType_>::SetMethodPtr
> libecs::ConcretePropertySlot<T,
>
> SlotType_>::SetMethod(libecs::ConcretePropertySlot<T,
> SlotType_>::SetMethodPtr) [with
> T=MakesignalProcess,
> SlotType_=libecs::Real]" at line 170
> instantiation of "libecs::ConcretePropertySlot<T,
>
> SlotType_>::ConcretePropertySlot(libecs::ConcreteProperty
> Slot<T, SlotType_>::SetMethodPtr,
> libecs::ConcretePropertySlot<T,
> SlotType_>::GetMethodPtr) [with
> T=MakesignalProcess,
> SlotType_=libecs::Real]" at line 318
> instantiation of "libecs::LoadSaveConcretePropertySlot<T,
>
> SlotType_>::LoadSaveConcretePropertySlot(libecs::LoadSave
> ConcretePropertySlot<T, SlotType_>::SetMethodPtr,
> libecs::LoadSaveConcretePropertySlot<T,
> SlotType_>::GetMethodPtr,
> libecs::LoadSaveConcretePropertySlot<T,
> SlotType_>::SetMethodPtr,
> libecs::LoadSaveConcretePropertySlot<T,
> SlotType_>::GetMethodPtr) [with
> T=MakesignalProcess,
> SlotType_=libecs::Real]" at line 84 of
> "/usr/local/include/ecell/libecs/Process.hpp"
> instantiation of "void
>
> libecs::Process::initializePropertyInterface(libecs::Type
> 2Type<TT>) [with TT=MakesignalProcess]" at line
> 20 of
> "MakesignalProcess.cc"
> instantiation of "void
>
> MakesignalProcess::initializePropertyInterface(libecs::Ty
> pe2Type<TT>) [with TT=MakesignalProcess]" at
> line 120 of
>
> "/usr/local/include/ecell/libecs/PropertyInterface.hpp"
> instantiation of
>
> "libecs::PropertyInterface<T>::PropertyInterface() [with
> T=MakesignalProcess]"
> "/usr/local/include/ecell/libecs/PropertySlot.hpp", line 275: error: no
> instance of function template
> "libecs::PropertiedClass::nullGet"
> matches the required type
> return &PropertiedClass::nullGet<SlotType>;
> ^
> detected during:
> instantiation of "libecs::ConcretePropertySlot<T,
> SlotType_>::GetMethodPtr
> libecs::ConcretePropertySlot<T,
>
> SlotType_>::GetMethod(libecs::ConcretePropertySlot<T,
> SlotType_>::GetMethodPtr) [with
> T=MakesignalProcess,
> SlotType_=libecs::Real]" at line 171
> instantiation of "libecs::ConcretePropertySlot<T,
>
> SlotType_>::ConcretePropertySlot(libecs::ConcreteProperty
> Slot<T, SlotType_>::SetMethodPtr,
> libecs::ConcretePropertySlot<T,
> SlotType_>::GetMethodPtr) [with
> T=MakesignalProcess,
> SlotType_=libecs::Real]" at line 318
> instantiation of "libecs::LoadSaveConcretePropertySlot<T,
>
> SlotType_>::LoadSaveConcretePropertySlot(libecs::LoadSave
> ConcretePropertySlot<T, SlotType_>::SetMethodPtr,
> libecs::LoadSaveConcretePropertySlot<T,
> SlotType_>::GetMethodPtr,
> libecs::LoadSaveConcretePropertySlot<T,
> SlotType_>::SetMethodPtr,
> libecs::LoadSaveConcretePropertySlot<T,
> SlotType_>::GetMethodPtr) [with
> T=MakesignalProcess,
> SlotType_=libecs::Real]" at line 84 of
> "/usr/local/include/ecell/libecs/Process.hpp"
> instantiation of "void
>
> libecs::Process::initializePropertyInterface(libecs::Type
> 2Type<TT>) [with TT=MakesignalProcess]" at line
> 20 of
> "MakesignalProcess.cc"
> instantiation of "void
>
> MakesignalProcess::initializePropertyInterface(libecs::Ty
> pe2Type<TT>) [with TT=MakesignalProcess]" at
> line 120 of
>
> "/usr/local/include/ecell/libecs/PropertyInterface.hpp"
> instantiation of
>
> "libecs::PropertyInterface<T>::PropertyInterface() [with
> T=MakesignalProcess]"
> "/usr/local/include/ecell/libecs/PropertySlot.hpp", line 247: error: no
> instance of function template
> "libecs::PropertiedClass::nullSet"
> matches the required type
> const SetMethodPtr aNullMethodPtr(
> &PropertiedClass::nullSet<SlotType> );
> ^
> detected during:
> instantiation of "const bool
> libecs::ConcretePropertySlot<T,
>
> SlotType_>::isSetableMethod(libecs::ConcretePropertySlot<
> T, SlotType_>::SetMethodPtr) [with
> T=MakesignalProcess,
> SlotType_=libecs::Real]" at line 184
> instantiation of "const bool
> libecs::ConcretePropertySlot<T,
> SlotType_>::isSetable() const [with
> T=MakesignalProcess,
> SlotType_=libecs::Real]" at line 179
> instantiation of "libecs::ConcretePropertySlot<T,
> SlotType_>::~ConcretePropertySlot() [with
> T=MakesignalProcess, SlotType_=libecs::Real]" at
> line 174
> instantiation of "libecs::ConcretePropertySlot<T,
>
> SlotType_>::ConcretePropertySlot(libecs::ConcreteProperty
> Slot<T, SlotType_>::SetMethodPtr,
> libecs::ConcretePropertySlot<T,
> SlotType_>::GetMethodPtr) [with
> T=MakesignalProcess,
> SlotType_=libecs::Real]" at line 318
> instantiation of "libecs::LoadSaveConcretePropertySlot<T,
>
> SlotType_>::LoadSaveConcretePropertySlot(libecs::LoadSave
> ConcretePropertySlot<T, SlotType_>::SetMethodPtr,
> libecs::LoadSaveConcretePropertySlot<T,
> SlotType_>::GetMethodPtr,
> libecs::LoadSaveConcretePropertySlot<T,
> SlotType_>::SetMethodPtr,
> libecs::LoadSaveConcretePropertySlot<T,
> SlotType_>::GetMethodPtr) [with
> T=MakesignalProcess,
> SlotType_=libecs::Real]" at line 84 of
> "/usr/local/include/ecell/libecs/Process.hpp"
> instantiation of "void
>
> libecs::Process::initializePropertyInterface(libecs::Type
> 2Type<TT>) [with TT=MakesignalProcess]" at line
> 20 of
> "MakesignalProcess.cc"
> instantiation of "void
>
> MakesignalProcess::initializePropertyInterface(libecs::Ty
> pe2Type<TT>) [with TT=MakesignalProcess]" at
> line 120 of
>
> "/usr/local/include/ecell/libecs/PropertyInterface.hpp"
> instantiation of
>
> "libecs::PropertyInterface<T>::PropertyInterface() [with
> T=MakesignalProcess]"
> "/usr/local/include/ecell/libecs/PropertySlot.hpp", line 254: error: no
> instance of function template
> "libecs::PropertiedClass::nullGet"
> matches the required type
> aNullMethodPtr( &PropertiedClass::nullGet<SlotType> );
> ^
> detected during:
> instantiation of "const bool
> libecs::ConcretePropertySlot<T,
>
> SlotType_>::isGetableMethod(libecs::ConcretePropertySlot<
> T, SlotType_>::GetMethodPtr) [with
> T=MakesignalProcess,
> SlotType_=libecs::Real]" at line 189
> instantiation of "const bool
> libecs::ConcretePropertySlot<T,
> SlotType_>::isGetable() const [with
> T=MakesignalProcess,
> SlotType_=libecs::Real]" at line 179
> instantiation of "libecs::ConcretePropertySlot<T,
> SlotType_>::~ConcretePropertySlot() [with
> T=MakesignalProcess, SlotType_=libecs::Real]" at
> line 174
> instantiation of "libecs::ConcretePropertySlot<T,
>
> SlotType_>::ConcretePropertySlot(libecs::ConcreteProperty
> Slot<T, SlotType_>::SetMethodPtr,
> libecs::ConcretePropertySlot<T,
> SlotType_>::GetMethodPtr) [with
> T=MakesignalProcess,
> SlotType_=libecs::Real]" at line 318
> instantiation of "libecs::LoadSaveConcretePropertySlot<T,
>
> SlotType_>::LoadSaveConcretePropertySlot(libecs::LoadSave
> ConcretePropertySlot<T, SlotType_>::SetMethodPtr,
> libecs::LoadSaveConcretePropertySlot<T,
> SlotType_>::GetMethodPtr,
> libecs::LoadSaveConcretePropertySlot<T,
> SlotType_>::SetMethodPtr,
> libecs::LoadSaveConcretePropertySlot<T,
> SlotType_>::GetMethodPtr) [with
> T=MakesignalProcess,
> SlotType_=libecs::Real]" at line 84 of
> "/usr/local/include/ecell/libecs/Process.hpp"
> instantiation of "void
>
> libecs::Process::initializePropertyInterface(libecs::Type
> 2Type<TT>) [with TT=MakesignalProcess]" at line
> 20 of
> "MakesignalProcess.cc"
> instantiation of "void
>
> MakesignalProcess::initializePropertyInterface(libecs::Ty
> pe2Type<TT>) [with TT=MakesignalProcess]" at
> line 120 of
>
> "/usr/local/include/ecell/libecs/PropertyInterface.hpp"
> instantiation of
>
> "libecs::PropertyInterface<T>::PropertyInterface() [with
> T=MakesignalProcess]"
> "/usr/local/include/ecell/libecs/PropertyInterface.hpp", line 229:
> warning:
> missing return statement at end of non-void function
> "libecs::PropertyInterface<T>::createPropertySlotProxy [with
> T=MakesignalProcess]"
> }
> ^
> detected during instantiation of
> "libecs::PropertySlotProxyPtr
>
> libecs::PropertyInterface<T>::createPropertySlotProxy(T &,
> libecs::StringCref) [with T=MakesignalProcess]"
> "/usr/local/include/ecell/libecs/PropertyInterface.hpp", line 336:
> warning:
> missing return statement at end of non-void function
> "libecs::PropertyInterface<T>::saveProperty [with
> T=MakesignalProcess]"
> }
> ^
> detected during instantiation of "const libecs::Polymorph
> libecs::PropertyInterface<T>::saveProperty(const T
> &,
> libecs::StringCref) [with T=MakesignalProcess]"
> 18 errors detected in the compilation of "MakesignalProcess.cc".
> E-Cell3 dmcompile: Error: The compiler failed to create
> MakesignalProcess.o
> [root_at_master LTD]#
>
> Thanks
>
> NG
>
>
>
>
>
>
>
>
>
>
>
>
>
> Do you Yahoo!?
> Yahoo! Mail - Helps protect you from nasty viruses.From: Jeff Squyres
> <jsquyres_at_[hidden]>
> Subject: Re: LAM: changin compiler
> Date: Tue, 14 Jun 2005 18:12:51 -0400
> To: General LAM/MPI mailing list <lam_at_[hidden]>
>
> FWIW: this looks like Python code, not a Makefile. Does your build
> system use python?
>
> If so, I *suspect* that changing the "CXX" line to contain mpiCC
> instead of g++ should do the trick. As long as mpiCC is using g++ as a
> back-end compiler (which you can verify by running "mpiCC -showme"),
> the rest of your flags should be fine (although on most modern g++
> installations, you shouldn't need -lstdc++, I think...?).
>
>
> On Jun 14, 2005, at 4:40 PM, nithu wrote:
>
> > Hi,
> >
> > i'm trying to change the compiler of a software from gcc to mpiCC. i
> > tried changing the code in the make file, to make it accept mpiCC in
> > place of gcc. A small part of the make file is
> >
> > import string
> > import getopt
> > prefix=os.environ['ECELL3_PREFIX']
> > exec_prefix=prefix
> > libdir=exec_prefix + os.sep + 'lib'
> > CXX='g++'
> > ORIG_CXXFLAGS="-O2 -g -pipe -march=i386 -mcpu=i686"
> > LDADD='-lstdc++'
> > SHLEXT='.so'
> > CXXSUFFIX='.cpp'
> > CXXFLAGS = os.environ.get('CXXFLAGS','')
> > VERBOSE = False
> >
> > i would like to know where and what kind of changes i should make to
> > force it to change from gcc compiler to mpiCC compiler.
> >
> > Thanks,
> > NG
> >
> > Do you Yahoo!?
> > Yahoo! Mail - Helps protect you from nasty
> > viruses._______________________________________________
> > This list is archived at http://www.lam-mpi.org/MailArchives/lam/
>
> --
> {+} Jeff Squyres
> {+} jsquyres_at_[hidden]
> {+} http://www.lam-mpi.org/
>
>
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com_______________________________________________
> This list is archived at http://www.lam-mpi.org/MailArchives/lam/
--
{+} Jeff Squyres
{+} jsquyres_at_[hidden]
{+} http://www.lam-mpi.org/
|