Issues with compiling CFDEMcoupling 2.7.1 with CentFOAM-2.3.x

Submitted by alberthappy on Mon, 02/09/2015 - 17:29

Dear everyone,

First of all, Thanks to all those devoting their time and endeavor to the development of open source software like CFDEM and those helping others to learn and explore the use of the software. I learn a lot from this forum.

Basically, I follow the tutorial to install the CFDEM coupling. The OpenFOAM version that I use is CentFOAM-2.3.x, which is easier to compile. And I'm using a server that I don't have root permission. I installed CentFOAM in /local/

First I tested the environment variables with cfdemSysTest and it went well. As suggested here (link), I changed Compiler setting in mpic++-wrapper-data.txt. Thanks again.

Then I compiled the LIGGGHTS again with compiling flag -fPIC.

Then I started to compile the CFDEM coupling. From the log files, I can see that I compiled the CFDEMcoupling_cfdemParticle with no problem and it generated the dynamic library for me. But when it went on working on cfdemSolverPiso, it give errors as such:

//log_compileCFDEMcoupling_cfdemSolverPiso:

g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-100 -I/local/feng/centFOAM/OpenFOAM/OpenFOAM-2.3.x/src/turbulenceModels/incompressible/turbulenceModel -I/local/feng/centFOAM/OpenFOAM/OpenFOAM-2.3.x/src/transportModels -I/local/feng/centFOAM/OpenFOAM/OpenFOAM-2.3.x/src/transportModels/incompressible/singlePhaseTransportModel -I/local/feng/centFOAM/OpenFOAM/OpenFOAM-2.3.x/src/finiteVolume/lnInclude -I/home/fqi/CFDEM/CFDEMcoupling-PUBLIC-2.3.x/src/lagrangian/cfdemParticle/lnInclude -I/home/fqi/CFDEM/CFDEMcoupling-PUBLIC-2.3.x/src/lagrangian/cfdemParticle/cfdTools -IlnInclude -I. -I/local/feng/centFOAM/OpenFOAM/OpenFOAM-2.3.x/src/OpenFOAM/lnInclude -I/local/feng/centFOAM/OpenFOAM/OpenFOAM-2.3.x/src/OSspecific/POSIX/lnInclude -fPIC -Xlinker --add-needed -Xlinker --no-as-needed Make/linux64GccDPOpt/cfdemSolverPiso.o -L/local/feng/centFOAM/OpenFOAM/OpenFOAM-2.3.x/platforms/linux64GccDPOpt/lib \
-L/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib -lincompressibleRASModels -lincompressibleLESModels -lincompressibleTransportModels -lfiniteVolume -llagrangianCFDEM-PUBLIC-2.3.x -lOpenFOAM -ldl -lm -o /home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/bin/cfdemSolverPiso
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `jpeg_set_defaults'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `jpeg_write_scanlines'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkXMLUnstructuredGridWriter::New()'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkDataArrayTemplate::WritePointer(long long, long long)'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `jpeg_set_quality'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkDataArrayTemplate::InsertNextTupleValue(double const*)'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkXMLWriter::SetInput(vtkDataObject*)'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `jpeg_stdio_dest'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkXMLWriter::Write()'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkDataArrayTemplate::InsertNextValue(double)'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkXMLWriter::SetDataModeToAscii()'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `jpeg_start_compress'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `jpeg_std_error'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkUnstructuredGrid::New()'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `jpeg_finish_compress'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkCellArray::New()'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkDoubleArray::New()'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkSmartPointerBase::~vtkSmartPointerBase()'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `jpeg_destroy_compress'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkDataArrayTemplate::InsertNextValue(int)'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkIntArray::New()'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkPoints::New()'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `jpeg_CreateCompress'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkFieldData::AddArray(vtkAbstractArray*)'
/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/lib/liblagrangianCFDEM-PUBLIC-2.3.x.so: undefined reference to `vtkUnstructuredGrid::SetCells(int, vtkCellArray*)'
collect2: error: ld returned 1 exit status
make: *** [/home/fqi/OpenFOAM/fqi-2.3.x/platforms/linux64GccDPOpt/bin/cfdemSolverPiso] Error 1

It seems to me that I missed the include path somewhere (VTK, JPEG include file). But I did have that pathway setting in the makefile for liggghts and I think that's the only place that I need this setting. Right? After that, I also try to export the CPLUS_INCLUDE_PATH in my ~/.bashrc. But it seems not work for this problem.

Besides, I noticed that the process generate a new directory called OpenFOAM in my $HOME directory. It goes like $HOME/OpenFOAM/LoginName-OpenFOAM version/. Is it a problem when my OpenFOAM software is actually in /local

alberthappy | Wed, 02/11/2015 - 01:58

I noticed from the linking process that I didn't add -I pathway for vtk-5.8 and jpeg. So I added these two pathways in the option file ($CFDEM_PROJECT_DIR/applications/solvers/cfdemSolverPiso/). Then I try again. The problem is still there. But its apparent that the include pathway for both vtk and jpeg has been included in the linking process. I don't get why it still give this error. Any other hints?

Fenglei Qi

j-kerbl's picture

j-kerbl | Wed, 02/11/2015 - 13:31

Hi Albert,

which LIGGGHTS Makefile did you use and did you use one of the CFDEMcoupling Compile Scripts, as cfdemCompCFDEMall ?
If you Compiled it manually, it is possible some LIGGGHTS libraries for the coupling are missing. And if you used a LIGGGHTS-VTK file you need to add the vtk libs to the options, as you described above.
It would be best to thest cfdemCompCFDEMall with the predefined fedora_fpic to be sure there is no VTK mixup or anything like that.

Cheers
Josef

alberthappy | Wed, 02/11/2015 - 17:16

Thanks for your answer, Josef. The problem is just as you said. I figured it out yesterday. For those who might help from this thread later, the Makefile that i used is fedora with some include/library pathway modification. The compiling script is cfdemCompCFDEM as suggested in the installation guideline. I might try cfdemCompCFDEMall later if I have time. The problem can be solved by adding both library pathways and library names (I forgot this at the first time) to the option file. Then it can be compiled successfully. As suggested by Josef, it might be better using fedora_fpic for compiling LIGGGHTS. But I just did it in my way.

Fenglei Qi

rahulsoni | Tue, 05/12/2015 - 12:58

Hi, I have been trying to compile the LIGGGHTS 3.1.0 with Makefile.altixVTK

But my case is slightly peculiar. I am trying to do everything in a remote ssh cluster without root privileges.
The needed installations and their locations are given below:

vtk-devel: /home1/sdash/LIGGGHTS/vtk-devel/
VTK-Source: /home1/sdash/LIGGGHTS/VTK-Installation/VTK-5.8/VTK-5.8-SRC
VTK-Build: /home1/sdash/LIGGGHTS/VTK-Installation/VTK-5.8/VTK-5.8-Build

I tried with different combinations of the include paths but no luck. Following is my Makefile.altixVTK

# openmpi = altix, icc, OpenMPI

SHELL = /bin/sh

# ---------------------------------------------------------------------
# compiler/linker settings
# specify flags and libraries needed for your compiler

CC = icc
CCFLAGS = -O2 \
-funroll-loops -fstrict-aliasing -Wall -Wno-unused-result
SHFLAGS =
DEPFLAGS = -M

LINK = icc
LINKFLAGS = -O2
LIB = -lstdc++
SIZE = size

ARCHIVE = ar
ARFLAGS = -rcsv
SHLIBFLAGS = -shared

# ---------------------------------------------------------------------
# LAMMPS-specific settings
# specify settings for LAMMPS features you will use
# if you change any -D setting, do full re-compile after "make clean"

# LAMMPS ifdef settings, OPTIONAL
# see possible settings in doc/Section_start.html#2_2 (step 4)

LMP_INC = -DLAMMPS_GZIP -DLAMMPS_VTK -DLAMMPS_VTK -DLAMMPS_JPEG -DLAMMPS_PNG

# MPI library, REQUIRED
# see discussion in doc/Section_start.html#2_2 (step 5)
# can point to dummy MPI library in src/STUBS as in Makefile.serial
# INC = path for mpi.h, MPI compiler settings
# PATH = path for MPI library
# LIB = name of MPI library

MPI_INC = -DMPICH_SKIP_MPICX
MPI_PATH =
MPI_LIB = -lmpi

# FFT library, OPTIONAL
# see discussion in doc/Section_start.html#2_2 (step 6)
# can be left blank to use provided KISS FFT library
# INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings
# PATH = path for FFT library
# LIB = name of FFT library

FFT_INC =
FFT_PATH =
FFT_LIB =

# JPEG and/or PNG library, OPTIONAL
# see discussion in doc/Section_start.html#2_2 (step 7)
# only needed if -DLAMMPS_JPEG or -DLAMMPS_PNG listed with LMP_INC
# INC = path(s) for jpeglib.h and/or png.h
# PATH = path(s) for JPEG library and/or PNG library
# LIB = name(s) of JPEG library and/or PNG library

JPG_INC =
JPG_PATH =
JPG_LIB = -ljpeg -lpng

# VTK library, OPTIONAL
# INC = path for VTK header files
# PATH = path for VTK library
# LIB = name of VTK library

VTK_INC = -I/home1/sdash/LIGGGHTS/VTK-Installation/VTK-5.8/VTK-5.8-Build -I/home1/sdash/LIGGGHTS/VTK-Installation/VTK-5.8/VTK-5.8-SRC -I/home1/sdash/LIGGGHTS/VTK-Installation/VTK-5.8/VTK-5.8-SRC/Common -I/home1/sdash/LIGGGHTS/VTK-Installation/VTK-5.8/VTK-5.8-SRC/Filtering -I/home1/sdash/LIGGGHTS/VTK-Installation/VTK-5.8/VTK-5.8-SRC/IO -I/home1/sdash/LIGGGHTS/VTK-Installation/VTK-5.8/VTK-5.8-Build/bin -I/home1/sdash/LIGGGHTS/vtk-devel/usr/include/vtk-5.8
VTK_PATH = -L/home1/sdash/LIGGGHTS/vtk-devel/usr/include/vtk-5.8
#VTK_LIB = -lvtkCommon -lvtkFiltering -lvtkIO
VTK_LIB = -L/home1/sdash/LIGGGHTS/vtk-devel/usr/lib64/vtk/vtkCommon -L/home1/sdash/LIGGGHTS/vtk-devel/usr/lib64/vtk/vtkFiltering -L/home1/sdash/LIGGGHTS/vtk-devel/usr/lib64/vtk/vtkIO

# ---------------------------------------------------------------------
# build rules and dependencies
# no need to edit this section

include Makefile.package.settings
include Makefile.package

EXTRA_INC = $(LMP_INC) $(PKG_INC) $(MPI_INC) $(FFT_INC) $(JPG_INC) $(VTK_INC) $(PKG_SYSINC)
EXTRA_PATH = $(PKG_PATH) $(MPI_PATH) $(FFT_PATH) $(JPG_PATH) $(VTK_PATH) $(PKG_SYSPATH)
EXTRA_LIB = $(PKG_LIB) $(MPI_LIB) $(FFT_LIB) $(JPG_LIB) $(VTK_LIB) $(PKG_SYSLIB)

# Path to src files

vpath %.cpp ..
vpath %.h ..

# Link target

$(EXE): $(OBJ)
$(LINK) $(LINKFLAGS) $(EXTRA_PATH) $(OBJ) $(EXTRA_LIB) $(LIB) -o $(EXE)
$(SIZE) $(EXE)

# Library targets

lib: $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ)

shlib: $(OBJ)
(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) $(EXTRA_PATH) -o $(EXE) \
$(OBJ) $(EXTRA_LIB) $(LIB)

# Compilation rules

%.o:%.cpp
$(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $<

%.d:%.cpp
$(CC) $(CCFLAGS) $(EXTRA_INC) $(DEPFLAGS) $< > $@

# Individual dependencies

DEPENDS = $(OBJ:.o=.d)
sinclude $(DEPENDS)

And the error, I am getting is:


t.o -lmpi -ljpeg -lpng -L/home1/sdash/LIGGGHTS/vtk-devel/usr/lib64/vtk/vtkCommon -L/home1/sdash/LIGGGHTS/vtk-devel/usr/lib64/vtk/vtkFiltering -L/home1/sdash/LIGGGHTS/vtk-devel/usr/lib64/vtk/vtkIO -lstdc++ -o ../lmp_altixVTK
dump_atom_vtk.o: In function `LAMMPS_NS::DumpATOMVTK::vtkExportData::writeSER()':
../dump_atom_vtk.cpp:(.text+0x3d2): undefined reference to `vtkPoints::New()'
../dump_atom_vtk.cpp:(.text+0x3ea): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x3ef): undefined reference to `vtkCellArray::New()'
../dump_atom_vtk.cpp:(.text+0x407): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x40c): undefined reference to `vtkDoubleArray::New()'
../dump_atom_vtk.cpp:(.text+0x424): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x459): undefined reference to `vtkDoubleArray::New()'
../dump_atom_vtk.cpp:(.text+0x471): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x4a6): undefined reference to `vtkIntArray::New()'
../dump_atom_vtk.cpp:(.text+0x4be): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x4f3): undefined reference to `vtkIntArray::New()'
../dump_atom_vtk.cpp:(.text+0x50b): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x540): undefined reference to `vtkIntArray::New()'
../dump_atom_vtk.cpp:(.text+0x558): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x58d): undefined reference to `vtkDoubleArray::New()'
../dump_atom_vtk.cpp:(.text+0x5a5): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x5da): undefined reference to `vtkDoubleArray::New()'
../dump_atom_vtk.cpp:(.text+0x5f2): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x627): undefined reference to `vtkDoubleArray::New()'
../dump_atom_vtk.cpp:(.text+0x63f): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x6e6): undefined reference to `vtkDataArrayTemplate::InsertNextValue(double)'
../dump_atom_vtk.cpp:(.text+0x71a): undefined reference to `vtkDataArrayTemplate::InsertNextTupleValue(double const*)'
../dump_atom_vtk.cpp:(.text+0x74e): undefined reference to `vtkDataArrayTemplate::InsertNextTupleValue(double const*)'
../dump_atom_vtk.cpp:(.text+0x782): undefined reference to `vtkDataArrayTemplate::InsertNextTupleValue(double const*)'
../dump_atom_vtk.cpp:(.text+0x799): undefined reference to `vtkDataArrayTemplate::InsertNextValue(double)'
../dump_atom_vtk.cpp:(.text+0x7ae): undefined reference to `vtkDataArrayTemplate::InsertNextValue(int)'
../dump_atom_vtk.cpp:(.text+0x7c3): undefined reference to `vtkDataArrayTemplate::InsertNextValue(int)'
../dump_atom_vtk.cpp:(.text+0x7d8): undefined reference to `vtkDataArrayTemplate::InsertNextValue(int)'
../dump_atom_vtk.cpp:(.text+0x7f5): undefined reference to `vtkDataArrayTemplate::WritePointer(long long, long long)'
../dump_atom_vtk.cpp:(.text+0x82d): undefined reference to `vtkUnstructuredGrid::New()'
../dump_atom_vtk.cpp:(.text+0x845): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x87a): undefined reference to `vtkUnstructuredGrid::SetCells(int, vtkCellArray*)'
../dump_atom_vtk.cpp:(.text+0x893): undefined reference to `vtkFieldData::AddArray(vtkAbstractArray*)'
../dump_atom_vtk.cpp:(.text+0x8ac): undefined reference to `vtkFieldData::AddArray(vtkAbstractArray*)'
../dump_atom_vtk.cpp:(.text+0x8c5): undefined reference to `vtkFieldData::AddArray(vtkAbstractArray*)'
../dump_atom_vtk.cpp:(.text+0x8de): undefined reference to `vtkFieldData::AddArray(vtkAbstractArray*)'
../dump_atom_vtk.cpp:(.text+0x8f7): undefined reference to `vtkFieldData::AddArray(vtkAbstractArray*)'
dump_atom_vtk.o:../dump_atom_vtk.cpp:(.text+0x910): more undefined references to `vtkFieldData::AddArray(vtkAbstractArray*)' follow
dump_atom_vtk.o: In function `LAMMPS_NS::DumpATOMVTK::vtkExportData::writeSER()':
../dump_atom_vtk.cpp:(.text+0x947): undefined reference to `vtkXMLUnstructuredGridWriter::New()'
../dump_atom_vtk.cpp:(.text+0x95f): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x96c): undefined reference to `vtkXMLWriter::SetDataModeToAscii()'
../dump_atom_vtk.cpp:(.text+0x981): undefined reference to `vtkXMLWriter::SetInput(vtkDataObject*)'
../dump_atom_vtk.cpp:(.text+0x9a9): undefined reference to `vtkXMLWriter::Write()'
../dump_atom_vtk.cpp:(.text+0x9b6): undefined reference to `vtkSmartPointerBase::~vtkSmartPointerBase()'
../dump_atom_vtk.cpp:(.text+0x9c3): undefined reference to `vtkSmartPointerBase::~vtkSmartPointerBase()'
../dump_atom_vtk.cpp:(.text+0x9d0): undefined reference to `vtkSmartPointerBase::~vtkSmartPointerBase()'
../dump_atom_vtk.cpp:(.text+0x9dd): undefined reference to `vtkSmartPointerBase::~vtkSmartPointerBase()'
../dump_atom_vtk.cpp:(.text+0x9ea): undefined reference to `vtkSmartPointerBase::~vtkSmartPointerBase()'
dump_atom_vtk.o:../dump_atom_vtk.cpp:(.text+0x9f7): more undefined references to `vtkSmartPointerBase::~vtkSmartPointerBase()' follow
dump_atom_vtk.o: In function `LAMMPS_NS::DumpATOMVTK::write_data(int, double*)':
../dump_atom_vtk.cpp:(.text+0x17af): undefined reference to `vtkPoints::New()'
../dump_atom_vtk.cpp:(.text+0x17c4): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x17c9): undefined reference to `vtkCellArray::New()'
../dump_atom_vtk.cpp:(.text+0x17e1): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x17e6): undefined reference to `vtkDoubleArray::New()'
../dump_atom_vtk.cpp:(.text+0x17fe): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x1833): undefined reference to `vtkDoubleArray::New()'
../dump_atom_vtk.cpp:(.text+0x184b): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x1880): undefined reference to `vtkIntArray::New()'
../dump_atom_vtk.cpp:(.text+0x1898): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x18cd): undefined reference to `vtkIntArray::New()'
../dump_atom_vtk.cpp:(.text+0x18e5): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x191a): undefined reference to `vtkIntArray::New()'
../dump_atom_vtk.cpp:(.text+0x1932): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x1967): undefined reference to `vtkDoubleArray::New()'
../dump_atom_vtk.cpp:(.text+0x197f): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x19b4): undefined reference to `vtkDoubleArray::New()'
../dump_atom_vtk.cpp:(.text+0x19cc): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x1a01): undefined reference to `vtkDoubleArray::New()'
../dump_atom_vtk.cpp:(.text+0x1a19): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x1ac5): undefined reference to `vtkDataArrayTemplate::InsertNextValue(double)'
../dump_atom_vtk.cpp:(.text+0x1afc): undefined reference to `vtkDataArrayTemplate::InsertNextTupleValue(double const*)'
../dump_atom_vtk.cpp:(.text+0x1b33): undefined reference to `vtkDataArrayTemplate::InsertNextTupleValue(double const*)'
../dump_atom_vtk.cpp:(.text+0x1b6a): undefined reference to `vtkDataArrayTemplate::InsertNextTupleValue(double const*)'
../dump_atom_vtk.cpp:(.text+0x1b84): undefined reference to `vtkDataArrayTemplate::InsertNextValue(double)'
../dump_atom_vtk.cpp:(.text+0x1b9c): undefined reference to `vtkDataArrayTemplate::InsertNextValue(int)'
../dump_atom_vtk.cpp:(.text+0x1bb4): undefined reference to `vtkDataArrayTemplate::InsertNextValue(int)'
../dump_atom_vtk.cpp:(.text+0x1bcc): undefined reference to `vtkDataArrayTemplate::InsertNextValue(int)'
../dump_atom_vtk.cpp:(.text+0x1be9): undefined reference to `vtkDataArrayTemplate::WritePointer(long long, long long)'
../dump_atom_vtk.cpp:(.text+0x1c26): undefined reference to `vtkUnstructuredGrid::New()'
../dump_atom_vtk.cpp:(.text+0x1c3b): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x1c67): undefined reference to `vtkUnstructuredGrid::SetCells(int, vtkCellArray*)'
../dump_atom_vtk.cpp:(.text+0x1c7d): undefined reference to `vtkFieldData::AddArray(vtkAbstractArray*)'
../dump_atom_vtk.cpp:(.text+0x1c93): undefined reference to `vtkFieldData::AddArray(vtkAbstractArray*)'
../dump_atom_vtk.cpp:(.text+0x1ca9): undefined reference to `vtkFieldData::AddArray(vtkAbstractArray*)'
../dump_atom_vtk.cpp:(.text+0x1cbf): undefined reference to `vtkFieldData::AddArray(vtkAbstractArray*)'
../dump_atom_vtk.cpp:(.text+0x1cd5): undefined reference to `vtkFieldData::AddArray(vtkAbstractArray*)'
dump_atom_vtk.o:../dump_atom_vtk.cpp:(.text+0x1ceb): more undefined references to `vtkFieldData::AddArray(vtkAbstractArray*)' follow
dump_atom_vtk.o: In function `LAMMPS_NS::DumpATOMVTK::write_data(int, double*)':
../dump_atom_vtk.cpp:(.text+0x1d1c): undefined reference to `vtkXMLUnstructuredGridWriter::New()'
../dump_atom_vtk.cpp:(.text+0x1d31): undefined reference to `vtkSmartPointerBase::vtkSmartPointerBase(vtkObjectBase*, vtkSmartPointerBase::NoReference const&)'
../dump_atom_vtk.cpp:(.text+0x1d3b): undefined reference to `vtkXMLWriter::SetDataModeToAscii()'
../dump_atom_vtk.cpp:(.text+0x1d4a): undefined reference to `vtkXMLWriter::SetInput(vtkDataObject*)'
../dump_atom_vtk.cpp:(.text+0x1d6b): undefined reference to `vtkXMLWriter::Write()'
../dump_atom_vtk.cpp:(.text+0x1d75): undefined reference to `vtkSmartPointerBase::~vtkSmartPointerBase()'
../dump_atom_vtk.cpp:(.text+0x1d7f): undefined reference to `vtkSmartPointerBase::~vtkSmartPointerBase()'
../dump_atom_vtk.cpp:(.text+0x1d8c): undefined reference to `vtkSmartPointerBase::~vtkSmartPointerBase()'
../dump_atom_vtk.cpp:(.text+0x1d99): undefined reference to `vtkSmartPointerBase::~vtkSmartPointerBase()'
../dump_atom_vtk.cpp:(.text+0x1da6): undefined reference to `vtkSmartPointerBase::~vtkSmartPointerBase()'
dump_atom_vtk.o:../dump_atom_vtk.cpp:(.text+0x1db3): more undefined references to `vtkSmartPointerBase::~vtkSmartPointerBase()' follow
output.o: In function `LAMMPS_NS::Output::add_dump(int, char**)':
../output.cpp:(.text+0x2f20): undefined reference to `LAMMPS_NS::DumpCustomVTK::DumpCustomVTK(LAMMPS_NS::LAMMPS*, int, char**)'
write_dump.o: In function `LAMMPS_NS::WriteDump::command(int, char**)':
../write_dump.cpp:(.text+0x894): undefined reference to `LAMMPS_NS::DumpCustomVTK::DumpCustomVTK(LAMMPS_NS::LAMMPS*, int, char**)'
make[1]: *** [../lmp_altixVTK] Error 1
make[1]: Leaving directory `/home1/sdash/LIGGGHTS/LIGGGHTS-Installation/LIGGGHTS-PUBLIC-310-VTK/src/Obj_altixVTK'
make: *** [altixVTK] Error 2
service0 LIGGGHTS-PUBLIC-310-VTK/src> vi dump_custom_vtk.cpp
service0 LIGGGHTS-PUBLIC-310-VTK/src>

--
Regards

Rahul Kumar Soni
Scientist, CSIR - IMMT, India

j-kerbl's picture

j-kerbl | Tue, 05/12/2015 - 15:28

Hi Rahul,

this line should be allright, as long as the VTK_PATH is correct.

VTK_LIB = -lvtkCommon -lvtkFiltering -lvtkIO

The libraries include usually needs no paths and it always starts with -l
The VTK_PATH is the path where they are searched for.

Cheers
Josef

rahulsoni | Tue, 05/12/2015 - 15:43

I tried with that but no luck.
VTK_PATH = -L/home1/sdash/LIGGGHTS/vtk-devel/usr/lib64/vtk

The error shows that ld: cannot find -lvtkCommon

--
Regards

Rahul Kumar Soni
Scientist, CSIR - IMMT, India

j-kerbl's picture

j-kerbl | Wed, 05/13/2015 - 15:07

Hi Rahul,

but these libraries are definitely in the folder?

Cheers

rahulsoni | Thu, 05/14/2015 - 11:24

I hope so, please see below the result of ls in the /home1/sdash/LIGGGHTS/vtk-devel/usr/lib64/vtk

cd/home1/sdash> cd /home1/sdash/LIGGGHTS/vtk-devel/usr/lib64/vtk
lib64/vtk> ls
CMake libvtkChartsTCL.so libvtkGenericFilteringJava.so libvtkhdf5.so libvtkInfovisTCL.so libvtkParallelTCL.so libvtkViewsPythonD.so VTKBuildSettings.cmake vtkInfovisKit.cmake
doxygen libvtkCommonJava.so libvtkGenericFilteringPythonD.so libvtkHybridJava.so libvtkIOJava.so libvtkproj4.so libvtkViews.so vtkChartsKit.cmake vtkIOKit.cmake
hints libvtkCommonPythonD.so libvtkGenericFiltering.so libvtkHybridPythonD.so libvtkIOPythonD.so libvtkPythonCore.so libvtkViewsTCL.so vtkCommonKit.cmake vtkParallelKit.cmake
libCosmo.so libvtkCommon.so libvtkGenericFilteringTCL.so libvtkHybrid.so libvtkIO.so libvtkRenderingJava.so libvtkVolumeRenderingJava.so VTKConfig.cmake vtkRenderingKit.cmake
libMapReduceMPI.so libvtkCommonTCL.so libvtkGeovisJava.so libvtkHybridTCL.so libvtkIOTCL.so libvtkRenderingPythonD.so libvtkVolumeRenderingPythonD.so VTKConfigQt.cmake VTKTargets.cmake
libmpistubs.so libvtkDICOMParser.so libvtkGeovisPythonD.so libvtkImagingJava.so libvtklibxml2.so libvtkRenderingPythonTkWidgets.so libvtkVolumeRendering.so VTKConfigVersion.cmake VTKTargets-debug.cmake
libQVTK.so libvtkexoIIc.so libvtkGeovis.so libvtkImagingPythonD.so libvtkmetaio.so libvtkRendering.so libvtkVolumeRenderingTCL.so vtkFilteringKit.cmake vtkViewsKit.cmake
libVPIC.so libvtkFilteringJava.so libvtkGeovisTCL.so libvtkImaging.so libvtkNetCDF_cxx.so libvtkRenderingTCL.so libvtkWidgetsJava.so vtkGenericFilteringKit.cmake vtkVolumeRenderingKit.cmake
libvtkalglib.so libvtkFilteringPythonD.so libvtkGraphicsJava.so libvtkImagingTCL.so libvtkNetCDF.so libvtksqlite.so libvtkWidgetsPythonD.so vtkGeovisKit.cmake vtkWidgetsKit.cmake
libvtkChartsJava.so libvtkFiltering.so libvtkGraphicsPythonD.so libvtkInfovisJava.so libvtkParallelJava.so libvtksys.so libvtkWidgets.so vtkGraphicsKit.cmake
libvtkChartsPythonD.so libvtkFilteringTCL.so libvtkGraphics.so libvtkInfovisPythonD.so libvtkParallelPythonD.so libvtkverdict.so libvtkWidgetsTCL.so vtkHybridKit.cmake
libvtkCharts.so libvtkftgl.so libvtkGraphicsTCL.so libvtkInfovis.so libvtkParallel.so libvtkViewsJava.so UseVTK.cmake vtkImagingKit.cmake
lib64/vtk>

--
Regards

Rahul Kumar Soni
Scientist, CSIR - IMMT, India

j-kerbl's picture

j-kerbl | Wed, 05/20/2015 - 11:41

Hi Rahul,

I am not sure what went wrong, but a workaround could be to add the library path to your LD_LIBRARY_PATH so these libs are always found.

Cheers
Josef

rahulsoni | Thu, 05/21/2015 - 10:46

Okay Josef, I'll try the same.

--
Regards

Rahul Kumar Soni
Scientist, CSIR - IMMT, India