From: John Grime (jgrime_at_uchicago.edu)
Date: Thu Oct 10 2013 - 16:29:04 CDT

Hi all,

I'm attempting the dreaded "compile VMD from source" ( Mac OS 10.6.8 on 64 bit X86 ), and I've hit a point at which I am stuck.

I checked the VMD source out from CVS earlier today, and put it into a directory on my desktop called "VMD_CVS" (I know, I know, I'm a creative guy). I then created a subdirectory "VMD_CVS/test_distribution/" which I intended as the destination for the build results.

So, on to first trying to build the plugins as per the instructions on the VMD website.

cd plugins
make MACOSXX86_64
mkdir ../test_distribution/plugins
export PLUGINDIR="/full/path/to/VMD_CVS/test_distribution/plugins"
make distrib

... and I immediately hit problems with needing the "pdflatex" command for the plugin generation. This does not seem to be mentioned in the documentation about compiling VMD from source on the VMD website.

The next step was therefore to install a TeX distribution on my machine along with some bells and whistles to ensure I had a functional pdflatex command (such as making sure the html.sty file was present and correct). Running "make distrib" then worked, generating the subdirectories:

test_distribution/plugins/MACOSXX86_64/
test_distribution/plugins/include/
test_distribution/plugins/noarch/

.. which looked familiar, from my earlier poking around in a prebuilt OSX binary package for VMD. Hooray! Onwards and upwards.

I took a look at the "README" file in the "/vmd/" subdirectory, and it told me to modify the two paths "install_library_dir" and "install_bin_dir" (which I did), and I then:

./configure

.. which spat out a list of options that looked reasonable. Therefore,

cd src
make install

... which printed:

cp: ../doc/ug.pdf: No such file or directory
cp: ../MACOSX/vmd_MACOSX: No such file or directory
cp: ../lib/stride/stride_MACOSX: No such file or directory
cp: ../lib/surf/surf_MACOSX: No such file or directory
cp: ../lib/tachyon/tachyon_MACOSX: No such file or directory
/bin/sh: line 0: cd: ../lib: No such file or directory
tar: scripts: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors.
cp: ../MACOSX/OptiXShaders.ptx: No such file or directory
Make sure /Users/jgrime/Desktop/VMD_CVS/test_distribution/bin/vmd is in your path.
VMD installation complete. Enjoy!
voth30:src jgrime$

... but, but but ... you've not given me anything to enjoy, VMD! You're such a tease. :(

Looking again at the compilation instructions on the VMD website (last generated today, so I guess it should be current ) it tells me that I should probably be looking at the VMD configure script to try to fix these issues.

I took a look at the default options in "VMD_CVS/vmd/Makefile" (which seems to just be a wrapper for the configure script) and saw the handy looking "macosx.opengl.x11" target. This specifies OSX 10.3, rather than 10.2 for "macosx.opengl", and I figured the later version would be the best option. Hence:

make maxosx.opengl.x11

... and I was then informed that I had no plugin directory. On a hunch, I copied the plugin directory I had made into the "VMD_CVS/vmd/" subdirectory. Running "make maxosx.opengl.x11" worked this time! As simply running "make" gives the following piece of information:

Once VMD is configured for compilation, do this:
  cd src; make veryclean; make

... I did just that:

cd src
make veryclean
make

... and then I got problems with Tachyon, which does not seem to be included in the VMD CVS distribution.

I therefore took a look at the contents of "configure", and noticed that MACOSXX86_64 was available as a target architecture. I guessed I should probably use that to be consistent with the plugin build I did earlier. As the OSXX86_64 version of the plugins does not need the NetCDF libraries, and there are various other options in the "macosx.opengl.x11" target I don't need/want (LIBSBALL? no thanks), I tried a minimal configure like this:

./configure MACOSXX86_64 OPENGL TK TCL PTHREADS SILENT
cd src
make veryclean
make

... which seemed to work much better. Right up until:

Compiling VMDApp.C --> VMDApp.o ...
VMDApp.C: In member function ‘int VMDApp::VMDinit(int, char**, const char*, int*, int*)’:
VMDApp.C:256: error: no matching function for call to ‘UIText::UIText(VMDApp* const, bool)’
UIText.h:45: note: candidates are: UIText::UIText(VMDApp*, int, int)
UIText.h:35: note: UIText::UIText(const UIText&)

At this point, I'm pretty much stuck. Can anyone help?

Cheers,

J.