From 8858214fcbe80e7199b996909d65e93b7b8fb92c Mon Sep 17 00:00:00 2001 From: marino Date: Thu, 25 Sep 2014 11:04:02 +0000 Subject: science: Fix mpqc, libint and unbreak ghemical, and libghemical atomically science/ghemical would not link because libghemical.so (from science/ libghemical port) had never been properly linked. Links to all mpqc "SC" libraries were added to LDFLAGS to rectify this. The configure breakage and solution is described below. After the version of lang/gcc was bumped from 4.7 to 4.8, science/libghemical ceased to configure and it was marked broken. After recreating the conftest, it was discovered that two versions incompatible versions of libgcc_s.so were getting pulled in by the realtime linker: the base version and the gcc48 ports version. The base version was getting pulled in by science/libint. To unbreak libghemical, libint is now built with lang/gcc. It was necessary to force libtool to link with LDFLAGS that Mk/bsd.gcc.mk sets so that the runpaths match across libraries used by libghemical. When science/mpqc was staged, it utilized libtool which renumbered all the library versions from 8.0.1 to 7.1.0. This was caused by the age component being greater than 0. By patching configure.in with a new version, we can generate major SHLIB of 8 again. While here, fix the bin/sc-config tool to remove a bad include cflag. With this fixes, science/ghemical builds successfully. Bump all 4 of these ports, remove any BROKEN designation and remove redundant @dirrm in pkg-plist --- science/ghemical/Makefile | 5 +- science/ghemical/pkg-plist | 15 ------ science/libghemical/Makefile | 12 +++-- science/libghemical/pkg-plist | 11 ----- science/libint/Makefile | 12 ++++- science/libint/pkg-plist | 3 -- science/mpqc/Makefile | 10 ++-- science/mpqc/pkg-plist | 104 +++++++++++++++++++++--------------------- 8 files changed, 80 insertions(+), 92 deletions(-) diff --git a/science/ghemical/Makefile b/science/ghemical/Makefile index 05f9bfda792..ce4032565c8 100644 --- a/science/ghemical/Makefile +++ b/science/ghemical/Makefile @@ -3,7 +3,7 @@ PORTNAME= ghemical PORTVERSION= 3.0.0 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= science MASTER_SITES= http://bioinformatics.org/ghemical/download/release20111012/ \ http://bioinformatics.org/ghemical/download/current @@ -25,7 +25,8 @@ USES= fortran gettext gmake pkgconfig USE_GNOME= glib20 gtk20 libglade2 USE_GL= glut GNU_CONFIGURE= yes -CONFIGURE_ARGS= --enable-gamess --enable-mpqc --enable-openbabel --enable-gtk --enable-threads --enable-mopac7 +CONFIGURE_ARGS= --enable-gamess --enable-mpqc --enable-openbabel --enable-gtk \ + --enable-threads --enable-mopac7 PLIST_SUB= GHEMICAL_VERSION="${PORTVERSION}" CPPFLAGS= -I${LOCALBASE}/include diff --git a/science/ghemical/pkg-plist b/science/ghemical/pkg-plist index 1f7cc40c7a9..2b35e04a38e 100644 --- a/science/ghemical/pkg-plist +++ b/science/ghemical/pkg-plist @@ -151,18 +151,3 @@ share/ghemical/%%GHEMICAL_VERSION%%/pixmaps/ghemical.png %%NLS%%share/locale/pt_BR/LC_MESSAGES/ghemical.mo %%NLS%%share/locale/ru/LC_MESSAGES/ghemical.mo %%NLS%%share/locale/sq/LC_MESSAGES/ghemical.mo -@dirrm share/ghemical/%%GHEMICAL_VERSION%%/pixmaps -@dirrm share/ghemical/%%GHEMICAL_VERSION%%/user-docs/images -@dirrm share/ghemical/%%GHEMICAL_VERSION%%/user-docs -@dirrm share/ghemical/%%GHEMICAL_VERSION%%/glade -@dirrm share/ghemical/%%GHEMICAL_VERSION%%/examples/transition_state_search/tautomeric_shift_keto_enol -@dirrm share/ghemical/%%GHEMICAL_VERSION%%/examples/transition_state_search/sigmatropic_rearrangement_Cope -@dirrm share/ghemical/%%GHEMICAL_VERSION%%/examples/transition_state_search/cycloaddition_Diels-Alder -@dirrm share/ghemical/%%GHEMICAL_VERSION%%/examples/transition_state_search/carbocation_rearrangement_methide_shift -@dirrm share/ghemical/%%GHEMICAL_VERSION%%/examples/transition_state_search/carbocation_rearrangement_hydride_shift -@dirrm share/ghemical/%%GHEMICAL_VERSION%%/examples/transition_state_search/SN2-reaction -@dirrm share/ghemical/%%GHEMICAL_VERSION%%/examples/transition_state_search/E2-reaction -@dirrm share/ghemical/%%GHEMICAL_VERSION%%/examples/transition_state_search -@dirrm share/ghemical/%%GHEMICAL_VERSION%%/examples -@dirrm share/ghemical/%%GHEMICAL_VERSION%% -@dirrm share/ghemical diff --git a/science/libghemical/Makefile b/science/libghemical/Makefile index 19c715ccafb..f6ba58cbbe1 100644 --- a/science/libghemical/Makefile +++ b/science/libghemical/Makefile @@ -3,7 +3,7 @@ PORTNAME= libghemical PORTVERSION= 3.0.0 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= science MASTER_SITES= http://bioinformatics.org/ghemical/download/release20111012/ \ http://bioinformatics.org/ghemical/download/current @@ -11,8 +11,6 @@ MASTER_SITES= http://bioinformatics.org/ghemical/download/release20111012/ \ MAINTAINER= ports@FreeBSD.org COMMENT= Support libraries of science/ghemical port -BROKEN= Fails to configure - BUILD_DEPENDS= obabel:${PORTSDIR}/science/openbabel \ intltool-update:${PORTSDIR}/textproc/intltool \ ld:${PORTSDIR}/devel/binutils @@ -26,7 +24,13 @@ USE_LDCONFIG= yes CONFIGURE_ARGS+= --enable-mpqc CPPFLAGS+= -I${LOCALBASE}/include -LDFLAGS+= -L${LOCALBASE}/lib +LDFLAGS= -L${LOCALBASE}/lib -lSCbasis -lSCcints -lSCclass \ + -lSCcontainer -lSCdft -lSCgroup -lSCintv3 -lSCisosurf \ + -lSCkeyval -lSCmbpt -lSCmbptr12 -lSCmisc -lSCmolecule \ + -lSCoint3 -lSCoptimize -lSCoptions -lSCpsi -lSCref \ + -lSCrender -lSCscf -lSCscmat -lSCsolvent -lSCstate \ + -lSCsymmetry -lSCwfn \ + -lgfortran -lpthread -lblas -llapack PLIST_SUB= LIBGHEMICAL_VERSION="${PORTVERSION}" INSTALL_TARGET= install-strip diff --git a/science/libghemical/pkg-plist b/science/libghemical/pkg-plist index ea89ef59fc0..8239250ef4d 100644 --- a/science/libghemical/pkg-plist +++ b/science/libghemical/pkg-plist @@ -36,7 +36,6 @@ include/ghemical/typedef.h include/ghemical/typerule.h include/ghemical/utility.h include/ghemical/v3d.h -@dirrm include/ghemical lib/libghemical.so.5.0.1 lib/libghemical.so.5 lib/libghemical.so @@ -74,13 +73,3 @@ share/locale/mk/LC_MESSAGES/libghemical.mo share/locale/pt_BR/LC_MESSAGES/libghemical.mo share/locale/ru/LC_MESSAGES/libghemical.mo share/locale/sq/LC_MESSAGES/libghemical.mo -@dirrm share/libghemical/%%LIBGHEMICAL_VERSION%%/param_sf/default -@dirrm share/libghemical/%%LIBGHEMICAL_VERSION%%/param_sf -@dirrm share/libghemical/%%LIBGHEMICAL_VERSION%%/param_mm/tripos52 -@dirrm share/libghemical/%%LIBGHEMICAL_VERSION%%/param_mm/prmfit -@dirrm share/libghemical/%%LIBGHEMICAL_VERSION%%/param_mm/default -@dirrm share/libghemical/%%LIBGHEMICAL_VERSION%%/param_mm -@dirrm share/libghemical/%%LIBGHEMICAL_VERSION%%/amber -@dirrm share/libghemical/%%LIBGHEMICAL_VERSION%%/builder -@dirrm share/libghemical/%%LIBGHEMICAL_VERSION%% -@dirrm share/libghemical diff --git a/science/libint/Makefile b/science/libint/Makefile index 95e56607fe8..5edc3d5a0e2 100644 --- a/science/libint/Makefile +++ b/science/libint/Makefile @@ -3,14 +3,21 @@ PORTNAME= libint PORTVERSION= 1.1.4 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= science MASTER_SITES= http://www.files.chem.vt.edu/chem-dept/valeev/software/libint/src/ MAINTAINER= ports@FreeBSD.org COMMENT= Evaluate the integrals in modern atomic and molecular theory +# USE_GCC=yes is required because libint is used with mpqc which is built +# by gfortran48 (from lang/gcc) and these two libraries each try to pull in +# a different version of libgcc_s.so which fails. Forcing this port to +# build with lang/gcc as well resolves the conflict that manifests in +# science/libghemical + USES= perl5 gmake libtool +USE_GCC= yes USE_LDCONFIG= yes ALL_TARGET= # empty @@ -18,7 +25,8 @@ GNU_CONFIGURE= yes CONFIGURE_ARGS= --enable-shared post-patch: - @${REINPLACE_CMD} -e 's|echo aout|echo elf|' ${WRKSRC}/configure + @${REINPLACE_CMD} -e 's| -rpath|${LDFLAGS} -rpath|g' \ + ${WRKSRC}/src/lib/MakeVars.in post-install: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so diff --git a/science/libint/pkg-plist b/science/libint/pkg-plist index e366e807a2f..d633a2e0005 100644 --- a/science/libint/pkg-plist +++ b/science/libint/pkg-plist @@ -15,6 +15,3 @@ lib/libr12-stable.so.1 lib/libr12-stable.so.1.0.0 lib/libr12.a lib/libr12.so -@dirrm include/libderiv -@dirrm include/libint -@dirrm include/libr12 diff --git a/science/mpqc/Makefile b/science/mpqc/Makefile index 6929448be3e..fd4a122a1ff 100644 --- a/science/mpqc/Makefile +++ b/science/mpqc/Makefile @@ -3,7 +3,7 @@ PORTNAME= mpqc PORTVERSION= 2.3.1 -PORTREVISION= 23 +PORTREVISION= 24 CATEGORIES= science parallel MASTER_SITES= SF @@ -16,12 +16,11 @@ GNU_CONFIGURE= yes USES= fortran gmake libtool perl5 tar:bzip2 USE_AUTOTOOLS= autoconf USE_LDCONFIG= yes -MPQC_COMMAND= ${PREFIX}/bin/mpqc CONFIGURE_ARGS+=--with-cc=${CC} \ --with-cxx=${CXX} \ --with-f77=${FC} \ - --with-include="-I${WRKDIR} -I${LOCALBASE}/include" \ + --with-include="-I${LOCALBASE}/include" \ --with-libdirs="-L${LOCALBASE}/lib ${LDFLAGS}" \ --with-blas="${BLAS}" \ --with-lapack="${LAPACK}" \ @@ -84,6 +83,11 @@ CFLAGS+= -O2 -ffast-math CXXFLAGS+= -O2 -ffast-math .endif +post-patch: + # To get so.8.0.1, we need to -version-info to show 8.1.0 + # :: => so.(current-age).(age).(rev) + ${REINPLACE_CMD} -e 's|\[8:0:1\]|\[8:1:0\]|' ${WRKSRC}/configure.in + do-build: (cd ${WRKSRC} && ${MAKE_CMD}) .if ${PORT_OPTIONS:MDOCS} diff --git a/science/mpqc/pkg-plist b/science/mpqc/pkg-plist index db911e95fa2..3aadea1f174 100644 --- a/science/mpqc/pkg-plist +++ b/science/mpqc/pkg-plist @@ -353,108 +353,108 @@ include/scdirlist.h @dirrm include/chemistry lib/libSCbasis.a lib/libSCbasis.so -lib/libSCbasis.so.7 -lib/libSCbasis.so.7.1.0 +lib/libSCbasis.so.8 +lib/libSCbasis.so.8.0.1 lib/libSCcints.so -lib/libSCcints.so.7 -lib/libSCcints.so.7.1.0 +lib/libSCcints.so.8 +lib/libSCcints.so.8.0.1 lib/libSCcints.a lib/libSCclass.a lib/libSCclass.so -lib/libSCclass.so.7 -lib/libSCclass.so.7.1.0 +lib/libSCclass.so.8 +lib/libSCclass.so.8.0.1 lib/libSCcontainer.a lib/libSCcontainer.so -lib/libSCcontainer.so.7 -lib/libSCcontainer.so.7.1.0 +lib/libSCcontainer.so.8 +lib/libSCcontainer.so.8.0.1 lib/libSCdft.a lib/libSCdft.so -lib/libSCdft.so.7 -lib/libSCdft.so.7.1.0 +lib/libSCdft.so.8 +lib/libSCdft.so.8.0.1 lib/libSCgroup.a lib/libSCgroup.so -lib/libSCgroup.so.7 -lib/libSCgroup.so.7.1.0 +lib/libSCgroup.so.8 +lib/libSCgroup.so.8.0.1 lib/libSCintv3.a lib/libSCintv3.so -lib/libSCintv3.so.7 -lib/libSCintv3.so.7.1.0 +lib/libSCintv3.so.8 +lib/libSCintv3.so.8.0.1 lib/libSCisosurf.a lib/libSCisosurf.so -lib/libSCisosurf.so.7 -lib/libSCisosurf.so.7.1.0 +lib/libSCisosurf.so.8 +lib/libSCisosurf.so.8.0.1 lib/libSCkeyval.a lib/libSCkeyval.so -lib/libSCkeyval.so.7 -lib/libSCkeyval.so.7.1.0 +lib/libSCkeyval.so.8 +lib/libSCkeyval.so.8.0.1 lib/libSCmbpt.a lib/libSCmbpt.so -lib/libSCmbpt.so.7 -lib/libSCmbpt.so.7.1.0 +lib/libSCmbpt.so.8 +lib/libSCmbpt.so.8.0.1 lib/libSCmbptr12.so -lib/libSCmbptr12.so.7 -lib/libSCmbptr12.so.7.1.0 +lib/libSCmbptr12.so.8 +lib/libSCmbptr12.so.8.0.1 lib/libSCmbptr12.a lib/libSCmisc.a lib/libSCmisc.so -lib/libSCmisc.so.7 -lib/libSCmisc.so.7.1.0 +lib/libSCmisc.so.8 +lib/libSCmisc.so.8.0.1 lib/libSCmolecule.a lib/libSCmolecule.so -lib/libSCmolecule.so.7 -lib/libSCmolecule.so.7.1.0 +lib/libSCmolecule.so.8 +lib/libSCmolecule.so.8.0.1 lib/libSCoint3.a lib/libSCoint3.so -lib/libSCoint3.so.7 -lib/libSCoint3.so.7.1.0 +lib/libSCoint3.so.8 +lib/libSCoint3.so.8.0.1 lib/libSCoptimize.a lib/libSCoptimize.so -lib/libSCoptimize.so.7 -lib/libSCoptimize.so.7.1.0 +lib/libSCoptimize.so.8 +lib/libSCoptimize.so.8.0.1 lib/libSCoptions.a lib/libSCoptions.so -lib/libSCoptions.so.7 -lib/libSCoptions.so.7.1.0 +lib/libSCoptions.so.8 +lib/libSCoptions.so.8.0.1 lib/libSCpsi.a lib/libSCpsi.so -lib/libSCpsi.so.7 -lib/libSCpsi.so.7.1.0 +lib/libSCpsi.so.8 +lib/libSCpsi.so.8.0.1 lib/libSCref.a lib/libSCref.so -lib/libSCref.so.7 -lib/libSCref.so.7.1.0 +lib/libSCref.so.8 +lib/libSCref.so.8.0.1 lib/libSCrender.a lib/libSCrender.so -lib/libSCrender.so.7 -lib/libSCrender.so.7.1.0 +lib/libSCrender.so.8 +lib/libSCrender.so.8.0.1 lib/libSCscf.a lib/libSCscf.so -lib/libSCscf.so.7 -lib/libSCscf.so.7.1.0 +lib/libSCscf.so.8 +lib/libSCscf.so.8.0.1 lib/libSCscmat.a lib/libSCscmat.so -lib/libSCscmat.so.7 -lib/libSCscmat.so.7.1.0 +lib/libSCscmat.so.8 +lib/libSCscmat.so.8.0.1 lib/libSCsolvent.a lib/libSCsolvent.so -lib/libSCsolvent.so.7 -lib/libSCsolvent.so.7.1.0 +lib/libSCsolvent.so.8 +lib/libSCsolvent.so.8.0.1 lib/libSCstate.a lib/libSCstate.so -lib/libSCstate.so.7 -lib/libSCstate.so.7.1.0 +lib/libSCstate.so.8 +lib/libSCstate.so.8.0.1 lib/libSCsymmetry.a lib/libSCsymmetry.so -lib/libSCsymmetry.so.7 -lib/libSCsymmetry.so.7.1.0 +lib/libSCsymmetry.so.8 +lib/libSCsymmetry.so.8.0.1 lib/libSCwfn.a lib/libSCwfn.so -lib/libSCwfn.so.7 -lib/libSCwfn.so.7.1.0 +lib/libSCwfn.so.8 +lib/libSCwfn.so.8.0.1 lib/libmpqc.a lib/libmpqc.so -lib/libmpqc.so.7 -lib/libmpqc.so.7.1.0 +lib/libmpqc.so.8 +lib/libmpqc.so.8.0.1 %%DOCS%%man/man1/mpqc.1.gz %%DOCS%%man/man1/mpqcrun.1.gz %%DOCS%%man/man1/scls.1.gz -- cgit