From: John Stone (johns_at_ks.uiuc.edu)
Date: Wed Feb 23 2011 - 10:31:18 CST

Dav,
  Which source code did you compile from? If you compiled from CVS or
from the 1.9beta1 source distribution, then you'd be better off installing
the VMD 1.9beta1 binary distribution rather than the old VMD 1.8.7
distribution. If you have different source and binary installation
versions, the registry keys won't match, and this could cause the problem
you're describing.

Cheers,
  John

On Wed, Feb 23, 2011 at 11:20:35AM -0500, David Joiner wrote:
> OK, so I now have VMD running compiled from source on Windows, sort of.
>
> My extensions menu is completely empty if I run the version I compiled.
>
> I've made sure that I have the 1.8.7 plugins and vmd (though for some
> reason my config.h still claims the version is 1.9beta2).
>
> Dave
>
> On Tue, Feb 22, 2011 at 11:09 PM, John Stone <johns_at_ks.uiuc.edu> wrote:
> >
> > David,
> >  It's a bit more complex than that.  When VMD starts up, it tries
> > to find its installation directory by querying the Windows registry
> > keys that are created by the VMD installer.  See the win32vmdstartup.c
> > source code for the details.  The easiest way to get the appropriate
> > registry keys set is just to install VMD on your system (must be
> > the same major and minor version that you're building the source for).
> > Once installed, you can replace the stock executable with your own...
> >
> > Cheers,
> >  John
> >
> > On Tue, Feb 22, 2011 at 11:06:24PM -0500, David Joiner wrote:
> >> OK, I fixed many of my problems, mostly related to not building tcl
> >> and tk as static instead of dynamic linking, and missing a few files
> >> in my MSVC solution.
> >>
> >> VMD starts a console and a viewing window, but fails to initialize any
> >> menu windows. There are a host of errors that look like the path to
> >> key configuration files are not known.
> >>
> >> I see that there is a batch file in the CVS tree under msvc for
> >> setting environment variables and starting winvmd, it looks like it is
> >> customized to a specific build environment. Should I just modify this,
> >> or is there a better script to use somewhere in the CVS tree?
> >>
> >> Thanks!
> >> Dave
> >>
> >> On Mon, Feb 21, 2011 at 10:51 PM, John Stone <johns_at_ks.uiuc.edu> wrote:
> >> >
> >> > That would be something related to FLTK, maybe do a clean build there and
> >> > make sure there's nothing amiss with the FLTK build?
> >> >
> >> > Cheers,
> >> >  John
> >> >
> >> > On Mon, Feb 21, 2011 at 10:42:48PM -0500, David Joiner wrote:
> >> >> OK, I'm down to
> >> >>
> >> >> 1>------ Build started: Project: vmdtest2, Configuration: Release Win32 ------
> >> >> 1>GeometryFltkMenu.obj : error LNK2001: unresolved external symbol
> >> >> "class Fl_Graphics_Driver * fl_graphics_driver"
> >> >> (?fl_graphics_driver@@3PAVFl_Graphics_Driver@@A)
> >> >> 1>C:\vmd\CVS_VMD\vmd\msvc2010\vmdtest2\Release\vmdtest2.exe : fatal
> >> >> error LNK1120: 1 unresolved externals
> >> >> ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
> >> >>
> >> >>
> >> >> On Mon, Feb 21, 2011 at 10:28 PM, John Stone <johns_at_ks.uiuc.edu> wrote:
> >> >> >
> >> >> > David,
> >> >> >  You're missing the "wsock32.lib" in your linkage.  If you add that,
> >> >> > it should cure most of the link errors.  The joyGetNumDevs() functions
> >> >> > are associated with the "winmm.lib".  If you add both of those, I think
> >> >> > that'll sort out all of the errors you listed.
> >> >> >
> >> >> > Cheers,
> >> >> >  John Stone
> >> >> >  vmd_at_ks.uiuc.edu
> >> >> >
> >> >> > On Mon, Feb 21, 2011 at 10:09:09PM -0500, David Joiner wrote:
> >> >> >> Gave up on trying to compile from within a cygwin shell and created an
> >> >> >> empty project in Visual C++ 2010, used the generated Makefile to try
> >> >> >> and figure out define statements, compiler options, etc.
> >> >> >>
> >> >> >> I've got it down to the following options during linking, any ideas
> >> >> >> what I am missing in the MSVC configuration?
> >> >> >>
> >> >> >> 1>------ Build started: Project: vmdtest2, Configuration: Release Win32 ------
> >> >> >> 1>GeometryFltkMenu.obj : error LNK2001: unresolved external symbol
> >> >> >> "class Fl_Graphics_Driver * fl_graphics_driver"
> >> >> >> (?fl_graphics_driver@@3PAVFl_Graphics_Driver@@A)
> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__accept_at_12
> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__listen_at_8
> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__send_at_16
> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__gethostbyname_at_4
> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__closesocket_at_4
> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__socket_at_12
> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__bind_at_12
> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__recv_at_16
> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__shutdown_at_8
> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__htons_at_4
> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__select_at_20
> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__inet_addr_at_4
> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__WSAStartup_at_8
> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__connect_at_12
> >> >> >> 1>Win32Joystick.obj : error LNK2001: unresolved external symbol
> >> >> >> __imp__joyGetNumDevs_at_0
> >> >> >> 1>Win32Joystick.obj : error LNK2001: unresolved external symbol
> >> >> >> __imp__joyGetDevCapsA_at_12
> >> >> >> 1>Win32Joystick.obj : error LNK2001: unresolved external symbol
> >> >> >> __imp__joyGetPosEx_at_8
> >> >> >> 1>C:\vmd\CVS_VMD\vmd\msvc2010\vmdtest2\Release\vmdtest2.exe : fatal
> >> >> >> error LNK1120: 18 unresolved externals
> >> >> >> ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
> >> >> >>
> >> >> >>
> >> >> >> On Sat, Feb 19, 2011 at 1:07 AM, David Joiner <djoiner_at_kean.edu> wrote:
> >> >> >> > MSVC 2010 wouldn't open the 2006 project file, so I tried to make
> >> >> >> > similar modifications to the Makefile as used for the WIN32 options in
> >> >> >> > the Makefile for plugins.
> >> >> >> >
> >> >> >> > Everything is compiling to object code w/out errors, but I am getting
> >> >> >> > the following errors when linking (I get hundreds of these with each
> >> >> >> > file). My guess is that there is some library I am not linking with
> >> >> >> > properly but I cannot tell which.
> >> >> >> >
> >> >> >> > Dave
> >> >> >> >
> >> >> >> > -----------------------------------------
> >> >> >> >
> >> >> >> > Animation.o
> >> >> >> > Animation.o(1) : error C2018: unknown character '0x1'
> >> >> >> > Animation.o(1) : error C2018: unknown character '0x1b'
> >> >> >> > Animation.o(1) : error C2018: unknown character '0x19'
> >> >> >> > Animation.o(1) : error C2018: unknown character '0x1'
> >> >> >> > Animation.o(1) : error C2146: syntax error : missing ';' before
> >> >> >> > identifier 'aAY_M8'
> >> >> >> > Animation.o(1) : error C4430: missing type specifier - int assumed.
> >> >> >> > Note: C++ does not support default-int
> >> >> >> > Animation.o(1) : error C2143: syntax error : missing ';' before '.'
> >> >> >> > Animation.o(1) : error C4430: missing type specifier - int assumed.
> >> >> >> > Note: C++ does not support default-int
> >> >> >> >
> >> >> >> >
> >> >> >> > On Fri, Feb 18, 2011 at 11:19 PM, John Stone <johns_at_ks.uiuc.edu> wrote:
> >> >> >> >>
> >> >> >> >> David,
> >> >> >> >>  Look at the "build.csh" script in the top level plugins directory,
> >> >> >> >> and you'll see how I do the Win32 plugin builds on our machines.
> >> >> >> >> You can't use cygwin-style paths when you set TCLINC etc, as you
> >> >> >> >> are calling the MSVC compilers, which only accept Dos/Windows pathnames...
> >> >> >> >>
> >> >> >> >> Cheers,
> >> >> >> >>  John
> >> >> >> >>
> >> >> >> >> On Fri, Feb 18, 2011 at 11:10:37PM -0500, David Joiner wrote:
> >> >> >> >>> I've done a checkout from CVS, set my environment to allow me to use
> >> >> >> >>> cl.exe from within a Cygwin bash shell, and ran "make WIN32" in the
> >> >> >> >>> plugins directory. After a few changes to hesstrans/src/include.h
> >> >> >> >>> (iostream instead of iostream.h, etc.), I am getting to the point
> >> >> >> >>> where I am trying to compile hesstrans, and get the error pasted
> >> >> >> >>> below. The error is that I cannot find tcl.h. I am setting TCLINC, and
> >> >> >> >>> have checked that the file is where I think it is. I've tried both -I
> >> >> >> >>> and /I and have moved everything to a location with no spaces in
> >> >> >> >>> directory names.
> >> >> >> >>>
> >> >> >> >>> -------
> >> >> >> >>>
> >> >> >> >>> bash-3.2$ make WIN32 TCLINC=" /I/cygdrive/c/VMD/Tcl/include "; ls
> >> >> >> >>> /cygdrive/c/VMD/Tcl/include
> >> >> >> >>> Building Molecule File Reader plugins
> >> >> >> >>> hesstrans_wrap.C
> >> >> >> >>> src/hesstrans_wrap.C(298) : fatal error C1083: Cannot open include
> >> >> >> >>> file: 'tcl.h': No such file or directory
> >> >> >> >>> make[2]: *** [../compile/lib_WIN32/tcl/hesstrans1.0/hesstrans_wrap.o] Error 2
> >> >> >> >>> make[1]: *** [dynlibs] Error 1
> >> >> >> >>> make: *** [WIN32] Error 2
> >> >> >> >>> X11         tclPlatDecls.h     tk.h              tkPlatDecls.h
> >> >> >> >>> tcl.h       tclTomMath.h       tkDecls.h         tommath_class.h
> >> >> >> >>> tclDecls.h  tclTomMathDecls.h  tkIntXlibDecls.h  tommath_superclass.h
> >> >> >> >>> bash-3.2$
> >> >> >> >>>
> >> >> >> >>> On Fri, Feb 18, 2011 at 4:29 PM, David Joiner <djoiner_at_kean.edu> wrote:
> >> >> >> >>> > OK, so I have Tcl and Tk built using MSVC++ 2010 express from the MSVC
> >> >> >> >>> > console window using nmake for Tcl, and nmake TCLDIR=(tcl build
> >> >> >> >>> > directory) for Tk. I've built FLTK in MSVC++ 2010 Express within the
> >> >> >> >>> > IDE and have been able to run the demo program to confirm that it
> >> >> >> >>> > runs.
> >> >> >> >>> >
> >> >> >> >>> > Using fltk-1.3.x-r8441 I had to modify the FL_Device.h file to change
> >> >> >> >>> > the definition "friend void gl_start()" to "friend FL_EXPORT void
> >> >> >> >>> > gl_start()" to avoid an error with mismatched definitions.
> >> >> >> >>> >
> >> >> >> >>> > Dave
> >> >> >> >>> >
> >> >> >> >>> > On Fri, Feb 18, 2011 at 1:29 PM, John Stone <johns_at_ks.uiuc.edu> wrote:
> >> >> >> >>> >>
> >> >> >> >>> >> David,
> >> >> >> >>> >>  You'll need to use MSVC to compile everything.  The cygwin tools will
> >> >> >> >>> >> be used during the compile of the VMD plugins, but only for "make", it will
> >> >> >> >>> >> actually _run_ the MSVC compilers and not GCC...
> >> >> >> >>> >>
> >> >> >> >>> >> Cheers,
> >> >> >> >>> >>  John
> >> >> >> >>> >>
> >> >> >> >>> >> On Fri, Feb 18, 2011 at 01:17:38PM -0500, David Joiner wrote:
> >> >> >> >>> >>>    I've compiled ball.exe w/ cavelib on my dev machine and ran it on the
> >> >> >> >>> >>>    cave. I had to copy the most recent msvcr dll files over, but otherwise
> >> >> >> >>> >>>    that worked with no hiccups.
> >> >> >> >>> >>>
> >> >> >> >>> >>>    I'll work on the dependencies next. Should I build them in msvc or.cygwin?
> >> >> >> >>> >>>
> >> >> >> >>> >>>    Thanks!
> >> >> >> >>> >>>    Dave
> >> >> >> >>> >>>
> >> >> >> >>> >>>      On Feb 18, 2011 12:57 PM, "John Stone" <johns_at_ks.uiuc.edu> wrote:
> >> >> >> >>> >>>
> >> >> >> >>> >>>      David,
> >> >> >> >>> >>>       I would think that should be workable, although I'm only using
> >> >> >> >>> >>>      MSVS 2005 here, due to the need to link against various libraries.
> >> >> >> >>> >>>      For your puroses MSVS 2010 might work ok.  Before we get into it,
> >> >> >> >>> >>>      I assume for starters that you're able to compile and link CAVElib
> >> >> >> >>> >>>      demo apps using MSVS 2010, right?  Since your end-goal is to get
> >> >> >> >>> >>>      VMD running with the Windows CAVElib, I'd test to make sure that doesn't
> >> >> >> >>> >>>      have any issues with MSVS 2010 first.  If not, then the next thing is
> >> >> >> >>> >>>      to get your Tcl/Tk/FLTK builds for Windows going, as you need Tcl
> >> >> >> >>> >>>      to be compiled already before you can begin building the VMD plugins.
> >> >> >> >>> >>>      See if you can get those steps done first.
> >> >> >> >>> >>>
> >> >> >> >>> >>>      Cheers,
> >> >> >> >>> >>>       John
> >> >> >> >>> >>>
> >> >> >> >>> >>>      On Thu, Feb 17, 2011 at 08:57:13PM -0500, David Joiner wrote:
> >> >> >> >>> >>>      > Sounds fun.
> >> >> >> >>> >>>      >
> >> >> >> >>> >>>      > Right now I have b...
> >> >> >> >>> >>>
> >> >> >> >>> >>>      --
> >> >> >> >>> >>>
> >> >> >> >>> >>>      NIH Resource for Macromolecular Modeling and Bioinformatics
> >> >> >> >>> >>>      Beckman Institute for Advanced Science a...
> >> >> >> >>> >>
> >> >> >> >>> >> --
> >> >> >> >>> >> NIH Resource for Macromolecular Modeling and Bioinformatics
> >> >> >> >>> >> Beckman Institute for Advanced Science and Technology
> >> >> >> >>> >> University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
> >> >> >> >>> >> Email: johns_at_ks.uiuc.edu                 Phone: 217-244-3349
> >> >> >> >>> >>  WWW: http://www.ks.uiuc.edu/~johns/      Fax: 217-244-6078
> >> >> >> >>> >>
> >> >> >> >>> >
> >> >> >> >>
> >> >> >> >> --
> >> >> >> >> NIH Resource for Macromolecular Modeling and Bioinformatics
> >> >> >> >> Beckman Institute for Advanced Science and Technology
> >> >> >> >> University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
> >> >> >> >> Email: johns_at_ks.uiuc.edu                 Phone: 217-244-3349
> >> >> >> >>  WWW: http://www.ks.uiuc.edu/~johns/      Fax: 217-244-6078
> >> >> >> >>
> >> >> >> >
> >> >> >
> >> >> > --
> >> >> > NIH Resource for Macromolecular Modeling and Bioinformatics
> >> >> > Beckman Institute for Advanced Science and Technology
> >> >> > University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
> >> >> > Email: johns_at_ks.uiuc.edu                 Phone: 217-244-3349
> >> >> >  WWW: http://www.ks.uiuc.edu/~johns/      Fax: 217-244-6078
> >> >> >
> >> >
> >> > --
> >> > NIH Resource for Macromolecular Modeling and Bioinformatics
> >> > Beckman Institute for Advanced Science and Technology
> >> > University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
> >> > Email: johns_at_ks.uiuc.edu                 Phone: 217-244-3349
> >> >  WWW: http://www.ks.uiuc.edu/~johns/      Fax: 217-244-6078
> >> >
> >
> > --
> > NIH Resource for Macromolecular Modeling and Bioinformatics
> > Beckman Institute for Advanced Science and Technology
> > University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
> > Email: johns_at_ks.uiuc.edu                 Phone: 217-244-3349
> >  WWW: http://www.ks.uiuc.edu/~johns/      Fax: 217-244-6078
> >

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