error: member access into incomplete type 'const __normal_iterator<const char *, basic_string<char>>'
- Dominant language
- C
- Stars
- 988
- Forks
- 355
- Avg merge
- 4d 2h
- Merged PRs (30d)
- 12
Description
HDF5 Version : 2.1.1
OS: Arch Linux
Compilers: AOCC 5.2.0 (clang 17.0.6)
MPI: MPICH 5.0
Trying to compile HDF5 2.1.1 with AOCC 5.2.0 ends with the following error message.
Error message
```
[ 69%] Building C object fortran/src/CMakeFiles/hdf5_f90cstub-shared.dir/H5If.c.o
[ 69%] Building C object hl/src/CMakeFiles/hdf5_hl-shared.dir/H5PT.c.o
In file included from /home/angke/aur.bld/hdf5/src/hdf5-2.1.1/c++/src/H5Attribute.cpp:14:
In file included from /usr/lib64/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/iostream:43:
In file included from /usr/lib64/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/ostream:42:
In file included from /usr/lib64/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/bits/ostream.h:43:
In file included from /usr/lib64/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/ios:46:
In file included from /usr/lib64/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/bits/ios_base.h:43:
In file included from /usr/lib64/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/bits/locale_classes.h:43:
In file included from /usr/lib64/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/string:51:
/usr/lib64/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/bits/stl_iterator.h:1337:19: error: member access into incomplete type 'const __normal_iterator>'
1337 | -> decltype(__lhs.base() - __rhs.base())
| ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/bits/basic_string.h:4018:37: note: in instantiation of template class '__gnu_cxx::__normal_iterator>' requested here
4018 | { return std::move(__rhs.insert(0, __lhs)); }
| ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/system_error:568:36: note: in instantiation of function template specialization 'std::operator+, std::allocator>' requested here
568 | : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { }
| ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/16.1.1/../../../../include/c++/16.1.1/bits/stl_iterator.h:1026:11: note: definition of '__gnu_cxx::__normal_iterator>' is not complete until the closing '}'
1026 | class __normal_iterator
| ^
1 error generated.
make[2]: *** [c++/src/CMakeFiles/hdf5_cpp-shared.dir/build.make:121: c++/src/CMakeFiles/hdf5_cpp-shared.dir/H5Attribute.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:13272: c++/src/CMakeFiles/hdf5_cpp-shared.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 69%] Building C object fortran/src/CMakeFiles/hdf5_f90cstub-shared.dir/H5Lf.c.o
[ 69%] Building C object hl/src/CMakeFiles/hdf5_hl-shared.dir/H5TB.c.o
[ 69%] Building C object fortran/src/CMakeFiles/hdf5_f90cstub-shared.dir/H5Of.c.o
[ 69%] Linking C shared library ../bin/libhdf5_test.so
[ 70%] Building C object tools/lib/CMakeFiles/hdf5_tools-shared.dir/h5tools_filters.c.o
[ 70%] Built target hdf5_test-shared
[ 70%] Building C object tools/lib/CMakeFiles/hdf5_tools-shared.dir/h5tools_ref.c.o
[ 70%] Building C object fortran/src/CMakeFiles/hdf5_f90cstub-shared.dir/H5Pf.c.o
[ 70%] Building C object hl/src/CMakeFiles/hdf5_hl-shared.dir/H5LD.c.o
[ 70%] Building C object fortran/src/CMakeFiles/hdf5_f90cstub-shared.dir/H5Rf.c.o
[ 70%] Building C object fortran/src/CMakeFiles/hdf5_f90cstub-shared.dir/H5Sf.c.o
[ 70%] Building C object tools/lib/CMakeFiles/hdf5_tools-shared.dir/h5tools_str.c.o
[ 70%] Building C object fortran/src/CMakeFiles/hdf5_f90cstub-shared.dir/H5Tf.c.o
/home/angke/aur.bld/hdf5/src/hdf5-2.1.1/fortran/src/H5Pf.c:2963:41: warning: implicit conversion increases floating-point precision: 'float' to 'long double' [-Wdouble-promotion]
2963 | c_memb_addr[i] = (haddr_t)(((float)memb_addr[i]) * (tmp_max_addr));
| ^~~~~~~~~~~~~~~~~~~ ~
[ 70%] Building C object fortran/src/CMakeFiles/hdf5_f90cstub-shared.dir/H5Zf.c.o
[ 70%] Building C object tools/lib/CMakeFiles/hdf5_tools-shared.dir/h5tools_type.c.o
1 warning generated.
[ 70%] Building C object tools/lib/CMakeFiles/hdf5_tools-shared.dir/h5tools_utils.c.o
[ 70%] Building C object tools/lib/CMakeFiles/hdf5_tools-shared.dir/h5trav.c.o
[ 70%] Linking C shared library ../../bin/libhdf5_hl.so
[ 70%] Building C object tools/lib/CMakeFiles/hdf5_tools-shared.dir/io_timer.c.o
[ 71%] Linking C shared library ../../bin/libhdf5_f90cstub.so
[ 71%] Built target hdf5_hl-shared
[ 71%] Built target hdf5_f90cstub-shared
/home/angke/aur.bld/hdf5/src/hdf5-2.1.1/tools/lib/h5tools_utils.c:247:16: warning: assigning to 'char *' from 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
247 | if ((brace = strrchr(q_dset, '[')) != NULL) {
| ^ ~~~~~~~~~~~~~~~~~~~~
1 warning generated.
[ 71%] Linking C shared library ../../bin/libhdf5_tools.so
[ 71%] Built target hdf5_tools-shared
make: *** [Makefile:166: all] Error 2
```
Contributor guide
Assessment
This issue has not been assessed yet.