From: Dallas Warren (dallas.warren_at_monash.edu)
Date: Mon Mar 06 2017 - 22:08:56 CST

Okay, sitting on this for awhile, starting to see what is going on here (the problem with trying to do something that you don't really understand). I should be able to exclude some of these things from the configure for, so that won't require then. 
I'll have a go with that tomorrow and see if can finally get there....... 
-------- Original message --------From: Dallas Warren <dallas.warren_at_monash.edu> Date: 7/03/2017 1:12 PM (GMT+10:00) To: "Vermaas, Joshua" <Joshua.Vermaas_at_nrel.gov> Cc: vmd-L <vmd-l_at_ks.uiuc.edu> Subject: Re: vmd-l: Fwd: Termination when using QuickSurf, libGL no version info, and CUDA Error in start up
Thank you for the pointer Josh. Yes I had mistakenly left of the -I
and -L at the start of those paths. That at least gets rid of the
"file not recognised" error.

Some rambling notes below, as I bumble through things here, noting
each of the issues I came up across and what I had to do to sort it
out.  Might help someone else down the track.

OK, so sorted out now what those parameters should be set to, so now
my make command is:
    gmake LINUXAMD64 TCLINC=-I/usr/include TCLLIB=-L/usr/lib64

TCLINC is set to the correct location from what I can tell, it needs
to be able to find the tcl.h file. From the manner my machine is set
up, that doesn't require any subdirectories below /usr/include

TCLLIB I was assuming needed a subdirectory, since didn't actually
know what file it was needing to find and was really just guessing.
But again on my machine appears that is not the case and what it needs
to be able to find is a libtcl8.5.so file. But, I only have
libtcl8.6.so  In order to fix this issue, found that 8.5 is hard coded
into the Make-arch file, so went through can changed that to 8.6 as
needed.

Then problem that arises is it requires netcdf. The compiling
instructions note that you only need that if you want AMBER 9 and MMTK
NetCDF trajectories you will need that NETCDF env variables set. And I
don't need that, but it appears it defaults to assuming you do. I had
to then installed the netsdf-devel package, so can get the netcdf.h
header file.  So, updated command:
    gmake LINUXAMD64 TCLINC=-I/usr/include TCLLIB=-F/usr/lib64
NETCDFLIB=-F/usr/lib64 NETCDFINC=-I/usr/include

That works, yay! Then executed:
    export PLUGINDIR="/final/desitation/directory/for/compiled/plugins"
    gmake distrib

All the plugins got copied over correctly to the target directory, by
the looks of it. Now return to vmd and configure it using:
    make linux.amd64.opengl
And this then puts out the configuration used:
    ./configure LINUXAMD64 ICC OPENGL OPENGLPBUFFER FLTK TK COLVARS
IMD VRPN SILENT LIBSBALL XINPUT TCL PTHREADS ACTC LIBTACHYON LIBOPTIX
LIBOSPRAY NETCDF PYTHON NUMPY CUDA XINERAMA

Then into the source directory ...
    cd src
    make veryclean
    make

This then throws up this error:
    Compiling  OpenGLDisplayDevice.C  -->  OpenGLDisplayDevice.o  ...
    /bin/sh: line 1: icpc: command not found

From what I can tell this is because it wants to use the intel
compiler? I couldn't work out how to tell it to use gcc rather then
icpc??? Found these details and some options on how to solve
https://www.experts-exchange.com/questions/21075191/bin-sh-line-1-icc-command-not-found-Error-make-for-a-Installing-a-Perl-Module.html
and used the symbolic link one, linking icpc to gcc. That got rid of
that error.

Next one thrown up is below, which solved by installing the
libXinerama-devel package.
    OpenGLDisplayDevice.C:34:37: fatal error:
X11/extensions/Xinerama.h: No such file or directory

And another, for this had to get the Optix package from nvidia
    OptiXRenderer.h:62:19: fatal error: optix.h: No such file or directory
    #include <optix.h>

Then another renderer package, needed to get OSPRay, managed that.

Then need tachyon ..... okay this is getting too excessive, too many
packages needed, suspect going to need all the renderers, probably any
number of others on top of that  ..... time to pull the plug, this is
way beyond what I can really handle. Looks like I have to learn to use
pymol then, unfortunately ....
Catch ya,

Dr. Dallas Warren

Drug Delivery, Disposition and Dynamics

Monash Institute of Pharmaceutical Sciences, Monash University
381 Royal Parade, Parkville VIC 3052
dallas.warren_at_monash.edu

+61 3 9903 9304
---------------------------------
When the only tool you own is a hammer, every problem begins to resemble a nail.

On 2 March 2017 at 03:35, Vermaas, Joshua <Joshua.Vermaas_at_nrel.gov> wrote:
> Hi Dallas,
>
> Here is my make command on a Ubuntu 16.04 system to compile the plugins:
>
> make LINUXAMD64 TCLINC=-I/usr/include/tcl8.6 TCLLIB=-L/usr/lib
> NETCDFLIB=-L/usr/lib NETCDFINC=-I/usr/include/ -j 1
>
> Now one thing you may want to change here is to use tcl 8.5, as some of
> the plugins behave strangely under 8.6, but otherwise you made the same
> mistake I did the first time I did this, and forgot about the -I and -L,
> since these flags are used directly by the compiler.
>
> -Josh
>
> On 02/28/2017 07:14 PM, Dallas Warren wrote:
>> From what I can tell, the no version information error is due to fact
>> vmd was complied with a latter (or different) version of libGL than
>> which I have installed on my machine. In order to solve that issue,
>> meant to compile vmd, so that it uses the local libraries etc.
>>
>> Instructions on how to compile vmd here:
>> http://www.ks.uiuc.edu/Research/vmd/doxygen/compiling.html
>>
>> Have following installed, so that appears to tick the boxes of what is required.
>> tcl 8.6.1-4.2.1
>> FLTK 1.33-1.6
>> Mesa-libGL 11.2.2-166.1
>>
>> Next step is to compile the plugins, as documented here:
>> http://www.ks.uiuc.edu/Research/vmd/plugins/doxygen/compiling.html
>>
>> Issue I have here is where exactly are TCLINC and TCLLIB meant to be
>> pointing to? From what the instructions say, initially thought was
>> within what comes with vmd, but no .../lib/tcl or ..../lib/tcl/include
>> directories.
>>
>> There is a tcl.h file in /usr/include so set TCLINC to that location.
>> But stumped where TCLLIB should be pointing to. There is a
>> /usr/lib64/tcl/tcl8.6 directory but pointing to that get a "file not
>> recognized: Is a directory" error when run "gmake LINUXAMD64
>> TCLINC=$TCLINC TCLLIB=$TCLLIB"
>>
>> I can normally work my way through compiling things, but it's beyond
>> me this time.
>> Catch ya,
>>
>> Dr. Dallas Warren
>>
>> Drug Delivery, Disposition and Dynamics
>>
>> Monash Institute of Pharmaceutical Sciences, Monash University
>> 381 Royal Parade, Parkville VIC 3052
>> dallas.warren_at_monash.edu
>>
>> +61 3 9903 9304
>> ---------------------------------
>> When the only tool you own is a hammer, every problem begins to resemble a nail.
>>
>>
>> On 28 February 2017 at 11:32, Dallas Warren <dallas.warren_at_monash.edu> wrote:
>>> Suspect they are all related? A point in the direction of what I
>>> should be looking at, updating, compiling etc would be appreciated.
>>> Thank you.
>>>
>>> Seen mentioned on the list that the CUDA message came up for older
>>> versions of vmd (1.9.1), but it was being fixed in 1.9.2
>>> http://www.ks.uiuc.edu/Research/vmd/mailing_list/vmd-l/22958.html
>>>
>>> The libGL issue something about old versions of the nvidia driver left
>>> hanging around?
>>> http://www.ks.uiuc.edu/Research/vmd/mailing_list/vmd-l/22907.html
>>>
>>> Opensuse: 42.1
>>> Kernel: 4.1.36-44
>>> NVIDIA Driver: 375.26
>>>
>>> Upon starting vmd:
>>> /usr/local/lib/vmd/vmd_LINUXAMD64: /usr/lib64/libGL.so.1: no version
>>> information available (required by /usr/local/lib/vmd/vmd_LINUXAMD64)
>>> Info) VMD for LINUXAMD64, version 1.9.3 (November 30, 2016)
>>> Info) http://www.ks.uiuc.edu/Research/vmd/
>>> Info) Email questions and bug reports to 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, 12 CPUs detected.
>>> Info)   CPU features: SSE2 AVX
>>> Info) Free system memory: 35GB (97%)
>>> Info) Creating CUDA device pool and initializing hardware...
>>> CUDA error: invalid device symbol, CUDAClearDevice.cu line 56
>>> Info) Detected 1 available CUDA accelerator:
>>> Info) [0] GeForce GTX 550 Ti  4 SM_2.1 @ 1.80 GHz,  956MB RAM, KTO, AE1, ZCP
>>> Warning) Detected X11 'Composite' extension: if incorrect display occurs
>>> Warning) try disabling this X server option.  Most OpenGL drivers
>>> Warning) disable stereoscopic display when 'Composite' is enabled.
>>> Info) OpenGL renderer: GeForce GTX 550 Ti/PCIe/SSE2
>>> Info)   Features: STENCIL MSAA(4) MDE CVA MTX NPOT PP PS GLSL(OVFGS)
>>> Info)   Full GLSL rendering mode is available.
>>> Info)   Textures: 2-D (16384x16384), 3-D (2048x2048x2048), Multitexture (4)
>>> Info) Dynamically loaded 2 plugins in directory:
>>> Info) /usr/local/lib/vmd/plugins/LINUXAMD64/molfile
>>> after#0
>>>
>>> Upon selecting QuickSurf, other representations appear to work fine:
>>> terminate called after throwing an instance of 'thrust::system::system_error'
>>>   what():  after cub_::DeviceRadixSort::SortPairs(0): invalid device function
>>> Abort
>>>
>>> Catch ya,
>>>
>>> Dr. Dallas Warren
>>>
>>> Drug Delivery, Disposition and Dynamics
>>>
>>> Monash Institute of Pharmaceutical Sciences, Monash University
>>> 381 Royal Parade, Parkville VIC 3052
>>> dallas.warren_at_monash.edu
>>>
>>> +61 3 9903 9304
>>> ---------------------------------
>>> When the only tool you own is a hammer, every problem begins to resemble a nail.
>>>
>>
>