bzrversion missing during compilation

Asked by robertsawko

Hello,

I am trying to compile your code from sources on Arch Linux 64 bit. I got the following dependencies that you mention in the manual

python*
boost
povray
vtk

I create a build dir run cmake and make. It crashes with

```
[ 33%] Building CXX object Parallel/CMakeFiles/Parallel.dir/CheckPointInfo.cpp.o
/home/robert/download/software/Esys/Parallel/CheckPointInfo.cpp:18:24: fatal error: bzrversion.h: No such file or directory
 #include "bzrversion.h"
                        ^
compilation terminated.
Parallel/CMakeFiles/Parallel.dir/build.make:422: recipe for target 'Parallel/CMakeFiles/Parallel.dir/CheckPointInfo.cpp.o' failed
make[2]: *** [Parallel/CMakeFiles/Parallel.dir/CheckPointInfo.cpp.o] Error 1
CMakeFiles/Makefile2:1429: recipe for target 'Parallel/CMakeFiles/Parallel.dir/all' failed
make[1]: *** [Parallel/CMakeFiles/Parallel.dir/all] Error 2
Makefile:117: recipe for target 'all' failed
make: *** [all] Error 2
```

I was looking frantically for a package which may contain this file but failed. Can you give me a clue on which package may contain bzrversion.h? Does it come from bazar?

Another issue I may have is that arch uses python3 by default so my python maps to python3. I changes some patch CMakeCache.txt manually just in case, but that didn't change a thing.

Please let me know if you have any ideas.

Question information

Language:
English Edit question
Status:
Solved
For:
ESyS-Particle Edit question
Assignee:
No assignee Edit question
Solved by:
Dion Weatherley
Solved:
Last query:
Last reply:
Revision history for this message
Best Dion Weatherley (d-weatherley) said :
#1

Hi Robert,

The cmake build system for ESyS-Particle is still experimental and non-functional. The best way to build ESyS-Particle is via the older Automake system. Installation instructions are available here:
https://answers.launchpad.net/esys-particle/+faq/1613
(specifically steps 4 through 8).

Cheers,

Dion

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

Hi again Robert,

I forgot to mention earlier that both Python-2.X and Python-3 are supported by ESyS-Particle, so that should not be an issue on your system. Note however that some changes to Python-2.x scripts (e.g. in the Tutorial) may be required.

Cheers,

Dion

Revision history for this message
robertsawko (robertsawko) said :
#3

Thanks for the reply. Yes, I missed the other set of notes. I seem to have made some progress with automake but still struggling a bit. I had to add LDFLAGS=-L/usr/lib/openmpi as configure couldn't detect my openmpi installation. Now I run into a linking error when running make

```
libtool: warning: '-release' is ignored for programs
../../Foundation/.libs/libFoundation.so: undefined reference to `ompi_mpi_cxx_op_intercept'
../../Foundation/.libs/libFoundation.so: undefined reference to `MPI::Datatype::Free()'
../../Foundation/.libs/libFoundation.so: undefined reference to `MPI::Comm::Comm()'
../../Foundation/.libs/libFoundation.so: undefined reference to `MPI::Win::Free()'
collect2: error: ld returned 1 exit status
make[3]: *** [dump2geo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
```

when linking dump2geo. I googled this briefly and the only relevant advice was to use mpicc/mpic++. I am certain I have those and set them in CC and CXX variables in configure but make still seems to be using g++

```
/bin/sh ../../libtool --tag=CXX --mode=link g++ -g -O2 -release 2.3.2 -L/usr/lib -Wl,-R,/usr/lib -L/usr/lib/openmpi -o dump2geo main.o frame_geo.o ../../Foundation/libFoundation.la ../../Geometry/libGgGeometry.la ../../Parallel/libParallel.la -lpython3.4m -lmpi
libtool: link: g++ -g -O2 -Wl,-R -Wl,/usr/lib -o .libs/dump2geo main.o frame_geo.o -L/usr/lib -L/usr/lib/openmpi ../../Foundation/.libs/libFoundation.so ../../Geometry/.libs/libGgGeometry.so ../../Parallel/.libs/libParallel.so /home/robert/download/software/Esys/esys-particle/ppa/src/.libs/libppa.so /home/robert/download/software/Esys/esys-particle/ntable/src/.libs/libntable.so /home/robert/download/software/Esys/esys-particle/Fields/.libs/libFields.so /home/robert/download/software/Esys/esys-particle/Model/.libs/libModel.so /home/robert/download/software/Esys/esys-particle/Geometry/.libs/libGgGeometry.so /home/robert/download/software/Esys/esys-particle/tml/comm/.libs/libTmlComm.so /home/robert/download/software/Esys/esys-particle/Foundation/.libs/libFoundation.so -lboost_filesystem -lboost_system -lboost_python3 /home/robert/download/software/Esys/esys-particle/tml/message/.libs/libTmlMessage.so /home/robert/download/software/Esys/esys-particle/tml/type/.libs/libTmlType.so /home/robert/download/software/Esys/esys-particle/pis/.libs/libpis.so -lpython3.4m -lmpi -Wl,-rpath -Wl,/usr/local/lib
```

Could you let me know how I could fix that?

Revision history for this message
robertsawko (robertsawko) said :
#4

Wait, wait. Just as I posted I realized I misspelled CXX for CCX. Give me a minute to reconfigure and recompile. Sorry!

Revision history for this message
robertsawko (robertsawko) said :
#5

Yes, that made a big difference. I can now compile the project - thanks.

Revision history for this message
robertsawko (robertsawko) said :
#6

Thanks Dion Weatherley, that solved my question.