Hi,
I am trying to compile partio ( for the first time! ) from the source on CentOS 6.4. The main reason for compiling from source and not using the pre-compiled version is the requirement of GLIBC_2.14.
After going through pretty straight forward method of cmake & make, i am getting following error :
Linking CXX static library ../../lib/libpartio.a
[ 58%] Built target partio
Linking CXX executable ../../bin/partattr
../../lib/libpartio.a(ParticleIO.o): In function `Partio::readers()':
ParticleIO.cpp:(.text+0x1c75): undefined reference to `Partio::readBGEO(char const*, bool)'
ParticleIO.cpp:(.text+0x1cbf): undefined reference to `Partio::readBGEO(char const*, bool)'
ParticleIO.cpp:(.text+0x1d9f): undefined reference to `Partio::readPDB(char const*, bool)'
ParticleIO.cpp:(.text+0x1dec): undefined reference to `Partio::readPDB32(char const*, bool)'
ParticleIO.cpp:(.text+0x1f50): undefined reference to `Partio::readPDB64(char const*, bool)'
ParticleIO.cpp:(.text+0x1f9a): undefined reference to `Partio::readPDA(char const*, bool)'
ParticleIO.cpp:(.text+0x2034): undefined reference to `Partio::readPTC(char const*, bool)'
ParticleIO.cpp:(.text+0x2422): undefined reference to `Partio::readBGEO(char const*, bool)'
ParticleIO.cpp:(.text+0x256e): undefined reference to `Partio::readBGEO(char const*, bool)'
collect2: ld returned 1 exit status
make[2]: *** [bin/partattr] Error 1
make[1]: *** [src/tools/CMakeFiles/partattr.dir/all] Error 2
make: *** [all] Error 2
After bit digging, it seems that this happens during readers() function inside ParticleIO.cpp file. For testing, I changed static bool initialized = true from false, after which it did compile fine, but obviously as these readers are not registered, compiled executables did not work.
Can you please pin point to the exact issue if I am missing out on anything here? I am using codebase from "Master" branch of partio repository.
CentOS : 6.4
gcc (GCC) 4.4.7
Thanks,
Rupesh.