[gmx-developers] build libmd with additional libraries
Mark Abraham
Mark.Abraham at anu.edu.au
Tue Dec 6 17:13:00 CET 2011
On 7/12/2011 1:48 AM, Steyer, Michael wrote:
>
> I modified the gromacs-4.5.5/src/mdlib/ns.c file, there are different
> libraries now used by ns.c.
>
> As ns.o will later be linked to libmd, I want to know where I can add
> my additional includes and libraries.
>
libmd doesn't need or want to know about other libraries. For example it
is dependent on libgmx, but construction of the libmd library files
doesn't know when/if libgmx will ever exist.
Only at link time do the names have to get resolved. You can supply
extra libraries to the configure line, e.g. something like ./configure
LDFLAGS="-L/place/of/fancy/lib -lmyfancylib"
Mark
> I focused on the gromacs-4.5.5/src/mdlib/Makefile.am which will then
> generate Makefile.in, using the autotools.
>
> The gromacs-4.5.5/src/mdlib/Makefile.am:
>
> -------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> ## Process this file with automake to produce Makefile.in
>
> # Note: Makefile is automatically generated from Makefile.in by the
> configure
>
> # script, and Makefile.in is generated from Makefile.am by automake.
>
> AM_CPPFLAGS = -I$(top_srcdir)/include -DGMXLIBDIR=\"$(datadir)/top\"
>
> libmd at LIBSUFFIX@_la_LIBADD = ../gmxlib/libgmx at LIBSUFFIX@.la
>
> libmd at LIBSUFFIX@_la_DEPENDENCIES = ../gmxlib/libgmx at LIBSUFFIX@.la
>
> libmd at LIBSUFFIX@_la_LDFLAGS = -no-undefined -version-info
> @SHARED_VERSION_INFO@ $(FFT_LIBS) $(XML_LIBS) $(PT
>
> HREAD_LIBS)
>
> lib_LTLIBRARIES = libmd at LIBSUFFIX@.la
>
> pkgconfigdir = ${libdir}/pkgconfig
>
> pkgconfig_DATA = libmd at LIBSUFFIX@.pc
>
> EXTRA_DIST = libmd.pc.cmakein
>
> libmd at LIBSUFFIX@_la_SOURCES = \
>
> calcmu.c calcvir.c constr.c \
>
> coupling.c \
>
> domdec.c domdec_box.c domdec_con.c \
>
> domdec_network.c domdec_setup.c domdec_top.c \
>
> ebin.c \
>
> edsam.c ewald.c \
>
> force.c forcerec.c \
>
> ghat.c init.c \
>
> iteratedconstraints.c md_support.c \
>
> mdatom.c mdebin.c minimize.c \
>
> mvxvf.c ns.c nlistheuristics.c nsgrid.c \
>
> perf_est.c genborn.c \
>
> genborn_sse2_single.c \
>
> genborn_sse2_single.h \
>
> genborn_sse2_double.c \
>
> genborn_sse2_double.h \
>
> genborn_allvsall.c \
>
> genborn_allvsall.h \
>
> genborn_allvsall_sse2_single.c \
>
> genborn_allvsall_sse2_single.h \
>
> genborn_allvsall_sse2_double.c \
>
> genborn_allvsall_sse2_double.h \
>
> gmx_qhop_parm.c gmx_qhop_parm.h \
>
> gmx_qhop_xml.c gmx_qhop_xml.h \
>
> groupcoord.c groupcoord.h \
>
> pme.c pme_pp.c pppm.c \
>
> partdec.c pull.c pullutil.c \
>
> rf_util.c shakef.c sim_util.c \
>
> shellfc.c stat.c \
>
> tables.c tgroup.c tpi.c \
>
> update.c vcm.c vsite.c \
>
> wall.c wnblist.c \
>
> csettle.c clincs.c \
>
> qmmm.c gmx_fft.c gmx_parallel_3dfft.c \
>
> fft5d.c fft5d.h \
>
> gmx_wallcycle.c \
>
> qm_gaussian.c qm_mopac.c qm_gamess.c \
>
> gmx_fft_fftw2.c gmx_fft_fftw3.c gmx_fft_fftpack.c \
>
> gmx_fft_mkl.c qm_orca.c mdebin_bar.c \
>
> mdebin_bar.h
>
> LDADD = ../mdlib/libmd at LIBSUFFIX@.la ../gmxlib/libgmx at LIBSUFFIX@.la
>
> EXTRA_PROGRAMS = gmx_qhop_db_test
>
> gmx_qhop_db_test_LDADD = ../mdlib/libmd at LIBSUFFIX@.la
> ../gmxlib/libgmx at LIBSUFFIX@.la ../kernel/libgmxpreprocess at LIB
>
> SUFFIX at .la
>
> # clean all libtool libraries, since the target names might have changed
>
> CLEANFILES = *.la *~ \\\#*
>
> -------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> I tried to add my libraries to the "LDADD" as well as the
> "libmd at LIBSUFFIX@_la_LDFLAGS" variables, without success.
>
> During linkage, I still get "gromacs-4.5.5/src/mdlib/.libs/libmd.so:
> undefined reference to ..." errors.
>
> Which is the easiest way to add my required libraries to make them
> part of libmd?
>
> Thanks and regards,
>
> Michael Steyer
>
> --------------------------------------------------------------------------------------
> Intel GmbH
> Dornacher Strasse 1
> 85622 Feldkirchen/Muenchen, Deutschland
> Sitz der Gesellschaft: Feldkirchen bei Muenchen
> Geschaeftsfuehrer: Douglas Lusk, Peter Gleissner, Hannes Schwaderer
> Registergericht: Muenchen HRB 47456
> Ust.-IdNr./VAT Registration No.: DE129385895
> Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20111207/e2bff53c/attachment.html>
More information about the gromacs.org_gmx-developers
mailing list