[lammps-users] Make error in pymol_asphere tools under suse 10.3.

Dear all,

I used the COMPILER = gnu in Makefile. And it comes with several “undefined reference”. It looks some head files miss. However I can not find what is the name of the head file. Does anybody meet similar problem? I’ve test the "g++"and “gcc” all work well. I found that the “undefined reference” has been defined in cartesian.h. The cartesian.h has been included in glsurface.h.

Following is the error info.

g++ -g -DDEBUG -DNANCHECK -Wall -pedantic -I. -I. -I. -I. -I. -I. -c -o …/obj/error.o error.cpp

g++ -g -DDEBUG -DNANCHECK -Wall -pedantic -I. -I. -I. -I. -I. -I. -c -o …/obj/misc.o misc.cpp

ar -crusv …/obj/liball.a …/obj/error.o …/obj/commandline.o …/obj/misc.o

a - …/obj/error.o

a - …/obj/commandline.o

a - …/obj/misc.o

g++ -o …/bin/asphere_vis …/obj/asphere_vis.o …/obj/libgraphics.a …/obj/libmath.a …/obj/liball.a

…/obj/libgraphics.a(glsurface.o): In function `GLSurface::writelines(std::vector<GLline, std::allocator >&, std::basic_ofstream<char, std::char_traits >&, std::basic_string<char, std::char_traits, std::allocator > const&)’:

/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:469: undefined reference to `ThreeD::operator[](unsigned int)’

/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:473: undefined reference to `ThreeD::operator[](unsigned int)’

/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:477: undefined reference to `ThreeD::operator[](unsigned int)’

…/obj/libgraphics.a(glsurface.o): In function `GLSurface::writelinestrips(std::basic_ofstream<char, std::char_traits >&, std::basic_string<char, std::char_traits, std::allocator > const&)’:

/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:425: undefined reference to `ThreeD::operator[](unsigned int)’

/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:429: undefined reference to `ThreeD::operator[](unsigned int)’

…/obj/libgraphics.a(glsurface.o):/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:433: more undefined references to `ThreeD::operator[](unsigned int)’ follow

…/obj/libgraphics.a(glsurface.o): In function `GLSurface::triarea(Triangle&)’:

/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:182: undefined reference to `ThreeD::dist(ThreeD const&)’

/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:183: undefined reference to `ThreeD::dist(ThreeD const&)’

/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:184: undefined reference to `ThreeD::dist(ThreeD const&)’

…/obj/libgraphics.a(glsurface.o): In function `GLSurface::flipnormals()’:

/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:167: undefined reference to `ThreeD::operator*=(double const&)’

…/obj/libgraphics.a(glsurface.o): In function `GLSurface::normalize()’:

/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:153: undefined reference to `ThreeD::normalize()’

…/obj/libgraphics.a(glsurface.o): In function `GLSurface::calculatenormals()’:

/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:120: undefined reference to `ThreeD::operator[](unsigned int)’

/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:120: undefined reference to `ThreeD::operator[](unsigned int)’

/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:120: undefined reference to `ThreeD::operator[](unsigned int)’

/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:120: undefined reference to `ThreeD::operator[](unsigned int)’

/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:120: undefined reference to `ThreeD::operator[](unsigned int)’

…/obj/libgraphics.a(glsurface.o):/home/qji/program/lammps/lammps-5Oct07/tools/pymol_asphere/src/glsurface.cpp:121: more undefined references to `ThreeD::operator[](unsigned int)’ follow

collect2: ld returned 1 exit status

make: *** […/bin/asphere_vis] Error 1