The package rpms/votca-xtp.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/votca-xtp.git/commit/?id=753d8b403e2... https://src.fedoraproject.org/cgit/rpms/votca-xtp.git/commit/?id=4a67a87cd14... https://src.fedoraproject.org/cgit/rpms/votca-xtp.git/commit/?id=ea5a8cc7b65....
Change: -%ifarch armv7hl ppc64le s390x +%ifarch s390x +%ifarch armv7hl ppc64le s390x
Thanks.
Full change: ============
commit cced478e0ba52f4a554a609587d533f8d0e257a9 Author: Christoph Junghans junghans@lanl.gov Date: Sat Apr 18 07:58:46 2020 -0600
Version bump to v1.6 (bug #1825475)
diff --git a/.gitignore b/.gitignore index e4f5bde..2a787dd 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ /votca-xtp-1.5.1.tar.gz /votca-xtp-1.6_rc1.tar.gz /votca-xtp-1.6_rc2.tar.gz +/votca-xtp-1.6.tar.gz diff --git a/381.patch b/381.patch deleted file mode 100644 index c2d184e..0000000 --- a/381.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 9fc2c3c4bbaf2287c9e13d77132e39d6bf688228 Mon Sep 17 00:00:00 2001 -From: Christoph Junghans junghans@lanl.gov -Date: Mon, 10 Feb 2020 16:20:03 -0700 -Subject: [PATCH] vxc_grid: fix build on 32-bit - ---- - src/libxtp/grids/vxc_grid.cc | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/libxtp/grids/vxc_grid.cc b/src/libxtp/grids/vxc_grid.cc -index 7379aa236..d4c4549af 100644 ---- a/src/libxtp/grids/vxc_grid.cc -+++ b/src/libxtp/grids/vxc_grid.cc -@@ -178,13 +178,15 @@ Index Vxc_Grid::UpdateOrder(LebedevGrid& sphericalgridofElement, Index maxorder, - } else if ((r >= PruningIntervals[0]) && (r < PruningIntervals[1])) { - order = sphericalgridofElement.getOrderFromIndex(4); - } else if ((r >= PruningIntervals[1]) && (r < PruningIntervals[2])) { -+ constexpr Index maximum = 4; - order = -- sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, 4l)); -+ sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, maximum)); - } else if ((r >= PruningIntervals[2]) && (r < PruningIntervals[3])) { - order = maxorder; - } else { -+ constexpr Index maximum = 1; - order = -- sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, 1l)); -+ sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, maximum)); - } - } - return order; diff --git a/sources b/sources index ceec0f9..507d2b2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (votca-xtp-1.6_rc2.tar.gz) = 90bc34216fedb575379b8d1114b20ddced8e5d5792234bc89dba7bc2af8e5231c014f4bad0e9c3ed8ead9a199c6718d03ef7773c2cf9a76bf56d939415a26240 +SHA512 (votca-xtp-1.6.tar.gz) = cb99c31fe7f1af53b8ccf50cc9cc304ed5c5b5d1a165e1a72a456c0bbf5ac8bb9263c9eff829acc74be348192afbf80fd4d80a2c20d1dd5d7f909b1b50368670 diff --git a/votca-xtp.spec b/votca-xtp.spec index 76a786e..4fc5813 100644 --- a/votca-xtp.spec +++ b/votca-xtp.spec @@ -1,13 +1,12 @@ Name: votca-xtp -Version: 1.6~rc2 -%global uversion 1.6_rc2 +Version: 1.6 +%global uversion %{version} %global sover 6 Release: 1%{?dist} Summary: VOTCA excitation and charge properties module License: ASL 2.0 URL: http://www.votca.org Source0: https://github.com/votca/xtp/archive/v%%7Buversion%7D.tar.gz#/%%7Bname%7D-%%... -Patch0: 381.patch
BuildRequires: gcc-c++ BuildRequires: cmake3 @@ -68,7 +67,6 @@ This package contains architecture independent data files for VOTCA XTP.
%prep %setup -qn xtp-%{uversion} -%patch0 -p1
%build mkdir %{_target_platform} @@ -101,6 +99,10 @@ make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1 %{?testargs} %{_libdir}/libvotca_xtp.so
%changelog +* Sat Apr 18 2020 Christoph Junghans junghans@votca.org - 1.6-1 +- Version bump to v1.6 (bug #1825475) +- Drop 381.patch - merged upstream + * Mon Feb 10 2020 Christoph Junghans junghans@votca.org - 1.6~rc2-1 - Version bump to 1.6~rc2 - Drop 345.patch & 347.patch - merged upstream
commit 753d8b403e27fade343e3acfa074cd1240864dd3 Author: Christoph Junghans junghans@lanl.gov Date: Mon Feb 10 18:04:36 2020 -0700
Version bump to 1.6~rc2
diff --git a/.gitignore b/.gitignore index be8b55e..e4f5bde 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /votca-xtp-manual-1.5.1.pdf /votca-xtp-1.5.1.tar.gz /votca-xtp-1.6_rc1.tar.gz +/votca-xtp-1.6_rc2.tar.gz diff --git a/345.patch b/345.patch deleted file mode 100644 index 544a8ce..0000000 --- a/345.patch +++ /dev/null @@ -1,56 +0,0 @@ -From f3d2b33ed8162f1aeceb8255bb2c22e8c141021a Mon Sep 17 00:00:00 2001 -From: Jens jenswehner@gmail.com -Date: Mon, 9 Dec 2019 18:32:51 +0100 -Subject: [PATCH] do not read empty vectors - ---- - include/votca/xtp/checkpointreader.h | 9 +++++++++ - src/libxtp/dftcoupling.cc | 1 - - 2 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/include/votca/xtp/checkpointreader.h b/include/votca/xtp/checkpointreader.h -index 31f6bde58..f8893a7d9 100644 ---- a/include/votca/xtp/checkpointreader.h -+++ b/include/votca/xtp/checkpointreader.h -@@ -167,6 +167,9 @@ class CheckpointReader { - hsize_t matCols = dims[1]; - - matrix.derived().resize(matRows, matCols); -+ if (matrix.size() == 0) { -+ return; -+ } - - hsize_t matColSize = matrix.derived().outerStride(); - -@@ -205,6 +208,9 @@ class CheckpointReader { - dp.getSimpleExtentDims(dims, nullptr); - - v.resize(dims[0]); -+ if (v.empty()) { -+ return; -+ } - try { - dataset.read(&(v[0]), *dataType); - } catch (H5::Exception&) { -@@ -227,6 +233,9 @@ class CheckpointReader { - dp.getSimpleExtentDims(dims, nullptr); - - std::vector<char*> temp(dims[0]); -+ if (temp.empty()) { -+ return; -+ } - try { - dataset.read(temp.data(), *dataType); - } catch (H5::Exception&) { -diff --git a/src/libxtp/dftcoupling.cc b/src/libxtp/dftcoupling.cc -index 0aa1ee913..8f5d16371 100644 ---- a/src/libxtp/dftcoupling.cc -+++ b/src/libxtp/dftcoupling.cc -@@ -21,7 +21,6 @@ - #include <votca/xtp/dftcoupling.h> - - #include <boost/format.hpp> --#include <boost/progress.hpp> - #include <votca/tools/constants.h> - - namespace votca { diff --git a/347.patch b/347.patch deleted file mode 100644 index 6f36f1a..0000000 --- a/347.patch +++ /dev/null @@ -1,385 +0,0 @@ -From 92d357ce55b903bc2f72b7993a2806b3ef86a39a Mon Sep 17 00:00:00 2001 -From: Jens jenswehner@gmail.com -Date: Tue, 10 Dec 2019 18:16:42 +0100 -Subject: [PATCH 1/6] converted long to votca::Index - ---- - include/votca/xtp/bseoperator_btda.h | 2 +- - include/votca/xtp/dipoledipoleinteraction.h | 2 +- - src/libxtp/davidsonsolver.cc | 2 +- - src/libxtp/kmccalculator.cc | 2 +- - src/libxtp/matrixfreeoperator.cc | 4 ++-- - src/libxtp/md2qmengine.cc | 4 ++-- - src/libxtp/segmentmapper.cc | 26 ++++++++++----------- - 7 files changed, 21 insertions(+), 21 deletions(-) - -diff --git a/include/votca/xtp/bseoperator_btda.h b/include/votca/xtp/bseoperator_btda.h -index 24dc275a8..c36f5b1bc 100644 ---- a/include/votca/xtp/bseoperator_btda.h -+++ b/include/votca/xtp/bseoperator_btda.h -@@ -46,7 +46,7 @@ class HamiltonianOperator - // Required typedefs, constants, and method: - using Scalar = double; - using RealScalar = double; -- using StorageIndex = long; -+ using StorageIndex = votca::Index; - enum { - ColsAtCompileTime = Eigen::Dynamic, - MaxColsAtCompileTime = Eigen::Dynamic, -diff --git a/include/votca/xtp/dipoledipoleinteraction.h b/include/votca/xtp/dipoledipoleinteraction.h -index a4f5d0f09..14fea937f 100644 ---- a/include/votca/xtp/dipoledipoleinteraction.h -+++ b/include/votca/xtp/dipoledipoleinteraction.h -@@ -43,7 +43,7 @@ class DipoleDipoleInteraction - // Required typedefs, constants, and method: - using Scalar = double; - using RealScalar = double; -- using StorageIndex = long; -+ using StorageIndex = votca::Index; - enum { - ColsAtCompileTime = Eigen::Dynamic, - MaxColsAtCompileTime = Eigen::Dynamic, -diff --git a/src/libxtp/davidsonsolver.cc b/src/libxtp/davidsonsolver.cc -index e939ade41..0acb194c5 100644 ---- a/src/libxtp/davidsonsolver.cc -+++ b/src/libxtp/davidsonsolver.cc -@@ -185,7 +185,7 @@ void DavidsonSolver::set_size_update(std::string update_size) { - } - } - --long DavidsonSolver::getSizeUpdate(Index neigen) const { -+Index DavidsonSolver::getSizeUpdate(Index neigen) const { - Index size_update; - switch (this->_davidson_update) { - case UPDATE::MIN: -diff --git a/src/libxtp/kmccalculator.cc b/src/libxtp/kmccalculator.cc -index be579cd3f..8538cdd1e 100644 ---- a/src/libxtp/kmccalculator.cc -+++ b/src/libxtp/kmccalculator.cc -@@ -94,7 +94,7 @@ void KMCCalculator::LoadGraph(Topology& top) { - _nodes[pair->Seg2()->getId()].AddEventfromQmPair(*pair, _nodes, - rates.rate21); - } -- _RandomVariable.setMaxInt(long(_nodes.size())); -+ _RandomVariable.setMaxInt(Index(_nodes.size())); - cout << " Rates for " << _nodes.size() << " sites are computed." << endl; - WriteRatestoFile(_ratefile, nblist); - -diff --git a/src/libxtp/matrixfreeoperator.cc b/src/libxtp/matrixfreeoperator.cc -index 9221d59f2..9a7d1b894 100644 ---- a/src/libxtp/matrixfreeoperator.cc -+++ b/src/libxtp/matrixfreeoperator.cc -@@ -26,7 +26,7 @@ Eigen::RowVectorXd MatrixFreeOperator::OperatorRow(Index) const { - return Eigen::RowVectorXd::Zero(0); - } - --Eigen::MatrixXd MatrixFreeOperator::OperatorBlock(long, long) const { -+Eigen::MatrixXd MatrixFreeOperator::OperatorBlock(Index, Index) const { - return Eigen::MatrixXd::Zero(0, 0); - } - -@@ -89,7 +89,7 @@ Eigen::MatrixXd MatrixFreeOperator::get_full_matrix() const { - } - - // get the size --long MatrixFreeOperator::size() const { return this->_size; } -+Index MatrixFreeOperator::size() const { return this->_size; } - - // set the size - void MatrixFreeOperator::set_size(Index size) { this->_size = size; } -diff --git a/src/libxtp/md2qmengine.cc b/src/libxtp/md2qmengine.cc -index e63b8912d..fac371402 100644 ---- a/src/libxtp/md2qmengine.cc -+++ b/src/libxtp/md2qmengine.cc -@@ -69,7 +69,7 @@ void Md2QmEngine::CheckMappingFile(tools::Property& topology_map) const { - } - } - --long Md2QmEngine::DetermineAtomNumOffset( -+Index Md2QmEngine::DetermineAtomNumOffset( - const csg::Molecule* mol, const std::vector<Index>& atom_ids_map) const { - std::vector<Index> IDs; - IDs.reserve(mol->BeadCount()); -@@ -132,7 +132,7 @@ Topology Md2QmEngine::map(const csg::Topology& top) const { - xtptop.setBox(top.getBox() * tools::conv::nm2bohr, top.getBoxType()); - - // which segmentname does an atom belong to molname atomid -- std::map<std::string, std::map<long, std::string> > MolToSegMap; -+ std::map<std::string, std::map<Index, std::string> > MolToSegMap; - - // which atomids belong to molname - std::map<std::string, std::vector<Index> > MolToAtomIds; -diff --git a/src/libxtp/segmentmapper.cc b/src/libxtp/segmentmapper.cc -index 2422ad62b..074ab93f9 100644 ---- a/src/libxtp/segmentmapper.cc -+++ b/src/libxtp/segmentmapper.cc -@@ -229,7 +229,7 @@ void SegmentMapper<AtomContainer>::LoadMappingFile(const std::string& mapfile) { - } - - template <class AtomContainer> --std::pair<long, std::string> SegmentMapper<AtomContainer>::StringToMapIndex( -+std::pair<Index, std::string> SegmentMapper<AtomContainer>::StringToMapIndex( - const std::string& map_string) const { - tools::Tokenizer tok(map_string, ":"); - std::vectorstd::string result = tok.ToVector(); -@@ -237,10 +237,10 @@ std::pair<long, std::string> SegmentMapper<AtomContainer>::StringToMapIndex( - throw std::runtime_error("Entry " + map_string + - " is not properly formatted."); - } -- return std::pair<long, std::string>(std::stoi(result[0]), result[1]); -+ return std::pair<Index, std::string>(std::stoi(result[0]), result[1]); - } - template <class AtomContainer> --std::pair<long, std::string> SegmentMapper<AtomContainer>::StringToMDIndex( -+std::pair<Index, std::string> SegmentMapper<AtomContainer>::StringToMDIndex( - const std::string& md_string) const { - tools::Tokenizer tok(md_string, ":"); - std::vectorstd::string result = tok.ToVector(); -@@ -255,18 +255,18 @@ std::pair<long, std::string> SegmentMapper<AtomContainer>::StringToMDIndex( - throw std::runtime_error("Atom entry " + md_string + - " is not well formatted"); - } -- return std::pair<long, std::string>(atomid, result[1]); -+ return std::pair<Index, std::string>(atomid, result[1]); - } - - template <class AtomContainer> --std::pair<long, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange( -+std::pair<Index, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange( - const std::vector<Index>& seg) const { - Index max_res_id = *std::max_element(seg.begin(), seg.end()); - Index min_res_id = *std::min_element(seg.begin(), seg.end()); -- return std::pair<long, Index>(min_res_id, max_res_id); -+ return std::pair<Index, Index>(min_res_id, max_res_id); - } - template <class AtomContainer> --std::pair<long, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange( -+std::pair<Index, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange( - const Segment& seg) const { - Index max_res_id = std::max_element(seg.begin(), seg.end(), - [](const Atom& a, const Atom& b) { -@@ -279,7 +279,7 @@ std::pair<long, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange( - return a.getId() < b.getId(); - }) - ->getId(); -- return std::pair<long, Index>(min_res_id, max_res_id); -+ return std::pair<Index, Index>(min_res_id, max_res_id); - } - - template <class AtomContainer> -@@ -294,7 +294,7 @@ void SegmentMapper<AtomContainer>::PlaceMapAtomonMD( - } - - template <class AtomContainer> --long SegmentMapper<AtomContainer>::FindVectorIndexFromAtomId( -+Index SegmentMapper<AtomContainer>::FindVectorIndexFromAtomId( - Index atomid, const std::vector<mapAtom*>& fragment_mapatoms) const { - Index i = 0; - for (; i < Index(fragment_mapatoms.size()); i++) { -@@ -415,7 +415,7 @@ AtomContainer SegmentMapper<AtomContainer>::map( - "Could not find a Segment of name: " + seg.getType() + " in mapfile."); - } - Seginfo seginfo = _segment_info.at(seg.getType()); -- if (long(seginfo.mdatoms.size()) != seg.size()) { -+ if (Index(seginfo.mdatoms.size()) != seg.size()) { - throw std::runtime_error( - "Segment '" + seg.getType() + - "' does not contain the same number of atoms as mapping file: " + -@@ -423,8 +423,8 @@ AtomContainer SegmentMapper<AtomContainer>::map( - std::to_string(seg.size())); - } - -- std::pair<long, Index> minmax_map = seginfo.minmax; -- std::pair<long, Index> minmax = CalcAtomIdRange(seg); -+ std::pair<Index, Index> minmax_map = seginfo.minmax; -+ std::pair<Index, Index> minmax = CalcAtomIdRange(seg); - - if ((minmax_map.first - minmax_map.second) != - (minmax.first - minmax.second)) { -@@ -442,7 +442,7 @@ AtomContainer SegmentMapper<AtomContainer>::map( - AtomContainer Result(seg.getType(), seg.getId()); - Result.LoadFromFile(coordfilename); - -- if (long(seginfo.mapatoms.size()) != Result.size()) { -+ if (Index(seginfo.mapatoms.size()) != Result.size()) { - throw std::runtime_error( - _mapatom_xml.at("tag") + "Segment '" + seg.getType() + - "' does not contain the same number of atoms as mapping file: " + - -From 4088885e4d32ddaa8d93f76d7d42fff7ba756852 Mon Sep 17 00:00:00 2001 -From: Jens jenswehner@gmail.com -Date: Tue, 10 Dec 2019 20:35:30 +0100 -Subject: [PATCH 2/6] fix constants - ---- - .../numerical_integration/numerical_integrations.cc | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/src/libxtp/numerical_integration/numerical_integrations.cc b/src/libxtp/numerical_integration/numerical_integrations.cc -index e2018c283..a35e871b5 100644 ---- a/src/libxtp/numerical_integration/numerical_integrations.cc -+++ b/src/libxtp/numerical_integration/numerical_integrations.cc -@@ -571,13 +571,15 @@ Index NumericalIntegration::UpdateOrder(LebedevGrid& sphericalgridofElement, - } else if ((r >= PruningIntervals[0]) && (r < PruningIntervals[1])) { - order = sphericalgridofElement.getOrderFromIndex(4); - } else if ((r >= PruningIntervals[1]) && (r < PruningIntervals[2])) { -- order = -- sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, 4l)); -+ constexpr Index maximum = 4; -+ order = sphericalgridofElement.getOrderFromIndex( -+ std::max(maxindex - 1, maximum)); - } else if ((r >= PruningIntervals[2]) && (r < PruningIntervals[3])) { - order = maxorder; - } else { -- order = -- sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, 1l)); -+ constexpr Index minimum = 1; -+ order = sphericalgridofElement.getOrderFromIndex( -+ std::max(maxindex - 1, minimum)); - } - } - return order; - -From 99a0caa43b1ccb46213685acb767e03d822a96d6 Mon Sep 17 00:00:00 2001 -From: Christoph Junghans junghans@lanl.gov -Date: Tue, 10 Dec 2019 17:17:55 -0700 -Subject: [PATCH 3/6] NWChem::WriteBackgroundCharges: long -> Index - ---- - src/libxtp/qmpackages/nwchem.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/libxtp/qmpackages/nwchem.cc b/src/libxtp/qmpackages/nwchem.cc -index 60ca41ce1..3c7854bed 100644 ---- a/src/libxtp/qmpackages/nwchem.cc -+++ b/src/libxtp/qmpackages/nwchem.cc -@@ -62,7 +62,7 @@ void NWChem::WriteChargeOption() { - } - } - --long NWChem::WriteBackgroundCharges(ofstream& nw_file) { -+Index NWChem::WriteBackgroundCharges(ofstream& nw_file) { - - Index numberofcharges = 0; - boost::format fmt("%1$+1.7f %2$+1.7f %3$+1.7f %4$+1.7f"); - -From 2d126ef4cd5d9ef94dd8ca2ebca81921ab29c2f8 Mon Sep 17 00:00:00 2001 -From: Jens jenswehner@gmail.com -Date: Wed, 11 Dec 2019 14:26:23 +0100 -Subject: [PATCH 4/6] another long - ---- - include/votca/xtp/segmentmapper.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/votca/xtp/segmentmapper.h b/include/votca/xtp/segmentmapper.h -index 66f722850..da61a6aa1 100644 ---- a/include/votca/xtp/segmentmapper.h -+++ b/include/votca/xtp/segmentmapper.h -@@ -47,7 +47,7 @@ class SegmentMapper { - using mapAtom = typename std::iterator_traits< - typename AtomContainer::iterator>::value_type; - -- typedef std::pair<long, std::string> atom_id; -+ typedef std::pair<Index, std::string> atom_id; - - struct FragInfo { - std::vector<double> _weights; - -From 6345500a55fc90951e2bc790a8b7dfa93840c89a Mon Sep 17 00:00:00 2001 -From: Jens jenswehner@gmail.com -Date: Wed, 11 Dec 2019 16:20:35 +0100 -Subject: [PATCH 5/6] more longs - ---- - include/votca/xtp/segmentmapper.h | 6 +++--- - src/libxtp/qmpackages/gaussian.cc | 6 +++--- - src/libxtp/symmetric_matrix.cc | 2 +- - 3 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/include/votca/xtp/segmentmapper.h b/include/votca/xtp/segmentmapper.h -index da61a6aa1..f717c0198 100644 ---- a/include/votca/xtp/segmentmapper.h -+++ b/include/votca/xtp/segmentmapper.h -@@ -57,7 +57,7 @@ class SegmentMapper { - }; - - struct Seginfo { -- std::pair<long, Index> minmax; -+ std::pair<Index, Index> minmax; - std::vector<Index> mdatoms; - std::vector<FragInfo> fragments; - bool map2md; -@@ -86,8 +86,8 @@ class SegmentMapper { - const std::vector<const Atom*>& fragment_mdatoms) const; - - Logger& _log; -- std::pair<long, Index> CalcAtomIdRange(const Segment& seg) const; -- std::pair<long, Index> CalcAtomIdRange(const std::vector<Index>& seg) const; -+ std::pair<Index, Index> CalcAtomIdRange(const Segment& seg) const; -+ std::pair<Index, Index> CalcAtomIdRange(const std::vector<Index>& seg) const; - - atom_id StringToMapIndex(const std::string& map_string) const; - -diff --git a/src/libxtp/qmpackages/gaussian.cc b/src/libxtp/qmpackages/gaussian.cc -index b3f9fed6d..eb91c4a9b 100644 ---- a/src/libxtp/qmpackages/gaussian.cc -+++ b/src/libxtp/qmpackages/gaussian.cc -@@ -515,8 +515,8 @@ void Gaussian::CleanUp() { - * Reads in the MO coefficients from a GAUSSIAN fort.7 file - */ - bool Gaussian::ParseMOsFile(Orbitals& orbitals) { -- std::map<long, std::vector<double> > coefficients; -- std::map<long, double> energies; -+ std::map<Index, std::vector<double> > coefficients; -+ std::map<Index, double> energies; - - std::string line; - Index levels = 0; -@@ -576,7 +576,7 @@ bool Gaussian::ParseMOsFile(Orbitals& orbitals) { - - // some sanity checks - XTP_LOG(Log::info, *_pLog) << "Energy levels: " << levels << flush; -- std::map<long, std::vector<double> >::iterator iter = coefficients.begin(); -+ std::map<Index, std::vector<double> >::iterator iter = coefficients.begin(); - basis_size = Index(iter->second.size()); - - for (const auto& row : coefficients) { -diff --git a/src/libxtp/symmetric_matrix.cc b/src/libxtp/symmetric_matrix.cc -index 68aeb3fe8..0a5e6a0ef 100644 ---- a/src/libxtp/symmetric_matrix.cc -+++ b/src/libxtp/symmetric_matrix.cc -@@ -121,7 +121,7 @@ Eigen::MatrixXd Symmetric_Matrix::UpperMatrix() const { - return result; - } - --long Symmetric_Matrix::index(Index i, Index j) const { -+Index Symmetric_Matrix::index(Index i, Index j) const { - Index index; - if (i >= j) { - index = (i * (i + 1)) / 2 + j; - -From 798e28beafe667e1d34a863c10a1c679afc92985 Mon Sep 17 00:00:00 2001 -From: Christoph Junghans junghans@lanl.gov -Date: Wed, 11 Dec 2019 09:00:13 -0700 -Subject: [PATCH 6/6] threecenter_rep: Index fix - ---- - src/libxtp/threecenter_rep.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/libxtp/threecenter_rep.cc b/src/libxtp/threecenter_rep.cc -index bde5201bd..f77b55198 100644 ---- a/src/libxtp/threecenter_rep.cc -+++ b/src/libxtp/threecenter_rep.cc -@@ -141,8 +141,9 @@ bool TCMatrix::FillThreeCenterRepBlock(Eigen::Tensor<double, 3>& threec_block, - const Eigen::Vector3d wmp = W - P; - const Eigen::Vector3d wmc = W - pos_gamma; - -+ constexpr Index maximum = 2; - Eigen::Tensor<double, 3> R_temp(ncombined, ngamma, -- std::max(2l, mmax + 1)); -+ std::max(maximum, mmax + 1)); - R_temp.setZero(); - - const Eigen::VectorXd FmT = AOTransform::XIntegrate(mmax + 1, U); diff --git a/381.patch b/381.patch new file mode 100644 index 0000000..c2d184e --- /dev/null +++ b/381.patch @@ -0,0 +1,31 @@ +From 9fc2c3c4bbaf2287c9e13d77132e39d6bf688228 Mon Sep 17 00:00:00 2001 +From: Christoph Junghans junghans@lanl.gov +Date: Mon, 10 Feb 2020 16:20:03 -0700 +Subject: [PATCH] vxc_grid: fix build on 32-bit + +--- + src/libxtp/grids/vxc_grid.cc | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/libxtp/grids/vxc_grid.cc b/src/libxtp/grids/vxc_grid.cc +index 7379aa236..d4c4549af 100644 +--- a/src/libxtp/grids/vxc_grid.cc ++++ b/src/libxtp/grids/vxc_grid.cc +@@ -178,13 +178,15 @@ Index Vxc_Grid::UpdateOrder(LebedevGrid& sphericalgridofElement, Index maxorder, + } else if ((r >= PruningIntervals[0]) && (r < PruningIntervals[1])) { + order = sphericalgridofElement.getOrderFromIndex(4); + } else if ((r >= PruningIntervals[1]) && (r < PruningIntervals[2])) { ++ constexpr Index maximum = 4; + order = +- sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, 4l)); ++ sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, maximum)); + } else if ((r >= PruningIntervals[2]) && (r < PruningIntervals[3])) { + order = maxorder; + } else { ++ constexpr Index maximum = 1; + order = +- sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, 1l)); ++ sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, maximum)); + } + } + return order; diff --git a/sources b/sources index fbd5acd..ceec0f9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (votca-xtp-1.6_rc1.tar.gz) = 0b54eddcf944967b1d41f75f4887eba9edc3be18b94d319e93e795a24f58a2877d7f60afd806290eacb41d329d1b1206ebaab83874d6be2d5b026f06dbc19dfd +SHA512 (votca-xtp-1.6_rc2.tar.gz) = 90bc34216fedb575379b8d1114b20ddced8e5d5792234bc89dba7bc2af8e5231c014f4bad0e9c3ed8ead9a199c6718d03ef7773c2cf9a76bf56d939415a26240 diff --git a/votca-xtp.spec b/votca-xtp.spec index ea1f6b3..76a786e 100644 --- a/votca-xtp.spec +++ b/votca-xtp.spec @@ -1,17 +1,13 @@ -%global _rcname rc1 -%global _rc _%%_rcname - Name: votca-xtp -Version: 1.6 +Version: 1.6~rc2 +%global uversion 1.6_rc2 %global sover 6 -Release: 0.3%{?_rcname}%{?dist} +Release: 1%{?dist} Summary: VOTCA excitation and charge properties module License: ASL 2.0 URL: http://www.votca.org -Source0: https://github.com/votca/xtp/archive/v%%7Bversion%7D%%7B?_rc%7D.tar.gz#/%%7B... -Patch0: https://github.com/votca/xtp/pull/345.patch -Patch1: https://github.com/votca/xtp/pull/347.patch -Patch2: disable-out-of-mem-tests.patch +Source0: https://github.com/votca/xtp/archive/v%%7Buversion%7D.tar.gz#/%%7Bname%7D-%%... +Patch0: 381.patch
BuildRequires: gcc-c++ BuildRequires: cmake3 @@ -71,12 +67,8 @@ coarse-graining of various systems. The core is written in C++. This package contains architecture independent data files for VOTCA XTP.
%prep -%setup -qn xtp-%{version}%{?_rc} +%setup -qn xtp-%{uversion} %patch0 -p1 -%patch1 -p1 -%ifarch armv7hl i686 s390x -%patch2 -p1 -%endif
%build mkdir %{_target_platform} @@ -88,11 +80,7 @@ pushd %{_target_platform} %make_install -C%{_target_platform}
%check -%ifarch armv7hl ppc64le s390x -# https://github.com/votca/xtp/issues/340 -%global testargs ARGS='-E unit_test_gw' -%endif -make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1 %{?testargs:%{testargs}} +make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1 %{?testargs}
%ldconfig_scriptlets libs
@@ -113,6 +101,11 @@ make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1 %{?testargs:%{testarg %{_libdir}/libvotca_xtp.so
%changelog +* Mon Feb 10 2020 Christoph Junghans junghans@votca.org - 1.6~rc2-1 +- Version bump to 1.6~rc2 +- Drop 345.patch & 347.patch - merged upstream +- Add 381.patch to fix 32-bit build + * Fri Jan 31 2020 Fedora Release Engineering releng@fedoraproject.org - 1.6-0.3rc1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
commit ff9e851d286090f0b7e5d9cc420a7d409f5ddd86 Author: Fedora Release Engineering releng@fedoraproject.org Date: Fri Jan 31 03:23:15 2020 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering releng@fedoraproject.org
diff --git a/votca-xtp.spec b/votca-xtp.spec index a004dd1..ea1f6b3 100644 --- a/votca-xtp.spec +++ b/votca-xtp.spec @@ -4,7 +4,7 @@ Name: votca-xtp Version: 1.6 %global sover 6 -Release: 0.2%{?_rcname}%{?dist} +Release: 0.3%{?_rcname}%{?dist} Summary: VOTCA excitation and charge properties module License: ASL 2.0 URL: http://www.votca.org @@ -113,6 +113,9 @@ make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1 %{?testargs:%{testarg %{_libdir}/libvotca_xtp.so
%changelog +* Fri Jan 31 2020 Fedora Release Engineering releng@fedoraproject.org - 1.6-0.3rc1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Thu Dec 12 2019 Christoph Junghans junghans@votca.org - 1.6-0.2rc1 - Added upstream 347.patch to fix 32bit builds - Added upstream 345.patch to fix failing tests
commit ea5a8cc7b65c327b8a164f37447d1c2ecef6f5b3 Author: Christoph Junghans junghans@lanl.gov Date: Fri Dec 13 15:23:15 2019 -0700
fix 32bit builds
diff --git a/345.patch b/345.patch new file mode 100644 index 0000000..544a8ce --- /dev/null +++ b/345.patch @@ -0,0 +1,56 @@ +From f3d2b33ed8162f1aeceb8255bb2c22e8c141021a Mon Sep 17 00:00:00 2001 +From: Jens jenswehner@gmail.com +Date: Mon, 9 Dec 2019 18:32:51 +0100 +Subject: [PATCH] do not read empty vectors + +--- + include/votca/xtp/checkpointreader.h | 9 +++++++++ + src/libxtp/dftcoupling.cc | 1 - + 2 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/include/votca/xtp/checkpointreader.h b/include/votca/xtp/checkpointreader.h +index 31f6bde58..f8893a7d9 100644 +--- a/include/votca/xtp/checkpointreader.h ++++ b/include/votca/xtp/checkpointreader.h +@@ -167,6 +167,9 @@ class CheckpointReader { + hsize_t matCols = dims[1]; + + matrix.derived().resize(matRows, matCols); ++ if (matrix.size() == 0) { ++ return; ++ } + + hsize_t matColSize = matrix.derived().outerStride(); + +@@ -205,6 +208,9 @@ class CheckpointReader { + dp.getSimpleExtentDims(dims, nullptr); + + v.resize(dims[0]); ++ if (v.empty()) { ++ return; ++ } + try { + dataset.read(&(v[0]), *dataType); + } catch (H5::Exception&) { +@@ -227,6 +233,9 @@ class CheckpointReader { + dp.getSimpleExtentDims(dims, nullptr); + + std::vector<char*> temp(dims[0]); ++ if (temp.empty()) { ++ return; ++ } + try { + dataset.read(temp.data(), *dataType); + } catch (H5::Exception&) { +diff --git a/src/libxtp/dftcoupling.cc b/src/libxtp/dftcoupling.cc +index 0aa1ee913..8f5d16371 100644 +--- a/src/libxtp/dftcoupling.cc ++++ b/src/libxtp/dftcoupling.cc +@@ -21,7 +21,6 @@ + #include <votca/xtp/dftcoupling.h> + + #include <boost/format.hpp> +-#include <boost/progress.hpp> + #include <votca/tools/constants.h> + + namespace votca { diff --git a/347.patch b/347.patch new file mode 100644 index 0000000..6f36f1a --- /dev/null +++ b/347.patch @@ -0,0 +1,385 @@ +From 92d357ce55b903bc2f72b7993a2806b3ef86a39a Mon Sep 17 00:00:00 2001 +From: Jens jenswehner@gmail.com +Date: Tue, 10 Dec 2019 18:16:42 +0100 +Subject: [PATCH 1/6] converted long to votca::Index + +--- + include/votca/xtp/bseoperator_btda.h | 2 +- + include/votca/xtp/dipoledipoleinteraction.h | 2 +- + src/libxtp/davidsonsolver.cc | 2 +- + src/libxtp/kmccalculator.cc | 2 +- + src/libxtp/matrixfreeoperator.cc | 4 ++-- + src/libxtp/md2qmengine.cc | 4 ++-- + src/libxtp/segmentmapper.cc | 26 ++++++++++----------- + 7 files changed, 21 insertions(+), 21 deletions(-) + +diff --git a/include/votca/xtp/bseoperator_btda.h b/include/votca/xtp/bseoperator_btda.h +index 24dc275a8..c36f5b1bc 100644 +--- a/include/votca/xtp/bseoperator_btda.h ++++ b/include/votca/xtp/bseoperator_btda.h +@@ -46,7 +46,7 @@ class HamiltonianOperator + // Required typedefs, constants, and method: + using Scalar = double; + using RealScalar = double; +- using StorageIndex = long; ++ using StorageIndex = votca::Index; + enum { + ColsAtCompileTime = Eigen::Dynamic, + MaxColsAtCompileTime = Eigen::Dynamic, +diff --git a/include/votca/xtp/dipoledipoleinteraction.h b/include/votca/xtp/dipoledipoleinteraction.h +index a4f5d0f09..14fea937f 100644 +--- a/include/votca/xtp/dipoledipoleinteraction.h ++++ b/include/votca/xtp/dipoledipoleinteraction.h +@@ -43,7 +43,7 @@ class DipoleDipoleInteraction + // Required typedefs, constants, and method: + using Scalar = double; + using RealScalar = double; +- using StorageIndex = long; ++ using StorageIndex = votca::Index; + enum { + ColsAtCompileTime = Eigen::Dynamic, + MaxColsAtCompileTime = Eigen::Dynamic, +diff --git a/src/libxtp/davidsonsolver.cc b/src/libxtp/davidsonsolver.cc +index e939ade41..0acb194c5 100644 +--- a/src/libxtp/davidsonsolver.cc ++++ b/src/libxtp/davidsonsolver.cc +@@ -185,7 +185,7 @@ void DavidsonSolver::set_size_update(std::string update_size) { + } + } + +-long DavidsonSolver::getSizeUpdate(Index neigen) const { ++Index DavidsonSolver::getSizeUpdate(Index neigen) const { + Index size_update; + switch (this->_davidson_update) { + case UPDATE::MIN: +diff --git a/src/libxtp/kmccalculator.cc b/src/libxtp/kmccalculator.cc +index be579cd3f..8538cdd1e 100644 +--- a/src/libxtp/kmccalculator.cc ++++ b/src/libxtp/kmccalculator.cc +@@ -94,7 +94,7 @@ void KMCCalculator::LoadGraph(Topology& top) { + _nodes[pair->Seg2()->getId()].AddEventfromQmPair(*pair, _nodes, + rates.rate21); + } +- _RandomVariable.setMaxInt(long(_nodes.size())); ++ _RandomVariable.setMaxInt(Index(_nodes.size())); + cout << " Rates for " << _nodes.size() << " sites are computed." << endl; + WriteRatestoFile(_ratefile, nblist); + +diff --git a/src/libxtp/matrixfreeoperator.cc b/src/libxtp/matrixfreeoperator.cc +index 9221d59f2..9a7d1b894 100644 +--- a/src/libxtp/matrixfreeoperator.cc ++++ b/src/libxtp/matrixfreeoperator.cc +@@ -26,7 +26,7 @@ Eigen::RowVectorXd MatrixFreeOperator::OperatorRow(Index) const { + return Eigen::RowVectorXd::Zero(0); + } + +-Eigen::MatrixXd MatrixFreeOperator::OperatorBlock(long, long) const { ++Eigen::MatrixXd MatrixFreeOperator::OperatorBlock(Index, Index) const { + return Eigen::MatrixXd::Zero(0, 0); + } + +@@ -89,7 +89,7 @@ Eigen::MatrixXd MatrixFreeOperator::get_full_matrix() const { + } + + // get the size +-long MatrixFreeOperator::size() const { return this->_size; } ++Index MatrixFreeOperator::size() const { return this->_size; } + + // set the size + void MatrixFreeOperator::set_size(Index size) { this->_size = size; } +diff --git a/src/libxtp/md2qmengine.cc b/src/libxtp/md2qmengine.cc +index e63b8912d..fac371402 100644 +--- a/src/libxtp/md2qmengine.cc ++++ b/src/libxtp/md2qmengine.cc +@@ -69,7 +69,7 @@ void Md2QmEngine::CheckMappingFile(tools::Property& topology_map) const { + } + } + +-long Md2QmEngine::DetermineAtomNumOffset( ++Index Md2QmEngine::DetermineAtomNumOffset( + const csg::Molecule* mol, const std::vector<Index>& atom_ids_map) const { + std::vector<Index> IDs; + IDs.reserve(mol->BeadCount()); +@@ -132,7 +132,7 @@ Topology Md2QmEngine::map(const csg::Topology& top) const { + xtptop.setBox(top.getBox() * tools::conv::nm2bohr, top.getBoxType()); + + // which segmentname does an atom belong to molname atomid +- std::map<std::string, std::map<long, std::string> > MolToSegMap; ++ std::map<std::string, std::map<Index, std::string> > MolToSegMap; + + // which atomids belong to molname + std::map<std::string, std::vector<Index> > MolToAtomIds; +diff --git a/src/libxtp/segmentmapper.cc b/src/libxtp/segmentmapper.cc +index 2422ad62b..074ab93f9 100644 +--- a/src/libxtp/segmentmapper.cc ++++ b/src/libxtp/segmentmapper.cc +@@ -229,7 +229,7 @@ void SegmentMapper<AtomContainer>::LoadMappingFile(const std::string& mapfile) { + } + + template <class AtomContainer> +-std::pair<long, std::string> SegmentMapper<AtomContainer>::StringToMapIndex( ++std::pair<Index, std::string> SegmentMapper<AtomContainer>::StringToMapIndex( + const std::string& map_string) const { + tools::Tokenizer tok(map_string, ":"); + std::vectorstd::string result = tok.ToVector(); +@@ -237,10 +237,10 @@ std::pair<long, std::string> SegmentMapper<AtomContainer>::StringToMapIndex( + throw std::runtime_error("Entry " + map_string + + " is not properly formatted."); + } +- return std::pair<long, std::string>(std::stoi(result[0]), result[1]); ++ return std::pair<Index, std::string>(std::stoi(result[0]), result[1]); + } + template <class AtomContainer> +-std::pair<long, std::string> SegmentMapper<AtomContainer>::StringToMDIndex( ++std::pair<Index, std::string> SegmentMapper<AtomContainer>::StringToMDIndex( + const std::string& md_string) const { + tools::Tokenizer tok(md_string, ":"); + std::vectorstd::string result = tok.ToVector(); +@@ -255,18 +255,18 @@ std::pair<long, std::string> SegmentMapper<AtomContainer>::StringToMDIndex( + throw std::runtime_error("Atom entry " + md_string + + " is not well formatted"); + } +- return std::pair<long, std::string>(atomid, result[1]); ++ return std::pair<Index, std::string>(atomid, result[1]); + } + + template <class AtomContainer> +-std::pair<long, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange( ++std::pair<Index, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange( + const std::vector<Index>& seg) const { + Index max_res_id = *std::max_element(seg.begin(), seg.end()); + Index min_res_id = *std::min_element(seg.begin(), seg.end()); +- return std::pair<long, Index>(min_res_id, max_res_id); ++ return std::pair<Index, Index>(min_res_id, max_res_id); + } + template <class AtomContainer> +-std::pair<long, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange( ++std::pair<Index, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange( + const Segment& seg) const { + Index max_res_id = std::max_element(seg.begin(), seg.end(), + [](const Atom& a, const Atom& b) { +@@ -279,7 +279,7 @@ std::pair<long, Index> SegmentMapper<AtomContainer>::CalcAtomIdRange( + return a.getId() < b.getId(); + }) + ->getId(); +- return std::pair<long, Index>(min_res_id, max_res_id); ++ return std::pair<Index, Index>(min_res_id, max_res_id); + } + + template <class AtomContainer> +@@ -294,7 +294,7 @@ void SegmentMapper<AtomContainer>::PlaceMapAtomonMD( + } + + template <class AtomContainer> +-long SegmentMapper<AtomContainer>::FindVectorIndexFromAtomId( ++Index SegmentMapper<AtomContainer>::FindVectorIndexFromAtomId( + Index atomid, const std::vector<mapAtom*>& fragment_mapatoms) const { + Index i = 0; + for (; i < Index(fragment_mapatoms.size()); i++) { +@@ -415,7 +415,7 @@ AtomContainer SegmentMapper<AtomContainer>::map( + "Could not find a Segment of name: " + seg.getType() + " in mapfile."); + } + Seginfo seginfo = _segment_info.at(seg.getType()); +- if (long(seginfo.mdatoms.size()) != seg.size()) { ++ if (Index(seginfo.mdatoms.size()) != seg.size()) { + throw std::runtime_error( + "Segment '" + seg.getType() + + "' does not contain the same number of atoms as mapping file: " + +@@ -423,8 +423,8 @@ AtomContainer SegmentMapper<AtomContainer>::map( + std::to_string(seg.size())); + } + +- std::pair<long, Index> minmax_map = seginfo.minmax; +- std::pair<long, Index> minmax = CalcAtomIdRange(seg); ++ std::pair<Index, Index> minmax_map = seginfo.minmax; ++ std::pair<Index, Index> minmax = CalcAtomIdRange(seg); + + if ((minmax_map.first - minmax_map.second) != + (minmax.first - minmax.second)) { +@@ -442,7 +442,7 @@ AtomContainer SegmentMapper<AtomContainer>::map( + AtomContainer Result(seg.getType(), seg.getId()); + Result.LoadFromFile(coordfilename); + +- if (long(seginfo.mapatoms.size()) != Result.size()) { ++ if (Index(seginfo.mapatoms.size()) != Result.size()) { + throw std::runtime_error( + _mapatom_xml.at("tag") + "Segment '" + seg.getType() + + "' does not contain the same number of atoms as mapping file: " + + +From 4088885e4d32ddaa8d93f76d7d42fff7ba756852 Mon Sep 17 00:00:00 2001 +From: Jens jenswehner@gmail.com +Date: Tue, 10 Dec 2019 20:35:30 +0100 +Subject: [PATCH 2/6] fix constants + +--- + .../numerical_integration/numerical_integrations.cc | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/src/libxtp/numerical_integration/numerical_integrations.cc b/src/libxtp/numerical_integration/numerical_integrations.cc +index e2018c283..a35e871b5 100644 +--- a/src/libxtp/numerical_integration/numerical_integrations.cc ++++ b/src/libxtp/numerical_integration/numerical_integrations.cc +@@ -571,13 +571,15 @@ Index NumericalIntegration::UpdateOrder(LebedevGrid& sphericalgridofElement, + } else if ((r >= PruningIntervals[0]) && (r < PruningIntervals[1])) { + order = sphericalgridofElement.getOrderFromIndex(4); + } else if ((r >= PruningIntervals[1]) && (r < PruningIntervals[2])) { +- order = +- sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, 4l)); ++ constexpr Index maximum = 4; ++ order = sphericalgridofElement.getOrderFromIndex( ++ std::max(maxindex - 1, maximum)); + } else if ((r >= PruningIntervals[2]) && (r < PruningIntervals[3])) { + order = maxorder; + } else { +- order = +- sphericalgridofElement.getOrderFromIndex(std::max(maxindex - 1, 1l)); ++ constexpr Index minimum = 1; ++ order = sphericalgridofElement.getOrderFromIndex( ++ std::max(maxindex - 1, minimum)); + } + } + return order; + +From 99a0caa43b1ccb46213685acb767e03d822a96d6 Mon Sep 17 00:00:00 2001 +From: Christoph Junghans junghans@lanl.gov +Date: Tue, 10 Dec 2019 17:17:55 -0700 +Subject: [PATCH 3/6] NWChem::WriteBackgroundCharges: long -> Index + +--- + src/libxtp/qmpackages/nwchem.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libxtp/qmpackages/nwchem.cc b/src/libxtp/qmpackages/nwchem.cc +index 60ca41ce1..3c7854bed 100644 +--- a/src/libxtp/qmpackages/nwchem.cc ++++ b/src/libxtp/qmpackages/nwchem.cc +@@ -62,7 +62,7 @@ void NWChem::WriteChargeOption() { + } + } + +-long NWChem::WriteBackgroundCharges(ofstream& nw_file) { ++Index NWChem::WriteBackgroundCharges(ofstream& nw_file) { + + Index numberofcharges = 0; + boost::format fmt("%1$+1.7f %2$+1.7f %3$+1.7f %4$+1.7f"); + +From 2d126ef4cd5d9ef94dd8ca2ebca81921ab29c2f8 Mon Sep 17 00:00:00 2001 +From: Jens jenswehner@gmail.com +Date: Wed, 11 Dec 2019 14:26:23 +0100 +Subject: [PATCH 4/6] another long + +--- + include/votca/xtp/segmentmapper.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/votca/xtp/segmentmapper.h b/include/votca/xtp/segmentmapper.h +index 66f722850..da61a6aa1 100644 +--- a/include/votca/xtp/segmentmapper.h ++++ b/include/votca/xtp/segmentmapper.h +@@ -47,7 +47,7 @@ class SegmentMapper { + using mapAtom = typename std::iterator_traits< + typename AtomContainer::iterator>::value_type; + +- typedef std::pair<long, std::string> atom_id; ++ typedef std::pair<Index, std::string> atom_id; + + struct FragInfo { + std::vector<double> _weights; + +From 6345500a55fc90951e2bc790a8b7dfa93840c89a Mon Sep 17 00:00:00 2001 +From: Jens jenswehner@gmail.com +Date: Wed, 11 Dec 2019 16:20:35 +0100 +Subject: [PATCH 5/6] more longs + +--- + include/votca/xtp/segmentmapper.h | 6 +++--- + src/libxtp/qmpackages/gaussian.cc | 6 +++--- + src/libxtp/symmetric_matrix.cc | 2 +- + 3 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/include/votca/xtp/segmentmapper.h b/include/votca/xtp/segmentmapper.h +index da61a6aa1..f717c0198 100644 +--- a/include/votca/xtp/segmentmapper.h ++++ b/include/votca/xtp/segmentmapper.h +@@ -57,7 +57,7 @@ class SegmentMapper { + }; + + struct Seginfo { +- std::pair<long, Index> minmax; ++ std::pair<Index, Index> minmax; + std::vector<Index> mdatoms; + std::vector<FragInfo> fragments; + bool map2md; +@@ -86,8 +86,8 @@ class SegmentMapper { + const std::vector<const Atom*>& fragment_mdatoms) const; + + Logger& _log; +- std::pair<long, Index> CalcAtomIdRange(const Segment& seg) const; +- std::pair<long, Index> CalcAtomIdRange(const std::vector<Index>& seg) const; ++ std::pair<Index, Index> CalcAtomIdRange(const Segment& seg) const; ++ std::pair<Index, Index> CalcAtomIdRange(const std::vector<Index>& seg) const; + + atom_id StringToMapIndex(const std::string& map_string) const; + +diff --git a/src/libxtp/qmpackages/gaussian.cc b/src/libxtp/qmpackages/gaussian.cc +index b3f9fed6d..eb91c4a9b 100644 +--- a/src/libxtp/qmpackages/gaussian.cc ++++ b/src/libxtp/qmpackages/gaussian.cc +@@ -515,8 +515,8 @@ void Gaussian::CleanUp() { + * Reads in the MO coefficients from a GAUSSIAN fort.7 file + */ + bool Gaussian::ParseMOsFile(Orbitals& orbitals) { +- std::map<long, std::vector<double> > coefficients; +- std::map<long, double> energies; ++ std::map<Index, std::vector<double> > coefficients; ++ std::map<Index, double> energies; + + std::string line; + Index levels = 0; +@@ -576,7 +576,7 @@ bool Gaussian::ParseMOsFile(Orbitals& orbitals) { + + // some sanity checks + XTP_LOG(Log::info, *_pLog) << "Energy levels: " << levels << flush; +- std::map<long, std::vector<double> >::iterator iter = coefficients.begin(); ++ std::map<Index, std::vector<double> >::iterator iter = coefficients.begin(); + basis_size = Index(iter->second.size()); + + for (const auto& row : coefficients) { +diff --git a/src/libxtp/symmetric_matrix.cc b/src/libxtp/symmetric_matrix.cc +index 68aeb3fe8..0a5e6a0ef 100644 +--- a/src/libxtp/symmetric_matrix.cc ++++ b/src/libxtp/symmetric_matrix.cc +@@ -121,7 +121,7 @@ Eigen::MatrixXd Symmetric_Matrix::UpperMatrix() const { + return result; + } + +-long Symmetric_Matrix::index(Index i, Index j) const { ++Index Symmetric_Matrix::index(Index i, Index j) const { + Index index; + if (i >= j) { + index = (i * (i + 1)) / 2 + j; + +From 798e28beafe667e1d34a863c10a1c679afc92985 Mon Sep 17 00:00:00 2001 +From: Christoph Junghans junghans@lanl.gov +Date: Wed, 11 Dec 2019 09:00:13 -0700 +Subject: [PATCH 6/6] threecenter_rep: Index fix + +--- + src/libxtp/threecenter_rep.cc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/libxtp/threecenter_rep.cc b/src/libxtp/threecenter_rep.cc +index bde5201bd..f77b55198 100644 +--- a/src/libxtp/threecenter_rep.cc ++++ b/src/libxtp/threecenter_rep.cc +@@ -141,8 +141,9 @@ bool TCMatrix::FillThreeCenterRepBlock(Eigen::Tensor<double, 3>& threec_block, + const Eigen::Vector3d wmp = W - P; + const Eigen::Vector3d wmc = W - pos_gamma; + ++ constexpr Index maximum = 2; + Eigen::Tensor<double, 3> R_temp(ncombined, ngamma, +- std::max(2l, mmax + 1)); ++ std::max(maximum, mmax + 1)); + R_temp.setZero(); + + const Eigen::VectorXd FmT = AOTransform::XIntegrate(mmax + 1, U); diff --git a/disable-out-of-mem-tests.patch b/disable-out-of-mem-tests.patch new file mode 100644 index 0000000..d725980 --- /dev/null +++ b/disable-out-of-mem-tests.patch @@ -0,0 +1,11 @@ +--- xtp-1.6_rc1/src/tests/CMakeLists.txt.orig 2019-12-12 16:19:54.861949296 -0700 ++++ xtp-1.6_rc1/src/tests/CMakeLists.txt 2019-12-12 16:20:07.454059121 -0700 +@@ -34,7 +34,7 @@ + list(APPEND test_cases test_rpa_h2p) + list(APPEND test_cases test_segment) + list(APPEND test_cases test_aoshell) +- list(APPEND test_cases test_sphere_lebedev_rule) ++# list(APPEND test_cases test_sphere_lebedev_rule) + list(APPEND test_cases test_sphere_lebedev_rule_fine) + list(APPEND test_cases test_sphere_lebedev_rule_xfine) + list(APPEND test_cases test_statetracker) diff --git a/votca-xtp.spec b/votca-xtp.spec index aa10aea..a004dd1 100644 --- a/votca-xtp.spec +++ b/votca-xtp.spec @@ -4,11 +4,14 @@ Name: votca-xtp Version: 1.6 %global sover 6 -Release: 1%{?_rcname}%{?dist} +Release: 0.2%{?_rcname}%{?dist} Summary: VOTCA excitation and charge properties module License: ASL 2.0 URL: http://www.votca.org Source0: https://github.com/votca/xtp/archive/v%%7Bversion%7D%%7B?_rc%7D.tar.gz#/%%7B... +Patch0: https://github.com/votca/xtp/pull/345.patch +Patch1: https://github.com/votca/xtp/pull/347.patch +Patch2: disable-out-of-mem-tests.patch
BuildRequires: gcc-c++ BuildRequires: cmake3 @@ -24,9 +27,6 @@ BuildRequires: votca-csg = %{version} Requires: %{name}-common = %{version}-%{release} Requires: %{name}-libs%{_isa} = %{version}-%{release}
-# https://github.com/votca/xtp/issues/339 -ExcludeArch: armv7hl i686 - %description Versatile Object-oriented Toolkit for Coarse-graining Applications (VOTCA) is a package intended to reduce the amount of routine work when doing systematic @@ -72,6 +72,11 @@ This package contains architecture independent data files for VOTCA XTP.
%prep %setup -qn xtp-%{version}%{?_rc} +%patch0 -p1 +%patch1 -p1 +%ifarch armv7hl i686 s390x +%patch2 -p1 +%endif
%build mkdir %{_target_platform} @@ -83,12 +88,9 @@ pushd %{_target_platform} %make_install -C%{_target_platform}
%check -%ifarch s390x +%ifarch armv7hl ppc64le s390x # https://github.com/votca/xtp/issues/340 -%global testargs ARGS='-E \(unit_test_statetracker\|unit_test_segment\|unit_test_gw\)' -%else -# https://github.com/votca/xtp/issues/338 -%global testargs ARGS='-E \(unit_test_statetracker\|unit_test_segment\)' +%global testargs ARGS='-E unit_test_gw' %endif make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1 %{?testargs:%{testargs}}
@@ -111,7 +113,11 @@ make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1 %{?testargs:%{testarg %{_libdir}/libvotca_xtp.so
%changelog -* Thu Dec 05 2019 Christoph Junghans junghans@votca.org - 1.6-1 +* Thu Dec 12 2019 Christoph Junghans junghans@votca.org - 1.6-0.2rc1 +- Added upstream 347.patch to fix 32bit builds +- Added upstream 345.patch to fix failing tests + +* Thu Dec 05 2019 Christoph Junghans junghans@votca.org - 1.6-0.1rc1 - Version bump to 1.6_rc1 (bug #1779897)
* Fri Nov 22 2019 Christoph Junghans junghans@votca.org - 1.5.1-1
commit 4a67a87cd14bf2df6e1b3ffdfea9396c3ceed65e Author: Christoph Junghans junghans@lanl.gov Date: Thu Dec 5 14:06:00 2019 -0700
Version bump to 1.6_rc1 (bug #1779897)
diff --git a/.gitignore b/.gitignore index cf14ff7..be8b55e 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /votca-xtp-manual-1.5.pdf /votca-xtp-manual-1.5.1.pdf /votca-xtp-1.5.1.tar.gz +/votca-xtp-1.6_rc1.tar.gz diff --git a/sources b/sources index 2ffbc77..fbd5acd 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (votca-xtp-manual-1.5.1.pdf) = b410ddad0566933a2c9ad386fb6f4df0e71b316a84bce8c841e94df8f438959f0967ade63d1146549d453c2ecdb48e3d8b1fd147e53888e1717c6db3d07ba061 -SHA512 (votca-xtp-1.5.1.tar.gz) = 8fb6891e84d4d685e26287344554b705c607e7cb9f497c00ac9cd8328e50210c56706abdb7004b83d4addbfbc7b35c3526b4feabf75f681362b3b7a39c54b668 +SHA512 (votca-xtp-1.6_rc1.tar.gz) = 0b54eddcf944967b1d41f75f4887eba9edc3be18b94d319e93e795a24f58a2877d7f60afd806290eacb41d329d1b1206ebaab83874d6be2d5b026f06dbc19dfd diff --git a/votca-xtp.spec b/votca-xtp.spec index 56692eb..aa10aea 100644 --- a/votca-xtp.spec +++ b/votca-xtp.spec @@ -1,28 +1,32 @@ -#global _rcname rc1 -#global _rc _%%_rcname +%global _rcname rc1 +%global _rc _%%_rcname
Name: votca-xtp -Version: 1.5.1 +Version: 1.6 +%global sover 6 Release: 1%{?_rcname}%{?dist} Summary: VOTCA excitation and charge properties module License: ASL 2.0 URL: http://www.votca.org Source0: https://github.com/votca/xtp/archive/v%%7Bversion%7D%%7B?_rc%7D.tar.gz#/%%7B... -Source1: https://github.com/votca/xtp/releases/download/v%%7Bversion%7D%%7B?_rc%7D/vo...
BuildRequires: gcc-c++ BuildRequires: cmake3 BuildRequires: eigen3-devel BuildRequires: libxc-devel -BuildRequires: ceres-solver-devel BuildRequires: hdf5-devel +BuildRequires: fftw-devel BuildRequires: pkgconfig BuildRequires: boost-devel BuildRequires: votca-csg-devel = %{version} +BuildRequires: votca-csg = %{version}
Requires: %{name}-common = %{version}-%{release} Requires: %{name}-libs%{_isa} = %{version}-%{release}
+# https://github.com/votca/xtp/issues/339 +ExcludeArch: armv7hl i686 + %description Versatile Object-oriented Toolkit for Coarse-graining Applications (VOTCA) is a package intended to reduce the amount of routine work when doing systematic @@ -66,60 +70,33 @@ coarse-graining of various systems. The core is written in C++.
This package contains architecture independent data files for VOTCA XTP.
-%package doc -Summary: Architecture independent doc files for VOTCA XTP -BuildArch: noarch -Requires: votca-csg-common = %{version} - -%description doc -Versatile Object-oriented Toolkit for Coarse-graining Applications (VOTCA) is -a package intended to reduce the amount of routine work when doing systematic -coarse-graining of various systems. The core is written in C++. - -This package contains architecture independent documentation for VOTCA XTP. - %prep %setup -qn xtp-%{version}%{?_rc} -%if 0%{?rhel} -sed -i '/Boost/s/1.57.0/1.53.0/' src/tests/CMakeLists.txt CMakeLists.txt -%endif
%build mkdir %{_target_platform} pushd %{_target_platform} -%if 0%{?rhel} -export CXXFLAGS="%optflags -DBOOST_NO_CXX11_SCOPED_ENUMS" -%endif %{cmake3} .. -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTING=ON %make_build
%install %make_install -C%{_target_platform} -sed -i -e '1s@env @@' %{buildroot}/%{_bindir}/xtp_* - -mkdir -p %{buildroot}%{_docdir}/%{name} -cp %{S:1} %{buildroot}%{_docdir}/%{name}
%check -%if 0%{?rhel} -# some bug in old boost regex -%global testargs ARGS='-E \(unit_test_espfit\|unit_test_orbitals\|unit_test_qmstate\)' -%ifarch ppc64le -# Boost testing broken on ppc64le -%global testargs ARGS='-E .' -%endif +%ifarch s390x +# https://github.com/votca/xtp/issues/340 +%global testargs ARGS='-E \(unit_test_statetracker\|unit_test_segment\|unit_test_gw\)' +%else +# https://github.com/votca/xtp/issues/338 +%global testargs ARGS='-E \(unit_test_statetracker\|unit_test_segment\)' %endif make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1 %{?testargs:%{testargs}}
%ldconfig_scriptlets libs
%files -%{_bindir}/xtp_* - -%files doc %doc CHANGELOG.md NOTICE README.md -%license LICENSE.md -%{_docdir}/%{name} +%{_bindir}/xtp_*
%files common %license LICENSE.md @@ -127,14 +104,16 @@ make -C %{_target_platform} test CTEST_OUTPUT_ON_FAILURE=1 %{?testargs:%{testarg
%files libs %license LICENSE.md -%{_libdir}/libvotca_xtp.so.* +%{_libdir}/libvotca_xtp.so.%{sover}
%files devel %{_includedir}/votca/xtp/ %{_libdir}/libvotca_xtp.so -%{_libdir}/pkgconfig/libvotca_xtp.pc
%changelog +* Thu Dec 05 2019 Christoph Junghans junghans@votca.org - 1.6-1 +- Version bump to 1.6_rc1 (bug #1779897) + * Fri Nov 22 2019 Christoph Junghans junghans@votca.org - 1.5.1-1 - Version bump to 1.5.1 (bug #1774855)