From: Pawel Kedzierski (pawel.kedzierski_at_pwr.edu.pl)
Date: Tue Feb 11 2020 - 06:33:11 CST

Dear Joey,

First, a disclaimer: I may not be able to guide you correctly, as I
haven't done it myself and may expertise is somewhat limited.

> Good news. I just used the command: make TCLINC="$TCLINC" LINUXCARMA
> and I was not thrown an error message at all.
I looked up the LINUXCARMA target in plugins/Make-arch and it might be
the best one available (which hopefully means "tested"), but it is tuned
for some older ARM CPU (armv7 Cortex-A9). However, given the multitude
of arm-related compile option
(https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html) I wouldn't even
try to change this myself.

The important point is that the compiler options should be consistent
when compiling all parts of the software; so if you chosen LINUXCARMA
for plugins, you must do the same for VMD.

The same holds for dependencies, and I found a comment "Tcl 8.6.0 is
reliable on LINUXCARMA, 8.5.x is not..." so stay with tcl 8.6 and remove
tcl 8.5:

sudo apt-get remove tcl8.5-dev
sudo apt-get autoremove

As you compiled cleanly the plugins with LINUXCARMA I assume, that
tcl8.6-dev is in place. And other -dev packages which I mentioned
earlier, too.

However, you did a couple of other mistakes:
> jgehring_at_Debian-Desktop:~/vmd/plugins$ sudo make distrib
> [sudo] password for jgehring:
> Populating distribution directory with compiled plugins
> Copying molfile plugins to  destination area
>     ...
>     libmolfile_plugin.h ...
> Copying apbsrun 1.3 files to /noarch/tcl/apbsrun1.3
> Copying alascanfep 1.0 files to /noarch/tcl/alascanfep1.0
The files are copied to your root folder, which means you did not set
the PLUGINDIR environment variable. These variables are internal to the
current shell, so you need to set it every time before the "make"
command in a new shell (terminal). I guess you should clean up the clutter:

sudo rm -rf /noarch /LINUXCARMA

and reinstall the plugins in the proper folder. Assuming your *target*
VMD installation directory (not where you compile) is
/usr/local/vmd-1.9.4a38, then:

export PLUGINDIR=/usr/local/vmd-1.9.4a38/plugins
sudo mkdir -p $PLUGINDIR
cd ~/vmd/plugins
sudo make distrib

The next step is to download, compile and install FLTK, not VMD yet:
https://www.fltk.org/software.php
It has its own dependencies, e.g the freetype library:

sudo apt-get install libfreetype6-dev

Otherwise, hopefully the compilation is as easy as suggested by its README:

wget 'https://www.fltk.org/pub/fltk/1.3.5/fltk-1.3.5-source.tar.bz2'
tar xjf fltk-1.3.5-source.tar.bz2
cd fltk-1.3.5
make
sudo make install

Read on.
W dniu 09.02.2020 o 02:06, Joey Gehring pisze:
> After perusing the outputs myself, my guess is that I installed a
> version for 64 bit AMD. 😆 Let me know if you have any ideas. Bye for
> now!
> jgehring_at_Debian-Desktop:~/vmd/vmd-1.9.4a38/src$ sudo make install
> cp: cannot stat '../LINUXAMD64/vmd_LINUXAMD64': No such file or directory
> cp: cannot stat '../lib/stride/stride_LINUXAMD64': No such file or
> directory

Two things here: what confuses me first is that it does not even try to
compile anything, but it may be due to something else you missed.
Second, LINUXAMD64 is the default target which means you didn't
configure it.

You need to configure vmd for your system, setup PLUGINDIR (if in a new
terminal), then do "veryclean" and finally the compile. First, open the
file ~/vmd/vmd-1.9.4a38/configure in a tex editor and change this
setting to match your PLUGINDIR (as above):

$install_library_dir="/usr/local/vmd-1.9.4a38";

then in a shell do:

export PLUGINDIR=/usr/local/vmd-1.9.4a38/plugins
cd ~/vmd/vmd-1.9.4a38
./configure LINUXCARMA OPENGL FLTK TK IMD TCL PTHREADS LIBTACHYON SILENT
cd src
make veryclean
make

The reason to run configure "by hand" is that the default make targets
for LINUXCARMA require Nvidia CUDA, which you don't have.

HTH,
Pawel
> cp: cannot stat '../lib/surf/surf_LINUXAMD64': No such file or directory
> cp: cannot stat '../lib/tachyon/tachyon_LINUXAMD64': No such file or
> directory
> tar: plugins: Cannot stat: No such file or directory
> tar: Exiting with failure status due to previous errors
> Info: /bin/csh shell not found, installing Bourne shell startup script
> instead
> Make sure /usr/local/bin/vmd is in your path.
> VMD installation complete.  Enjoy!
>
> I ran the above command after I did this:
>
> jgehring_at_Debian-Desktop:~/vmd/plugins$ sudo make distrib
> [sudo] password for jgehring:
> Populating distribution directory with compiled plugins
> Copying molfile plugins to  destination area
>     abinitplugin.so ...
>     amiraplugin.so ...
>     avsplugin.so ...
>     babelplugin.so ...
>     basissetplugin.so ...
>     bgfplugin.so ...
>     binposplugin.so ...
>     biomoccaplugin.so ...
>     brixplugin.so ...
>     carplugin.so ...
>     ccp4plugin.so ...
>     corplugin.so ...
>     cpmdplugin.so ...
>     crdplugin.so ...
>     cubeplugin.so ...
>     dcdplugin.so ...
>     dlpolyplugin.so ...
>     dsn6plugin.so ...
>     dxplugin.so ...
>     edmplugin.so ...
>     fs4plugin.so ...
>     gamessplugin.so ...
>     graspplugin.so ...
>     grdplugin.so ...
>     gridplugin.so ...
>     gromacsplugin.so ...
>     jsplugin.so ...
>     lammpsplugin.so ...
>     mapplugin.so ...
>     mdfplugin.so ...
>     mol2plugin.so ...
>     moldenplugin.so ...
>     molemeshplugin.so ...
>     msmsplugin.so ...
>     namdbinplugin.so ...
>     offplugin.so ...
>     parm7plugin.so ...
>     parmplugin.so ...
>     pbeqplugin.so ...
>     pdbplugin.so ...
>     pdbxplugin.so ...
>     phiplugin.so ...
>     pltplugin.so ...
>     plyplugin.so ...
>     pqrplugin.so ...
>     psfplugin.so ...
>     raster3dplugin.so ...
>     rst7plugin.so ...
>     situsplugin.so ...
>     spiderplugin.so ...
>     stlplugin.so ...
>     tinkerplugin.so ...
>     uhbdplugin.so ...
>     vaspchgcarplugin.so ...
>     vaspoutcarplugin.so ...
>     vaspparchgplugin.so ...
>     vaspposcarplugin.so ...
>     vasp5xdatcarplugin.so ...
>     vaspxdatcarplugin.so ...
>     vaspxmlplugin.so ...
>     vtkplugin.so ...
>     xbgfplugin.so ...
>     xsfplugin.so ...
>     xyzplugin.so ...
>     dtrplugin.so ...
>     maeffplugin.so ...
>     dmsplugin.so ...
>     hoomdplugin.so ...
>     lmplugin.so ...
>     netcdfplugin.so ...
>     orcaplugin.so ...
>     tngplugin.so ...
>     vtfplugin.so ...
>     webpdbplugin.so ...
>     libmolfile_plugin.a ...
>     libmolfile_plugin.h ...
>     libmolfile_plugin.lib ...
>     libmolfile_plugin.h ...
> Copying apbsrun 1.3 files to /noarch/tcl/apbsrun1.3
> Copying alascanfep 1.0 files to /noarch/tcl/alascanfep1.0
> Copying atomedit 1.0 files to /noarch/tcl/atomedit1.0
> Copying autoimd 1.7 files to /noarch/tcl/autoimd1.7
> Copying autoionize 1.5 files to /noarch/tcl/autoionize1.5
> Copying bdtk 1.0 files to /noarch/tcl/bdtk1.0
> Copying bendix 1.1 files to /noarch/tcl/bendix1.1
> Copying bfeestimator 0.4 files to /noarch/tcl/bfeestimator0.4
> Copying bignum 1.0 files to /noarch/tcl/bignum1.0
> Copying biocore 1.1 files to /noarch/tcl/biocore1.1
> Copying bossconvert 1.0 files to
>     /LINUXCARMA/tcl/bossconvert1.0
> Copying cgtools 1.2 files to /noarch/tcl/cgtools1.2
> Copying chirality 1.2 files to /noarch/tcl/chirality1.2
> Copying cispeptide 1.3 files to /noarch/tcl/cispeptide1.3
> Copying cliptool 1.0 files to /noarch/tcl/cliptool1.0
> Copying clonerep 1.3 files to /noarch/tcl/clonerep1.3
> Copying colorscalebar 3.0 files to /noarch/tcl/colorscalebar3.0
> Copying contactmap 1.1 files to /noarch/tcl/contactmap1.1
> Copying cv_dashboard 1.1 files to /noarch/tcl/cv_dashboard1.1
> Copying dataimport 1.0 files to /noarch/tcl/dataimport1.0
> Copying demomaster 1.0 files to /noarch/tcl/demomaster1.0
> Copying dipwatch 1.2 files to /noarch/tcl/dipwatch1.2
> Copying dowser 1.1 files to /noarch/tcl/dowser1.1
> Copying exectool 1.2 files to /noarch/tcl/exectool1.2
> Copying extendedpdb 1.0 files to /noarch/tcl/extendedpdb1.0
> Copying fftk 1.3 files to /noarch/tcl/fftk1.3
> Copying gofrgui 1.3 files to /noarch/tcl/gofrgui1.3
> Copying heatmapper 1.1 files to /noarch/tcl/heatmapper1.1
> Copying hbonds 1.2 files to /noarch/tcl/hbonds1.2
> Copying idatm 0.2 files to /noarch/tcl/idatm0.2
> Copying ilstools 1.5 files to /noarch/tcl/ilstools1.5
> Copying imdmenu 1.0 files to /noarch/tcl/imdmenu1.0
> Copying infobutton 1.0 files to /noarch/tcl/infobutton1.0
> Copying inorganicbuilder 0.1 files to /noarch/tcl/inorganicbuilder0.1
> Copying irspecgui 1.3 files to /noarch/tcl/irspecgui1.3
> Copying json 1.0 files to /noarch/tcl/json1.0
> Copying mafft 1.1 files to
> Copying mdff 0.6 files to /noarch/tcl/mdff0.6
> Copying membrane 1.2 files to /noarch/tcl/membrane1.2
> Copying mergestructs 1.1 files to /noarch/tcl/mergestructs1.1
> Copying modelmaker 0.1 files to /noarch/tcl/modelmaker0.1
> Copying molefacture 2.0 files to /noarch/tcl/molefacture2.0
> Copying moltoptools 0.1 files to /noarch/tcl/moltoptools0.1
> Copying multimolanim 1.0 files to /noarch/tcl/multimolanim1.0
> Copying multiplot 1.7 files to /noarch/tcl/multiplot1.7
> Copying multitext 1.1 files to /noarch/tcl/multitext1.1
> Copying namdenergy 1.4 files to /noarch/tcl/namdenergy1.4
> Copying namdgui 1.4 files to /noarch/tcl/namdgui1.4
> Copying namdplot 1.2 files to /noarch/tcl/namdplot1.2
> Copying namdserver 1.1 files to /noarch/tcl/namdserver1.1
> Copying nanotube 1.6 files to /noarch/tcl/nanotube1.6
> Copying navfly 1.0 files to /noarch/tcl/navfly1.0
> Copying navigate 1.0 files to /noarch/tcl/navigate1.0
> Copying networkview 1.41 files to /noarch/tcl/networkview1.41
> Copying nmwiz 1.2 files to /noarch/tcl/nmwiz1.2
> Copying optimization 1.3 files to /noarch/tcl/optimization1.3
> Copying palettetool 1.0 files to /noarch/tcl/palettetool1.0
> Copying paratool 1.6 files to /noarch/tcl/paratool1.6
> Copying parsefep 2.1 files to /noarch/tcl/parsefep2.1
> Copying pbctools 2.8 files to /noarch/tcl/pbctools2.8
> Copying pdbtool 1.1 files to /noarch/tcl/pdbtool1.1
> Copying plumed 2.7 files to /noarch/tcl/plumed2.7
> Copying propka 1.1 files to /noarch/tcl/propka1.1
> Copying psfgen 2.0 files to  arch-specific dir
> Copying qmtool 1.3 files to /noarch/tcl/qmtool1.3
> Copying qwikmd 1.3 files to /noarch/tcl/qwikmd1.3
> Copying ramaplot 1.1 files to /noarch/tcl/ramaplot1.1
> Copying readcharmmpar 1.5 files to /noarch/tcl/readcharmmpar1.5
> Copying readcharmmtop 1.2 files to /noarch/tcl/readcharmmtop1.2
> Copying remote 0.6 files to /noarch/tcl/remote0.6
> Copying resptool 1.2 files to /noarch/tcl/resptool1.2
> Copying rnaview 1.1 files to
>     /LINUXCARMA/tcl/rnaview1.1
> Copying rmsd 1.0 files to /noarch/tcl/rmsd1.0
> Copying rmsdtt 3.0 files to /noarch/tcl/rmsdtt3.0
> Copying rmsdvt 1.0 files to /noarch/tcl/rmsdvt1.0
> Copying ruler 1.0 files to /noarch/tcl/ruler1.0
> Copying runante 0.2 files to /noarch/tcl/runante0.2
> Copying runsqm 0.2 files to /noarch/tcl/runsqm0.2
> Copying saltbr 1.1 files to /noarch/tcl/saltbr1.1
> Copying solvate 1.7 files to /noarch/tcl/solvate1.7
> Copying ssrestraints 1.1 files to /noarch/tcl/ssrestraints1.1
> Copying stingtool 1.0 files to /noarch/tcl/stingtool1.0
> Copying structurecheck 1.2 files to /noarch/tcl/structurecheck1.2
> Copying symmetrytool 1.3 files to /noarch/tcl/symmetrytool1.3
> Copying tablelist 5.13 files to /noarch/tcl/tablelist5.13
> Copying timeline 2.3 files to /noarch/tcl/timeline2.3
> Copying tktooltip 1.0 files to /noarch/tcl/tktooltip1.0
> Copying topotools 1.7 files to /noarch/tcl/topotools1.7
> Copying torsionplot 1.1 files to /noarch/tcl/torsionplot1.1
> Copying trunctraj 1.5 files to /noarch/tcl/trunctraj1.5
> Copying utilities 1.2 files to /noarch/tcl/utilities1.2
> Copying vdna 2.2 files to /noarch/tcl/vdna2.2
> Copying viewchangerender 1.8 files to /noarch/tcl/viewchangerender1.8
> Copying viewmaster 2.6 files to /noarch/tcl/viewmaster2.6
> Copying volmapgui 1.1 files to /noarch/tcl/volmapgui1.1
> Copying volutil 1.3 files to
>     /LINUXCARMA/tcl/volutil1.3
> Copying vmddebug 1.1 files to /noarch/tcl/vmddebug1.1
> Copying vmdlite 1.1 files to /noarch/tcl/vmdlite1.1
> Copying vmdmovie 1.9 files to /noarch/tcl/vmdmovie1.9
> Copying vmdprefs 1.1 files to /noarch/tcl/vmdprefs1.1
> Copying vmdtkcon 1.1 files to /noarch/tcl/vmdtkcon1.1
> Copying zoomseq 1.2 files to /noarch/tcl/zoomseq1.2
> Copying blast 1.11 files to /noarch/tcl/blast1.11
> Copying clustalw 1.1 files to
>     /LINUXCARMA/tcl/clustalw1.1
> Copying libbiokit 1.1 files.
>   ../compile/lib_LINUXCARMA/tcl/libbiokit1.1/percid ->
> /LINUXCARMA/tcl/libbiokit1.1
>   ../compile/lib_LINUXCARMA/tcl/libbiokit1.1/qpair ->
> /LINUXCARMA/tcl/libbiokit1.1
>   ../compile/lib_LINUXCARMA/tcl/libbiokit1.1/structqr ->
> /LINUXCARMA/tcl/libbiokit1.1
>   ../compile/lib_LINUXCARMA/tcl/libbiokit1.1/rmsd ->
> /LINUXCARMA/tcl/libbiokit1.1
>   ../compile/lib_LINUXCARMA/tcl/libbiokit1.1/seqqr ->
> /LINUXCARMA/tcl/libbiokit1.1
>   ../compile/lib_LINUXCARMA/tcl/libbiokit1.1/q ->
> /LINUXCARMA/tcl/libbiokit1.1
> Copying multiseq 2.1 files to /noarch/tcl/multiseq2.1
> Copying multiseqdialog 1.1 files to /noarch/tcl/multiseqdialog1.1
> Copying phylotree 1.2 files to
>     /LINUXCARMA/tcl/phylotree1.2
> Copying psipred 1.1 files to /noarch/tcl/psipred1.1
> Copying seqdata 1.1 files to /noarch/tcl/seqdata1.1
> Copying seqedit 1.1 files to /noarch/tcl/seqedit1.1
> Copying stamp 1.2 files to
>     /LINUXCARMA/tcl/stamp1.2
>
> Eagerly awaiting your replies,
>
> Joey
>
>
> On Sat, Feb 8, 2020 at 7:31 PM Joey Gehring
> <gehringjoseph123_at_gmail.com <mailto:gehringjoseph123_at_gmail.com>>
> wrote:
>
> Is this referring to /usr/local/lib ?
>
> On Sat, Feb 8, 2020 at 7:14 PM Joey Gehring
> <gehringjoseph123_at_gmail.com
> <mailto:gehringjoseph123_at_gmail.com>> wrote:
>
> I believe I am at the point where I can make a plugin
> distribution directory in accordance with
> http://www.ks.uiuc.edu/Research/vmd/plugins/doxygen/compiling.html
>
>
> My only question is where I should put this on my system?
> Specifically, I am reading...
>
> Before you run the '*make install*' command, you must
> first set the PLUGINDIR environment variable to the name
> of your distribution target directory, using the
> appropriate shell command. Here's a simple example:
>
> cd /to/your/work/area/plugins/
> setenv PLUGINDIR /final/desitation/directory/for/compiled/plugins
> gmake distrib
>
> This is exciting and I hope to hear from you soon! THANK
> YOU BOTH.
>
> Best,
>
> Joey
>
> On Sat, Feb 8, 2020 at 7:04 PM Joey Gehring
> <gehringjoseph123_at_gmail.com
> <mailto:gehringjoseph123_at_gmail.com>> wrote:
>
> Hello Pawel,
>
> Good news. I just used the command: make
> TCLINC="$TCLINC" LINUXCARMA and I was not thrown an
> error message at all. Do I need to do the same thing
> for tk plugins? Correct me if I am wrong but this step
> is just the first of many compilations that I will
> need to do for tk as well as FLTK and opengl? Or am I
> mistaken? I apologize for all of my questions and I
> appreciate my lack of experience compiling. I was so
> happy when I was not shown any errors :)
>
> Best,
>
> Joey
>
> On Sat, Feb 8, 2020 at 3:03 PM Paweł Kędzierski
> <pawel.kedzierski_at_pwr.edu.pl
> <mailto:pawel.kedzierski_at_pwr.edu.pl>> wrote:
>
> I don't know which you should use, John should be
> competent here.
> Also, it tries to link against tcl8.6 which you
> wrote you removed, so either there are leftovers
> or 8.6 is the version required now.
> W dniu 8 lut 2020, o 20:29, użytkownik Joey
> Gehring <gehringjoseph123_at_gmail.com
> <mailto:gehringjoseph123_at_gmail.com>> napisał:
>
> I also looked in the Make-arch file to see if
> there was anything arm related I could try as
> a platform and found LINUXCARMA. I am sure
> this is incorrect but I will try to provide as
> much information as I can. I pasted the
> results below.
>
> Best,
>
> Joey
>
> PS: I exported TCLINC and TCLLIB but I am not
> sure how to verify if the paths are correct. I
> hope that you have a restful weekend!
>
> /usr/bin/ld: cannot find
> /usr/lib/arm-linux-gnueabihf/: File format not
> recognized
> /usr/bin/ld: cannot find -ltcl8.6
> collect2: error: ld returned 1 exit status
> Makefile:49: recipe for target
> '../compile/lib_LINUXCARMA/bin/catdcd5.2/catdcd'
> failed
> make[2]: ***
> [../compile/lib_LINUXCARMA/bin/catdcd5.2/catdcd]
> Error 1
> Makefile:177: recipe for target 'bins' failed
> make[1]: *** [bins] Error 1
> Make-arch:353: recipe for target 'LINUXCARMA'
> failed
> make: *** [LINUXCARMA] Error 2
>
>
> On Sat, Feb 8, 2020 at 1:42 PM Joey Gehring <
> gehringjoseph123_at_gmail.com
> <mailto:gehringjoseph123_at_gmail.com>> wrote:
>
> Hey Pawel!
>
> I am not seeing netcdf in the default
> repos but I do see libnetcdf-dev and a
> number of other iterations (c++ legacy
> interface and many others)
>
> Best,
>
> Joey
>
> On Sat, Feb 8, 2020 at 1:39 PM Paweł
> Kędzierski < pawel.kedzierski_at_pwr.edu.pl
> <mailto:pawel.kedzierski_at_pwr.edu.pl>> wrote:
>
> LINUXIA64 is Intel Architecture 64bit
> so it doesn't fit. The error you see
> (ld cannot find -lnetcdf) means you do
> not have the netcdf library installed
> (a requirement for a number of file
> formats supported by VMD). This should
> be easy to fix:
>
> sudo apt-get install netcdf
>
> I am writing from my phone so can't
> check what architecture you should
> use, but before you change it you
> should ran:
>
> make clean
>
> to remove the files already compiled
> with wrong setting.
> HTH
> Pawel
> W dniu 8 lut 2020, o 06:06, użytkownik
> Joey Gehring <
> gehringjoseph123_at_gmail.com
> <mailto:gehringjoseph123_at_gmail.com>>
> napisał:
>
> Also,
>
> The make command, whilst in the
> plugins directory, pulls up a
> number of platforms. Guessing, I
> chose make LINUXAI64 and it
> displayed a number of different
> sequences of outputs ending with
> an error stating:
>
> /usr/bin/ld: cannot find -lnetcdf
> collect2: error: ld returned 1
> exit status
> Makefile:49: recipe for target
> '../compile/lib_LINUXIA64/bin/catdcd5.2/catdcd'
> failed
> make[2]: ***
> [../compile/lib_LINUXIA64/bin/catdcd5.2/catdcd]
> Error 1
> Makefile:177: recipe for target
> 'bins' failed
> make[1]: *** [bins] Error 1
> Make-arch:403: recipe for target
> 'LINUXIA64' failed
> make: *** [LINUXIA64] Error 2
>
> I am not surprised it failed
> because I did not export any
> environment variables. I guess
> this was just me testing one of
> the platforms because I did not
> see one relating to ARM in any
> way. Can you give me an idea of
> what platform I should be using
> once I specify the correct paths.
>
> Peace,
>
> Joey
>