[gmx-users] Unable to compile plug-in support for gromacs 5.1.2
Mark Abraham
mark.j.abraham at gmail.com
Wed Nov 23 23:00:58 CET 2016
OK cool.
I'm not sure that all aspects of that implementation were thought
through... I can think of no reason why a libgromacs with some
statically-linked dependencies has to be incapable of having a dynamically
loaded function, but our CMake implementation probably assumes it for
simplicity.
Mark
On Wed, Nov 23, 2016 at 10:01 PM Christopher Neale <
chris.neale at alum.utoronto.ca> wrote:
> All Hail Mark!
>
> Seems as if -DGMX_PREFER_STATIC_LIBS=ON clobbers the incorporation of
> plugins, at least in gmx 5.1.2. Some output is below, but it seems to be
> that simple. Thanks a lot Mark!
>
> ## using -DGMX_PREFER_STATIC_LIBS=ON gives the following output to
> stdout/stderr at compile time
> ...
> -- Checking for dlopen
> -- Performing Test HAVE_DLOPEN
> -- Performing Test HAVE_DLOPEN - Success
> -- Checking for dlopen - found
> -- Using default binary suffix: ""
> -- Using default library suffix: ""
> -- Found PythonInterp: /usr/bin/python (found version "2.7.3")
> ...
>
> ## NOT using -DGMX_PREFER_STATIC_LIBS=ON gives the following output to
> stdout/stderr at compile time
> ## note the new line about VMD
> ...
> -- Checking for dlopen
> -- Performing Test HAVE_DLOPEN
> -- Performing Test HAVE_DLOPEN - Success
> -- Checking for dlopen - found
> -- Using dynamic plugins (e.g VMD-supported file formats)
> -- Using default binary suffix: ""
> -- Using default library suffix: ""
> -- Found PythonInterp: /usr/bin/python (found version "2.7.3")
> ...
> ________________________________________
> From: gromacs.org_gmx-users-bounces at maillist.sys.kth.se <
> gromacs.org_gmx-users-bounces at maillist.sys.kth.se> on behalf of Mark
> Abraham <mark.j.abraham at gmail.com>
> Sent: 23 November 2016 15:49:54
> To: Discussion list for GROMACS users
> Subject: Re: [gmx-users] Unable to compile plug-in support for gromacs
> 5.1.2
>
> Hi,
>
> Does a fresh build not preferring static libs help? Does the nohup.out
> mention vmd?
>
> Mark
>
> On Wed, 23 Nov 2016 21:41 Christopher Neale <chris.neale at alum.utoronto.ca>
> wrote:
>
> > Thanks Mark. I was hoping that the 4.6.7 error message would help me to
> > understand why the 5.1.2 compilation is succeeding but the plugins are
> not
> > linked.
> >
> > Can anybody confirm that gromacs 5.1.2 can be built with the VMD plugins
> > to process non-gromacs trajectory files?
> >
> > Thank you,
> > Chris.
> >
> > ________________________________________
> > From: gromacs.org_gmx-users-bounces at maillist.sys.kth.se <
> > gromacs.org_gmx-users-bounces at maillist.sys.kth.se> on behalf of Mark
> > Abraham <mark.j.abraham at gmail.com>
> > Sent: 23 November 2016 15:33:09
> > To: Discussion list for GROMACS users
> > Subject: Re: [gmx-users] Unable to compile plug-in support for gromacs
> > 5.1.2
> >
> > Hi,
> >
> > Offhand the first error is inexplicable, but the first is that the linker
> > flags aren't set up right. However I do think we fixed that at some
> > stage...
> >
> > Mark
> >
> > On Wed, 23 Nov 2016 21:23 Christopher Neale <
> chris.neale at alum.utoronto.ca>
> > wrote:
> >
> > > I've now also tried gromacs 4.6.7 and though I was not able to compile
> > > with plugin support, I did get more error messages there.
> > >
> > > Compiling gromacs 4.6.7 in the same way, I still see this output during
> > > compilation:
> > >
> > > -- Checking for dlopen
> > > -- Performing Test HAVE_DLOPEN
> > > -- Performing Test HAVE_DLOPEN - Success
> > > -- Checking for dlopen - found
> > >
> > > However, in gmx4.6.7 (but not 5.1.2) compilation, I get the errors:
> > >
> > > [ 55%] Building C object
> > > share/template/CMakeFiles/template.dir/template.c.o
> > > [ 55%] Linking C executable template
> > > ../../src/gmxlib/libgmx.a(vmddlopen.c.o): In function `vmddlopen':
> > > vmddlopen.c:(.text+0x6): undefined reference to `dlopen'
> > > ../../src/gmxlib/libgmx.a(vmddlopen.c.o): In function `vmddlerror':
> > > vmddlopen.c:(.text+0x11): undefined reference to `dlerror'
> > > ../../src/gmxlib/libgmx.a(vmddlopen.c.o): In function `vmddlsym':
> > > vmddlopen.c:(.text+0x21): undefined reference to `dlsym'
> > > ../../src/gmxlib/libgmx.a(vmddlopen.c.o): In function `vmddlclose':
> > > vmddlopen.c:(.text+0x31): undefined reference to `dlclose'
> > > collect2: ld returned 1 exit status
> > > make[2]: *** [share/template/template] Error 1
> > > make[1]: *** [share/template/CMakeFiles/template.dir/all] Error 2
> > > make[1]: *** Waiting for unfinished jobs....
> > >
> > >
> > > ### But I do have dlfcn.h in a standard location that should get picked
> > up
> > > by an #include statement:
> > >
> > > $ ls /usr/include/dlfcn.h
> > > /usr/include/dlfcn.h
> > >
> > > Still, I tried exporting CMAKE_INCLUDE_PATH=/usr/include and compiled
> > > again (clean build directory) but got the same problem (and same thing
> > if I
> > > used -DCMAKE_INCLUDE_PATH=/usr/include as a cmake argument).
> > >
> > > Thanks again for any help,
> > > Chris.
> > > ________________________________________
> > > From: gromacs.org_gmx-users-bounces at maillist.sys.kth.se <
> > > gromacs.org_gmx-users-bounces at maillist.sys.kth.se> on behalf of
> > > Christopher Neale <chris.neale at alum.utoronto.ca>
> > > Sent: 23 November 2016 13:23:52
> > > To: Discussion list for GROMACS users
> > > Subject: [gmx-users] Unable to compile plug-in support for gromacs
> 5.1.2
> > >
> > > This sender failed our fraud detection checks and may not be who they
> > > appear to be. Learn about spoofing at http://aka.ms/LearnAboutSpoofing
> > >
> > > Dear Users:
> > >
> > > I tried to compile gromacs 5.1.2 with plugin support, but upon running
> > gmx
> > > trjconv I get the following error message indicating that plugin
> support
> > > was not actually included:
> > >
> > > $ /scratch/cneale/exe/GROMACS/exec/gromacs-5.1.2/serial_plugins/bin/gmx
> > > trjconv -f MD1.mdcrd.nc -s EM.gro -o a.xtc
> > >
> > > <... snip ...>
> > >
> > > Fatal error:
> > > Not supported in read_first_frame: MD1.mdcrd.nc. Please make sure that
> > > the file is a trajectory.
> > > GROMACS is not compiled with plug-in support. Thus it cannot read
> > > non-GROMACS trajectory formats using the VMD plug-ins.
> > > Please compile with plug-in support if you want to read non-GROMACS
> > > trajectory formats.
> > >
> > >
> > >
> > > ### compilation was via nohup ./cn_compile.sh , where the contents of
> > that
> > > compilation script are:
> > > mkdir -p ../../../exec/gromacs-5.1.2/serial_plugins
> > > export FFTW_LOCATION=/scratch/cneale/exe/FFTW/fftw-3.3.4/exec
> > > /scratch/cneale/exe/CMAKE/cmake-3.5.1-Linux-x86_64/bin/cmake
> > > ../../../source/gromacs-5.1.2/ \
> > > -DCMAKE_PREFIX_PATH=$FFTW_LOCATION \
> > >
> > >
> -DCMAKE_INSTALL_PREFIX=$(pwd)/../../../exec/gromacs-5.1.2/serial_plugins
> > \
> > > -DGMX_X11=OFF \
> > > -DGMX_MPI=OFF \
> > > -DCMAKE_CXX_COMPILER=g++ \
> > > -DCMAKE_C_COMPILER=gcc \
> > > -DGMX_PREFER_STATIC_LIBS=ON \
> > > -DGMX_GPU=OFF \
> > > -DGMX_USE_PLUGINS=ON \
> > >
> > >
> >
> -DGMX_VMD_PLUGIN_PATH=/scratch/cneale/exe/vmd-1.9.2/plugins/LINUXAMD64/molfile
> > > make -j 8
> > > make install -j 8
> > >
> > >
> > >
> > > ### I also tried adding the following preliminary command, but it made
> no
> > > difference:
> > > export
> > >
> VMD_PLUGIN_PATH=/scratch/cneale/exe/vmd-1.9.2/plugins/LINUXAMD64/molfile
> > >
> > > Also, including -DGMX_LOAD_PLUGINS=ON to the cmake command did not help
> > > either.
> > >
> > >
> > > ### Here is some further information that might be useful based on the
> > > other posts I saw on this topic:
> > >
> > > $ grep PLUG CMakeCache.txt
> > > GMX_LOAD_PLUGINS:BOOL=ON
> > > GMX_USE_PLUGINS:UNINITIALIZED=ON
> > >
> > >
> >
> GMX_VMD_PLUGIN_PATH:UNINITIALIZED=/scratch/cneale/exe/vmd-1.9.2/plugins/LINUXAMD64/molfile
> > > //ADVANCED property for variable: GMX_LOAD_PLUGINS
> > > GMX_LOAD_PLUGINS-ADVANCED:INTERNAL=1
> > >
> > > $ grep DLOPEN CMakeCache.txt
> > > HAVE_DLOPEN:INTERNAL=1
> > >
> > > $ grep HAVE_DLOPEN nohup.out
> > > -- Performing Test HAVE_DLOPEN
> > > -- Performing Test HAVE_DLOPEN - Success
> > >
> > > $ ls /scratch/cneale/exe/vmd-1.9.2/plugins/LINUXAMD64/molfile
> > > abinitplugin.so brixplugin.so dcdplugin.so fs4plugin.so
> > > jsplugin.so molemeshplugin.so pbeqplugin.so rst7plugin.so
> > > vaspchgcarplugin.so webpdbplugin.so
> > > avsplugin.so carplugin.so dlpolyplugin.so gamessplugin.so
> > > lammpsplugin.so msmsplugin.so pdbplugin.so situsplugin.so
> > > vaspoutcarplugin.so xbgfplugin.so
> > > babelplugin.so ccp4plugin.so dmsplugin.so graspplugin.so
> > > maeffplugin.so namdbinplugin.so phiplugin.so spiderplugin.so
> > > vaspparchgplugin.so xsfplugin.so
> > > basissetplugin.so corplugin.so dsn6plugin.so grdplugin.so
> > > mapplugin.so netcdfplugin.so pltplugin.so stlplugin.so
> > > vaspposcarplugin.so xyzplugin.so
> > > bgfplugin.so cpmdplugin.so dtrplugin.so gridplugin.so
> > > mdfplugin.so offplugin.so pqrplugin.so tinkerplugin.so
> > > vaspxdatcarplugin.so
> > > binposplugin.so crdplugin.so dxplugin.so gromacsplugin.so
> > > mol2plugin.so parm7plugin.so psfplugin.so uhbdplugin.so
> > > vaspxmlplugin.so
> > > biomoccaplugin.so cubeplugin.so edmplugin.so hoomdplugin.so
> > > moldenplugin.so parmplugin.so raster3dplugin.so
> > > vasp5xdatcarplugin.so vtfplugin.so
> > >
> > >
> > > Thank you for your advice on this compilation with plugins,
> > > Chris.
> > > --
> > > Gromacs Users mailing list
> > >
> > > * Please search the archive at
> > > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> > > posting!
> > >
> > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> > >
> > > * For (un)subscribe requests visit
> > > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> > > send a mail to gmx-users-request at gromacs.org.
> > > --
> > > Gromacs Users mailing list
> > >
> > > * Please search the archive at
> > > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> > > posting!
> > >
> > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> > >
> > > * For (un)subscribe requests visit
> > > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> > > send a mail to gmx-users-request at gromacs.org.
> > >
> > --
> > Gromacs Users mailing list
> >
> > * Please search the archive at
> > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> > posting!
> >
> > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> >
> > * For (un)subscribe requests visit
> > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> > send a mail to gmx-users-request at gromacs.org.
> > --
> > Gromacs Users mailing list
> >
> > * Please search the archive at
> > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> > posting!
> >
> > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> >
> > * For (un)subscribe requests visit
> > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> > send a mail to gmx-users-request at gromacs.org.
> >
> --
> Gromacs Users mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> send a mail to gmx-users-request at gromacs.org.
> --
> Gromacs Users mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> send a mail to gmx-users-request at gromacs.org.
>
More information about the gromacs.org_gmx-users
mailing list