From: John Stone (johns_at_ks.uiuc.edu)
Date: Fri Jan 24 2020 - 22:56:16 CST

Hi,
  Those are all linkage errors. You need to make sure to link VMD
against the same MPI library that your MPI header files are associated
with. It looks like you're using a version of OpenMPI, so you'll need
to ensure the Makefile link commands have "-Ltherightmpidirectory"
and "-ltherightmpilibrary" for your particular cluster/system.
Once you correct the linkage flags for your system, I would expect you'll
eliminate these errors and we can address any issue that remains.

Best regards,
  John Stone
  vmd_at_ks.uiuc.edu

On Fri, Jan 24, 2020 at 07:06:12PM +0200, Oleksii Zdorevskyi wrote:
> Hi Dan,
> Thanks for your reply.
> Actually I realized that I was doing some wrong steps during compilation.
> I found very good instruction here
> ([1]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' follow
> VMDMPI.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 status
> Makefile:519: recipe for target 'vmd_LINUXAMD64' failed
> make: *** [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: [2]owner-vmd-l_at_ks.uiuc.edu <[3]owner-vmd-l_at_ks.uiuc.edu> on behalf
> of Oleksii Zdorevskyi <[4]alzdorev_at_gmail.com>
> Sent: Wednesday, January 22, 2020 4:24 PM
> To: [5]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
> ([6]http://www.ks.uiuc.edu/Research/vmd/doxygen/compiling.html#compiling),
> 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) [7]http://www.ks.uiuc.edu/Research/vmd/
> Info) Email questions and bug reports to [8]vmd_at_ks.uiuc.edu
> 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
>
> References
>
> Visible links
> 1. https://github.com/lumik/vmd-compilation
> 2. mailto:owner-vmd-l_at_ks.uiuc.edu
> 3. mailto:owner-vmd-l_at_ks.uiuc.edu
> 4. mailto:alzdorev_at_gmail.com
> 5. mailto:vmd-l_at_ks.uiuc.edu
> 6. 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
> 7. 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
> 8. 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

-- 
NIH Center for Macromolecular Modeling and Bioinformatics
Beckman Institute for Advanced Science and Technology
University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
http://www.ks.uiuc.edu/~johns/           Phone: 217-244-3349
http://www.ks.uiuc.edu/Research/vmd/