Compilation of trunk version

Asked by Gonzalo Tancredi

Since I am interested in the implementation of the Hertz interaction, as suggested by Ning, I am trying to install the trunk version of ESyS; which includes this new type of interaction.

When I run the "make" I get the following error message:

Making all in MainBE
make[2]: Entering directory `/home/gonzalo/Software/ESyS-Particle/MainBE'
/bin/bash ../libtool --tag=CXX --mode=link mpic++ -g -O2 -release 2.0 -L/usr/lib -o ESySParticleBEWorker Worker.o ../Parallel/libParallel.la ../ntable/src/libntable.la ../tml/message/libTmlMessage.la ../tml/type/libTmlType.la ../ppa/src/libppa.la ../Fields/libFields.la ../Geometry/libGgGeometry.la -lboost_filesystem-mt -lpython2.6
libtool: link: warning: `-release' is ignored for programs
libtool: link: mpic++ -g -O2 -o .libs/ESySParticleBEWorker Worker.o -L/usr/lib ../Parallel/.libs/libParallel.so ../ntable/src/.libs/libntable.so ../tml/message/.libs/libTmlMessage.so ../tml/type/.libs/libTmlType.so ../ppa/src/.libs/libppa.so ../Fields/.libs/libFields.so ../Geometry/.libs/libGgGeometry.so -lboost_filesystem-mt -lpython2.6
../Parallel/.libs/libParallel.so: undefined reference to `CHertzianElasticInteraction::getVectorFieldFunction(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
../Parallel/.libs/libParallel.so: undefined reference to `CHertzianElasticInteraction::CHertzianElasticInteraction(CParticle*, CParticle*, CHertzianElasticIGP const&)'
../Parallel/.libs/libParallel.so: undefined reference to `CLinearDashpotInteraction::getCheckedScalarFieldFunction(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
../Parallel/.libs/libParallel.so: undefined reference to `extractLocalDampingIGP(AMPIBuffer*)'
../Parallel/.libs/libParallel.so: undefined reference to `CLocalDampingIGP::CLocalDampingIGP()'
../Parallel/.libs/libParallel.so: undefined reference to `CLinearDashpotInteraction::getScalarFieldFunction(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
../Parallel/.libs/libParallel.so: undefined reference to `CHertzianElasticInteraction::getCheckedScalarFieldFunction(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
../Parallel/.libs/libParallel.so: undefined reference to `vtable for CHertzianElasticInteraction'
../Parallel/.libs/libParallel.so: undefined reference to `CLinearDashpotIGP::CLinearDashpotIGP()'
../Parallel/.libs/libParallel.so: undefined reference to `vtable for CLinearDashpotInteraction'
../Parallel/.libs/libParallel.so: undefined reference to `CLinearDashpotInteraction::CLinearDashpotInteraction(CParticle*, CParticle*, CLinearDashpotIGP const&)'
../Parallel/.libs/libParallel.so: undefined reference to `TriMesh::hasMovedBy(double)'
../Parallel/.libs/libParallel.so: undefined reference to `TriMesh::resetCurrentDisplacement()'
../Parallel/.libs/libParallel.so: undefined reference to `CHertzianElasticInteraction::getScalarFieldFunction(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
../Parallel/.libs/libParallel.so: undefined reference to `CHertzianElasticIGP::CHertzianElasticIGP()'
../Parallel/.libs/libParallel.so: undefined reference to `CLinearDashpotInteraction::getVectorFieldFunction(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
../Parallel/.libs/libParallel.so: undefined reference to `vtable for CLocalDampingIGP'
collect2: ld returned 1 exit status
make[2]: *** [ESySParticleBEWorker] Error 1
make[2]: Leaving directory `/home/gonzalo/Software/ESyS-Particle/MainBE'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/gonzalo/Software/ESyS-Particle'
make: *** [all] Error 2

Any suggestions on how to overcome it?

Regards

Gonzalo Tancredi

Question information

Language:
English Edit question
Status:
Solved
For:
ESyS-Particle Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:

This question was originally filed as bug #490045.

Revision history for this message
Dion Weatherley (d-weatherley) said :
#1

Hi Gonzalo,

Before you tried to compile the new trunk did you do the following?

* cd old/esys/source/dir
* sudo make uninstall
* make distclean

* cd new/esys/source/trunk/
* sh autogeon.sh
* ./configure ...
* make

I've compiled the new trunk quite a new times in the past few days and haven't had any problems with it so I suspect your system is getting confused by old and new versions conflicting with each other.

Cheers,

Dion.

Revision history for this message
Gonzalo Tancredi (gonzalo) said :
#2

Hi Dion

After unistalling the old version, it works.

Thanks

Gonzalo

Revision history for this message
Dion Weatherley (d-weatherley) said :
#3

As confirmed by original poster, uninstalling old versions of ESyS-Particle solves this problem.