Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 915694 - sci-chemistry/gromacs-2021.7-r1 doesn't build with gcc-13
Summary: sci-chemistry/gromacs-2021.7-r1 doesn't build with gcc-13
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Alexey Shvetsov
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-10-13 16:53 UTC by Pacho Ramos
Modified: 2023-10-20 13:14 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
1.patch (1.patch,361 bytes, patch)
2023-10-16 08:18 UTC, Pacho Ramos
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Pacho Ramos gentoo-dev 2023-10-13 16:53:29 UTC
I found this:
https://gitlab.com/gromacs/gromacs/-/commit/64740ad3ac2748d6b93f398fef5c5ddcec62bcf2

It should be a similar issue, but I couldn't find the pending affected files to fix it, and that patch is not enough :/

AILED: src/gromacs/CMakeFiles/libgromacs.dir/analysisdata/dataframe.cpp.o 
/usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -DGMX_DOUBLE=0 -DHAVE_CONFIG_H -DUSE_STD_INTTYPES_H -Dlibgromacs_EXPORTS -I/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7_float/src -I/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src -isystem /var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/external/thread_mpi/include -isystem /var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/external -isystem /var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/external/tng_io/include -isystem /var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7_float/tng/include -isystem /usr/include/include  -O2 -pipe -march=native -fno-stack-protector -std=c++17 -fPIC -mavx2 -mfma -Wno-missing-field-initializers -fexcess-precision=fast -funroll-all-loops -fopenmp -MD -MT src/gromacs/CMakeFiles/libgromacs.dir/analysisdata/dataframe.cpp.o -MF src/gromacs/CMakeFiles/libgromacs.dir/analysisdata/dataframe.cpp.o.d -o src/gromacs/CMakeFiles/libgromacs.dir/analysisdata/dataframe.cpp.o -c /var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/analysisdata/dataframe.cpp
In file included from /var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/analysisdata/dataframe.h:49,
                 from /var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/analysisdata/dataframe.cpp:44:
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h:126:5: error: ‘uint64_t’ does not name a type
  126 |     uint64_t flags_;
      |     ^~~~~~~~
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h:1:1: note: ‘uint64_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
  +++ |+#include <cstdint>
    1 | /*
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h: In constructor ‘gmx::FlagsTemplate<FlagType>::FlagsTemplate()’:
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h:73:23: error: class ‘gmx::FlagsTemplate<FlagType>’ does not have any field named ‘flags_’
   73 |     FlagsTemplate() : flags_(0) {}
      |                       ^~~~~~
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h: In constructor ‘gmx::FlagsTemplate<FlagType>::FlagsTemplate(FlagType)’:
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h:75:36: error: class ‘gmx::FlagsTemplate<FlagType>’ does not have any field named ‘flags_’
   75 |     FlagsTemplate(FlagType flag) : flags_(flag) {}
      |                                    ^~~~~~
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h: In member function ‘bool gmx::FlagsTemplate<FlagType>::test(FlagType) const’:
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h:83:46: error: ‘flags_’ was not declared in this scope; did you mean ‘flag’?
   83 |     bool test(FlagType flag) const { return (flags_ & flag) != 0; }
      |                                              ^~~~~~
      |                                              flag
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h: In member function ‘void gmx::FlagsTemplate<FlagType>::clearAll()’:
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h:85:23: error: ‘flags_’ was not declared in this scope
   85 |     void clearAll() { flags_ = 0; }
      |                       ^~~~~~
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h: In member function ‘void gmx::FlagsTemplate<FlagType>::set(FlagType)’:
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h:87:31: error: ‘flags_’ was not declared in this scope; did you mean ‘flag’?
   87 |     void set(FlagType flag) { flags_ |= flag; }
      |                               ^~~~~~
      |                               flag
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h: In member function ‘void gmx::FlagsTemplate<FlagType>::clear(FlagType)’:
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h:89:33: error: ‘flags_’ was not declared in this scope; did you mean ‘flag’?
   89 |     void clear(FlagType flag) { flags_ &= ~flag; }
      |                                 ^~~~~~
      |                                 flag
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h: In member function ‘gmx::FlagsTemplate<FlagType> gmx::FlagsTemplate<FlagType>::operator|(const gmx::FlagsTemplate<FlagType>&) const’:
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h:106:40: error: ‘flags_’ was not declared in this scope
  106 |         return FlagsTemplate<FlagType>(flags_ | other.flags_);
      |                                        ^~~~~~
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h: In member function ‘gmx::FlagsTemplate<FlagType>& gmx::FlagsTemplate<FlagType>::operator|=(const gmx::FlagsTemplate<FlagType>&)’:
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h:111:9: error: ‘flags_’ was not declared in this scope
  111 |         flags_ |= other.flags_;
      |         ^~~~~~
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h: In member function ‘gmx::FlagsTemplate<FlagType> gmx::FlagsTemplate<FlagType>::operator&(const gmx::FlagsTemplate<FlagType>&) const’:
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h:117:40: error: ‘flags_’ was not declared in this scope
  117 |         return FlagsTemplate<FlagType>(flags_ & other.flags_);
      |                                        ^~~~~~
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h: In member function ‘gmx::FlagsTemplate<FlagType> gmx::FlagsTemplate<FlagType>::operator~() const’:
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h:120:81: error: ‘flags_’ was not declared in this scope
  120 |     FlagsTemplate<FlagType> operator~() const { return FlagsTemplate<FlagType>(~flags_); }
      |                                                                                 ^~~~~~
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h: In constructor ‘gmx::FlagsTemplate<FlagType>::FlagsTemplate(long unsigned int)’:
/var/tmp/portage/sci-chemistry/gromacs-2021.7-r1/work/gromacs-2021.7/src/gromacs/utility/flags.h:124:51: error: class ‘gmx::FlagsTemplate<FlagType>’ does not have any field named ‘flags_’
  124 |     explicit FlagsTemplate(unsigned long flags) : flags_(flags) {}
      |                                                   ^~~~~~
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-10-13 16:55:47 UTC
Just add the includes the errors say to? What do you get then?
Comment 2 Pacho Ramos gentoo-dev 2023-10-16 08:18:02 UTC
Created attachment 872953 [details, diff]
1.patch

Sorry, I needed to leave and I couldn't test

Indeed, the attached patch works fine!
Comment 3 Larry the Git Cow gentoo-dev 2023-10-20 13:14:51 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=05f1ec32b757a08781ce81f883ec0873b7ee6d99

commit 05f1ec32b757a08781ce81f883ec0873b7ee6d99
Author:     Pacho Ramos <pacho@gentoo.org>
AuthorDate: 2023-10-20 12:11:55 +0000
Commit:     Pacho Ramos <pacho@gentoo.org>
CommitDate: 2023-10-20 13:14:37 +0000

    sci-chemistry/gromacs: Fix compilation with gcc-13
    
    Closes: https://bugs.gentoo.org/915694
    Signed-off-by: Pacho Ramos <pacho@gentoo.org>

 .../gromacs/files/gromacs-2021-cstdint-include.patch         | 12 ++++++++++++
 sci-chemistry/gromacs/gromacs-2021.7-r1.ebuild               |  1 +
 2 files changed, 13 insertions(+)