From: Oleksii Zdorevskyi (alzdorev_at_gmail.com)
Date: Fri Jan 24 2020 - 11:06:12 CST

Hi Dan,

Thanks for your reply.
Actually I realized that I was doing some wrong steps during compilation. I
found very good instruction here (https://github.com/lumik/vmd-compilation)
and now everything is working fine.

But now I want to install an MPI version of VMD. I have configured
text-mode of VMD with following options:
LINUXAMD64 ACTC MPI IMD LIBTACHYON NETCDF COLVARS TCL PTHREADS SILENT
and linked all the mpi libraries to the appropriate path.
After running 'make' command firstly compilation goes well but in the end I
obtain the following:

*VMDMPI.o: In function `vmd_mpi_init(int*, char***)':VMDMPI.C:(.text+0x6c):
undefined reference to `ompi_mpi_comm_world'VMDMPI.C:(.text+0x7d):
undefined reference to `ompi_mpi_comm_world'VMDMPI.o: In function
`vmd_mpi_barrier()':VMDMPI.C:(.text+0xd3): undefined reference to
`ompi_mpi_comm_world'VMDMPI.o: In function
`vmd_mpi_fini()':VMDMPI.C:(.text+0xf3): undefined reference to
`ompi_mpi_comm_world'VMDMPI.o: In function `vmd_mpi_nodescan(int*, int*,
char*, int, int)':VMDMPI.C:(.text+0x13e): undefined reference to
`ompi_mpi_comm_world'VMDMPI.o:VMDMPI.C:(.text+0x18e): more undefined
references to `ompi_mpi_comm_world' followVMDMPI.o: In function
`vmd_mpi_nodescan(int*, int*, char*, int, int)':VMDMPI.C:(.text+0x2da):
undefined reference to `ompi_mpi_byte'VMDMPI.C:(.text+0x4bf): undefined
reference to `ompi_mpi_comm_world'VMDMPI.o: In function `MPI::Op::Init(void
(*)(void const*, void*, int, MPI::Datatype const&),
bool)':VMDMPI.C:(.text._ZN3MPI2Op4InitEPFvPKvPviRKNS_8DatatypeEEb[_ZN3MPI2Op4InitEPFvPKvPviRKNS_8DatatypeEEb]+0x15):
undefined reference to
`ompi_mpi_cxx_op_intercept'VMDMPI.C:(.text._ZN3MPI2Op4InitEPFvPKvPviRKNS_8DatatypeEEb[_ZN3MPI2Op4InitEPFvPKvPviRKNS_8DatatypeEEb]+0x30):
undefined reference to `ompi_op_set_cxx_callback'VMDMPI.o: In function
`MPI::Intracomm::Clone()
const':VMDMPI.C:(.text._ZNK3MPI9Intracomm5CloneEv[_ZNK3MPI9Intracomm5CloneEv]+0x3c):
undefined reference to
`MPI::Comm::Comm()'VMDMPI.C:(.text._ZNK3MPI9Intracomm5CloneEv[_ZNK3MPI9Intracomm5CloneEv]+0x67):
undefined reference to `ompi_mpi_comm_null'VMDMPI.o: In function
`MPI::Graphcomm::Clone()
const':VMDMPI.C:(.text._ZNK3MPI9Graphcomm5CloneEv[_ZNK3MPI9Graphcomm5CloneEv]+0x35):
undefined reference to
`MPI::Comm::Comm()'VMDMPI.C:(.text._ZNK3MPI9Graphcomm5CloneEv[_ZNK3MPI9Graphcomm5CloneEv]+0x65):
undefined reference to `ompi_mpi_comm_null'VMDMPI.o: In function
`MPI::Cartcomm::Sub(bool const*)
const':VMDMPI.C:(.text._ZNK3MPI8Cartcomm3SubEPKb[_ZNK3MPI8Cartcomm3SubEPKb]+0x9e):
undefined reference to
`MPI::Comm::Comm()'VMDMPI.C:(.text._ZNK3MPI8Cartcomm3SubEPKb[_ZNK3MPI8Cartcomm3SubEPKb]+0xcf):
undefined reference to `ompi_mpi_comm_null'VMDMPI.o: In function
`MPI::Intracomm::Create_graph(int, int const*, int const*, bool)
const':VMDMPI.C:(.text._ZNK3MPI9Intracomm12Create_graphEiPKiS2_b[_ZNK3MPI9Intracomm12Create_graphEiPKiS2_b]+0x39):
undefined reference to
`MPI::Comm::Comm()'VMDMPI.C:(.text._ZNK3MPI9Intracomm12Create_graphEiPKiS2_b[_ZNK3MPI9Intracomm12Create_graphEiPKiS2_b]+0x69):
undefined reference to `ompi_mpi_comm_null'VMDMPI.o: In function
`MPI::Cartcomm::Clone()
const':VMDMPI.C:(.text._ZNK3MPI8Cartcomm5CloneEv[_ZNK3MPI8Cartcomm5CloneEv]+0x35):
undefined reference to
`MPI::Comm::Comm()'VMDMPI.C:(.text._ZNK3MPI8Cartcomm5CloneEv[_ZNK3MPI8Cartcomm5CloneEv]+0x65):
undefined reference to `ompi_mpi_comm_null'VMDMPI.o: In function
`MPI::Intracomm::Create_cart(int, int const*, bool const*, bool)
const':VMDMPI.C:(.text._ZNK3MPI9Intracomm11Create_cartEiPKiPKbb[_ZNK3MPI9Intracomm11Create_cartEiPKiPKbb]+0xa8):
undefined reference to
`MPI::Comm::Comm()'VMDMPI.C:(.text._ZNK3MPI9Intracomm11Create_cartEiPKiPKbb[_ZNK3MPI9Intracomm11Create_cartEiPKiPKbb]+0xd9):
undefined reference to `ompi_mpi_comm_null'VMDMPI.o: In function
`MPI::Intercomm::Merge(bool)
const':VMDMPI.C:(.text._ZNK3MPI9Intercomm5MergeEb[_ZNK3MPI9Intercomm5MergeEb]+0x39):
undefined reference to
`MPI::Comm::Comm()'VMDMPI.C:(.text._ZNK3MPI9Intercomm5MergeEb[_ZNK3MPI9Intercomm5MergeEb]+0x64):
undefined reference to `ompi_mpi_comm_null'VMDMPI.o: In function
`MPI::Intracomm::Create(MPI::Group const&)
const':VMDMPI.C:(.text._ZNK3MPI9Intracomm6CreateERKNS_5GroupE[_ZNK3MPI9Intracomm6CreateERKNS_5GroupE]+0x3c):
undefined reference to
`MPI::Comm::Comm()'VMDMPI.C:(.text._ZNK3MPI9Intracomm6CreateERKNS_5GroupE[_ZNK3MPI9Intracomm6CreateERKNS_5GroupE]+0x67):
undefined reference to `ompi_mpi_comm_null'VMDMPI.o: In function
`MPI::Intracomm::Split(int, int)
const':VMDMPI.C:(.text._ZNK3MPI9Intracomm5SplitEii[_ZNK3MPI9Intracomm5SplitEii]+0x38):
undefined reference to
`MPI::Comm::Comm()'VMDMPI.C:(.text._ZNK3MPI9Intracomm5SplitEii[_ZNK3MPI9Intracomm5SplitEii]+0x63):
undefined reference to
`ompi_mpi_comm_null'VMDMPI.o:(.data.rel.ro._ZTVN3MPI8DatatypeE[_ZTVN3MPI8DatatypeE]+0x78):
undefined reference to
`MPI::Datatype::Free()'VMDMPI.o:(.data.rel.ro._ZTVN3MPI3WinE[_ZTVN3MPI3WinE]+0x48):
undefined reference to `MPI::Win::Free()'cmd_parallel.o: In function
`vmd_mpi_parallel_for_scheduler':cmd_parallel.C:(.text+0x14): undefined
reference to `ompi_mpi_comm_world'cmd_parallel.C:(.text+0x5b): undefined
reference to `ompi_mpi_int'cmd_parallel.C:(.text+0x8d): undefined reference
to `ompi_mpi_int'cmd_parallel.C:(.text+0xd5): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0xdc): undefined reference to
`ompi_mpi_int'cmd_parallel.o: In function
`swift_mpi_init(Tcl_Interp*)':cmd_parallel.C:(.text+0x1a2): undefined
reference to `ompi_mpi_comm_world'cmd_parallel.o: In function
`text_cmd_parallel(void*, Tcl_Interp*, int, char
const**)':cmd_parallel.C:(.text+0x344): undefined reference to
`ompi_mpi_int'cmd_parallel.C:(.text+0x355): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0x35c): undefined reference to
`ompi_mpi_op_land'cmd_parallel.C:(.text+0x3a0): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0x3a7): undefined reference to
`ompi_mpi_int'cmd_parallel.C:(.text+0x5fa): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0x7bb): undefined reference to
`ompi_mpi_int'cmd_parallel.C:(.text+0x7cc): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0x7d3): undefined reference to
`ompi_mpi_op_land'cmd_parallel.C:(.text+0x848): undefined reference to
`ompi_mpi_int'cmd_parallel.C:(.text+0x866): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0x8fc): undefined reference to
`ompi_mpi_byte'cmd_parallel.C:(.text+0x903): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0xa70): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0xa77): undefined reference to
`ompi_mpi_int'cmd_parallel.C:(.text+0xaa5): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0xaac): undefined reference to
`ompi_mpi_byte'cmd_parallel.C:(.text+0xad9): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0xae0): undefined reference to
`ompi_mpi_int'cmd_parallel.C:(.text+0xb0e): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0xb15): undefined reference to
`ompi_mpi_byte'cmd_parallel.C:(.text+0xba0): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0xba7): undefined reference to
`ompi_mpi_int'cmd_parallel.C:(.text+0xbc5): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0xbcc): undefined reference to
`ompi_mpi_byte'cmd_parallel.C:(.text+0xc19): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0xc20): undefined reference to
`ompi_mpi_op_land'cmd_parallel.C:(.text+0xc27): undefined reference to
`ompi_mpi_int'cmd_parallel.C:(.text+0xdf6): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0xdfd): undefined reference to
`ompi_mpi_int'cmd_parallel.C:(.text+0xe3a): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0xe41): undefined reference to
`ompi_mpi_byte'cmd_parallel.C:(.text+0xed1): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0xed8): undefined reference to
`ompi_mpi_int'cmd_parallel.C:(.text+0xefc): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0xf03): undefined reference to
`ompi_mpi_byte'cmd_parallel.C:(.text+0xf1f): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0xf26): undefined reference to
`ompi_mpi_int'cmd_parallel.C:(.text+0xf4e): undefined reference to
`ompi_mpi_comm_world'cmd_parallel.C:(.text+0xf55): undefined reference to
`ompi_mpi_byte'collect2: error: ld returned 1 exit statusMakefile:519:
recipe for target 'vmd_LINUXAMD64' failedmake: *** [vmd_LINUXAMD64] Error 1*
Could you give me an idea what's the reason? Is there any problem with my
mpi environment?
Thanks.

Best,
Oleksii

Hi Oleksii:
>
>
> When I install VMD 1.9.3 from source on my Ubuntu laptop, the configure
> options I use are:
>
>
> LINUXAMD64 OPENGL FLTK TK ACTC NETCDF TCL PYTHON PTHREADS NUMPY GCC
>
>
> Just saying, this works for me. Good luck!
>
>
> Dan Strahs
>
>
> ------------------------------
> *From:* owner-vmd-l_at_ks.uiuc.edu <owner-vmd-l_at_ks.uiuc.edu> on behalf of
> Oleksii Zdorevskyi <alzdorev_at_gmail.com>
> *Sent:* Wednesday, January 22, 2020 4:24 PM
> *To:* vmd-l_at_ks.uiuc.edu
> *Subject:* vmd-l: VMD 1.9.3 compiled from source does not work
>
>
> Dear VMD community,
>
> Recently I have built vmd 1.9.3 from source code on my PC (OS Ubuntu).
>
> According to the compilation guide (
> http://www.ks.uiuc.edu/Research/vmd/doxygen/compiling.html#compiling
> <https://nam05.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.ks.uiuc.edu%2FResearch%2Fvmd%2Fdoxygen%2Fcompiling.html%23compiling&data=02%7C01%7Cdstrahs%40pace.edu%7C2163e5fb29c744e4ee7a08d79f8d6979%7C0799c53eca9a49e88901064a6412a41d%7C1%7C1%7C637153302026152056&sdata=ze%2FProzeK0I299KmJzy2zh4ewq6kQ9rBQw%2B4hOf1T%2FM%3D&reserved=0>),
> firstly I installed the dependencies (tcl8.5.0 and netcdf-c-4.7.3) and vmd
> plugins.
>
> I need the simplest text-mode version so I used the following options in
> configure.options file:
>
> LINUXAMD64 IMD NETCDF COLVARS TCL PTHREADS SILENT
>
> The compilation went without any trouble but after the installation I
> obtained the following message:
>
> cp: cannot stat '../lib/stride/stride_LINUXAMD64': No such file or directory
> cp: cannot stat '../lib/surf/surf_LINUXAMD64': No such file or directory
> cp: cannot stat '../lib/tachyon/tachyon_LINUXAMD64': No such file or
> directory
> Make sure /usr/local/bin/vmd is in your path.
> VMD installation complete. Enjoy!
>
> Now, when I try to launch VMD I get the following error:
>
> rlwrap: Command not found.
> Info) VMD for LINUXAMD64, version 1.9.3 (January 22, 2020)
> Info) http://www.ks.uiuc.edu/Research/vmd/ <https://nam05.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.ks.uiuc.edu%2FResearch%2Fvmd%2F&data=02%7C01%7Cdstrahs%40pace.edu%7C2163e5fb29c744e4ee7a08d79f8d6979%7C0799c53eca9a49e88901064a6412a41d%7C1%7C1%7C637153302026152056&sdata=%2FohYdvfNC7zB2I%2ByvsYq0y%2FiTIKY3ijKXWPUUY9vpM4%3D&reserved=0>
> Info) Email questions and bug reports to vmd_at_ks.uiuc.edu <https://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.bitp.kiev.ua%2Fsrc%2Fcompose.php%3Fsend_to%3Dvmd%2540ks.uiuc.edu&data=02%7C01%7Cdstrahs%40pace.edu%7C2163e5fb29c744e4ee7a08d79f8d6979%7C0799c53eca9a49e88901064a6412a41d%7C1%7C1%7C637153302026162053&sdata=hH5W6ixWKaEHHSCZXp4lVomM20kDnU57ISN93M4gavE%3D&reserved=0>
> Info) Please include this reference in published work using VMD:
> Info) Humphrey, W., Dalke, A. and Schulten, K., `VMD - Visual
> Info) Molecular Dynamics', J. Molec. Graphics 1996, 14.1, 33-38.
> Info) -------------------------------------------------------------
> Info) Multithreading available, 4 CPUs detected.
> Info) Free system memory: 1395MB (43%)
> *** buffer overflow detected ***: /usr/local/lib/vmd/vmd_LINUXAMD64
> terminated
> Aborted (core dumped)
>
> Could you tell me what I have done wrong?
>
> Best,
> Oleksii
>
>