Package: src:lfortran
Version: 0.36.0-1
Severity: important
Tags: sid trixie
User: debian-...@lists.debian.org
Usertags: ftbfs-gcc-14

[This bug is targeted to the upcoming trixie release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-14/g++-14, but succeeds to build with gcc-13/g++-13. The
severity of this report will be raised before the trixie release.

The full build log can be found at:
http://qa-logs.debian.net/2024/07/01/lfortran_0.36.0-1_unstable_gccexp.log
The last lines of the build log are at the end of this report.

To build with GCC 14, either set CC=gcc-14 CXX=g++-14 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++ 

Common build failures are new warnings resulting in build failures with
-Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-14/porting_to.html

[...]
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:15:8: warning: ‘*(__vector(4) 
unsigned int*)((char*)&<unnamed> + offsetof(LCompilers::diag::Span, 
LCompilers::diag::Span::first_line))’ may be used uninitialized 
[-Wmaybe-uninitialized]
   15 | struct Span {
      |        ^~~~
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h: In member function ‘void 
LCompilers::diag::Diagnostics::message_label(const std::string&, const 
std::vector<LCompilers::Location>&, const std::string&, const 
LCompilers::diag::Level&, const LCompilers::diag::Stage&)’:
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:54:37: note: ‘<anonymous>’ declared 
here
   54 |             spans.push_back(Span(loc));
      |                                     ^
In file included from /<<PKGBUILDDIR>>/src/libasr/exception.h:29,
                 from /<<PKGBUILDDIR>>/src/libasr/assert.h:7,
                 from /<<PKGBUILDDIR>>/src/libasr/alloc.h:10,
                 from /<<PKGBUILDDIR>>/src/lfortran/ast.h:6,
                 from 
/<<PKGBUILDDIR>>/src/lfortran/semantics/ast_body_visitor.cpp:10:
In constructor ‘LCompilers::diag::Span::Span(LCompilers::diag::Span&&)’,
    inlined from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) 
[with _Up = LCompilers::diag::Span; _Args = {LCompilers::diag::Span}; _Tp = 
LCompilers::diag::Span]’ at /usr/include/c++/14/bits/new_allocator.h:191:4,
    inlined from ‘static void std::allocator_traits<std::allocator<_CharT> 
>::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = 
LCompilers::diag::Span; _Args = {LCompilers::diag::Span}; _Tp = 
LCompilers::diag::Span]’ at /usr/include/c++/14/bits/alloc_traits.h:534:17,
    inlined from ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, 
_Alloc>::emplace_back(_Args&& ...) [with _Args = {LCompilers::diag::Span}; _Tp 
= LCompilers::diag::Span; _Alloc = std::allocator<LCompilers::diag::Span>]’ at 
/usr/include/c++/14/bits/vector.tcc:117:30,
    inlined from ‘void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with 
_Tp = LCompilers::diag::Span; _Alloc = std::allocator<LCompilers::diag::Span>]’ 
at /usr/include/c++/14/bits/stl_vector.h:1301:21,
    inlined from ‘LCompilers::diag::Label::Label(const std::string&, const 
std::vector<LCompilers::Location>&, bool)’ at 
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:54:28:
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:15:8: warning: ‘*(__vector(4) 
unsigned int*)((char*)&<unnamed> + offsetof(LCompilers::diag::Span, 
LCompilers::diag::Span::first_line))’ may be used uninitialized 
[-Wmaybe-uninitialized]
   15 | struct Span {
      |        ^~~~
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h: In constructor 
‘LCompilers::diag::Label::Label(const std::string&, const 
std::vector<LCompilers::Location>&, bool)’:
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:54:37: note: ‘<anonymous>’ declared 
here
   54 |             spans.push_back(Span(loc));
      |                                     ^
In file included from /<<PKGBUILDDIR>>/src/libasr/exception.h:29,
                 from /<<PKGBUILDDIR>>/src/libasr/assert.h:7,
                 from /<<PKGBUILDDIR>>/src/libasr/alloc.h:10,
                 from /<<PKGBUILDDIR>>/src/lfortran/ast.h:6,
                 from /<<PKGBUILDDIR>>/src/lfortran/semantics/ast_to_asr.cpp:8:
In constructor ‘LCompilers::diag::Span::Span(LCompilers::diag::Span&&)’,
    inlined from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) 
[with _Up = LCompilers::diag::Span; _Args = {LCompilers::diag::Span}; _Tp = 
LCompilers::diag::Span]’ at /usr/include/c++/14/bits/new_allocator.h:191:4,
    inlined from ‘static void std::allocator_traits<std::allocator<_CharT> 
>::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = 
LCompilers::diag::Span; _Args = {LCompilers::diag::Span}; _Tp = 
LCompilers::diag::Span]’ at /usr/include/c++/14/bits/alloc_traits.h:534:17,
    inlined from ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, 
_Alloc>::emplace_back(_Args&& ...) [with _Args = {LCompilers::diag::Span}; _Tp 
= LCompilers::diag::Span; _Alloc = std::allocator<LCompilers::diag::Span>]’ at 
/usr/include/c++/14/bits/vector.tcc:117:30,
    inlined from ‘void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with 
_Tp = LCompilers::diag::Span; _Alloc = std::allocator<LCompilers::diag::Span>]’ 
at /usr/include/c++/14/bits/stl_vector.h:1301:21,
    inlined from ‘LCompilers::diag::Label::Label(const std::string&, const 
std::vector<LCompilers::Location>&, bool)’ at 
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:54:28,
    inlined from ‘void LCompilers::diag::Diagnostics::message_label(const 
std::string&, const std::vector<LCompilers::Location>&, const std::string&, 
const LCompilers::diag::Level&, const LCompilers::diag::Stage&)’ at 
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:141:5:
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:15:8: warning: ‘*(__vector(4) 
unsigned int*)((char*)&<unnamed> + offsetof(LCompilers::diag::Span, 
LCompilers::diag::Span::first_line))’ may be used uninitialized 
[-Wmaybe-uninitialized]
   15 | struct Span {
      |        ^~~~
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h: In member function ‘void 
LCompilers::diag::Diagnostics::message_label(const std::string&, const 
std::vector<LCompilers::Location>&, const std::string&, const 
LCompilers::diag::Level&, const LCompilers::diag::Stage&)’:
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:54:37: note: ‘<anonymous>’ declared 
here
   54 |             spans.push_back(Span(loc));
      |                                     ^
In file included from /<<PKGBUILDDIR>>/src/libasr/exception.h:29,
                 from /<<PKGBUILDDIR>>/src/libasr/assert.h:7,
                 from /<<PKGBUILDDIR>>/src/libasr/alloc.h:10,
                 from /<<PKGBUILDDIR>>/src/lfortran/ast.h:6,
                 from 
/<<PKGBUILDDIR>>/src/lfortran/semantics/ast_symboltable_visitor.cpp:10:
In constructor ‘LCompilers::diag::Span::Span(LCompilers::diag::Span&&)’,
    inlined from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) 
[with _Up = LCompilers::diag::Span; _Args = {LCompilers::diag::Span}; _Tp = 
LCompilers::diag::Span]’ at /usr/include/c++/14/bits/new_allocator.h:191:4,
    inlined from ‘static void std::allocator_traits<std::allocator<_CharT> 
>::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = 
LCompilers::diag::Span; _Args = {LCompilers::diag::Span}; _Tp = 
LCompilers::diag::Span]’ at /usr/include/c++/14/bits/alloc_traits.h:534:17,
    inlined from ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, 
_Alloc>::emplace_back(_Args&& ...) [with _Args = {LCompilers::diag::Span}; _Tp 
= LCompilers::diag::Span; _Alloc = std::allocator<LCompilers::diag::Span>]’ at 
/usr/include/c++/14/bits/vector.tcc:117:30,
    inlined from ‘void std::vector<_Tp, _Alloc>::push_back(value_type&&) [with 
_Tp = LCompilers::diag::Span; _Alloc = std::allocator<LCompilers::diag::Span>]’ 
at /usr/include/c++/14/bits/stl_vector.h:1301:21,
    inlined from ‘LCompilers::diag::Label::Label(const std::string&, const 
std::vector<LCompilers::Location>&, bool)’ at 
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:54:28:
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:15:8: warning: ‘*(__vector(4) 
unsigned int*)((char*)&<unnamed> + offsetof(LCompilers::diag::Span, 
LCompilers::diag::Span::first_line))’ may be used uninitialized 
[-Wmaybe-uninitialized]
   15 | struct Span {
      |        ^~~~
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h: In constructor 
‘LCompilers::diag::Label::Label(const std::string&, const 
std::vector<LCompilers::Location>&, bool)’:
/<<PKGBUILDDIR>>/src/libasr/diagnostics.h:54:37: note: ‘<anonymous>’ declared 
here
   54 |             spans.push_back(Span(loc));
      |                                     ^
make[3]: Leaving directory '/<<PKGBUILDDIR>>/debian/build'
make[2]: *** [CMakeFiles/Makefile2:472: 
src/lfortran/CMakeFiles/lfortran_lib.dir/all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/debian/build'
make[1]: *** [Makefile:169: all] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>/debian/build'
dh_auto_build: error: cd debian/build && make -j8 "INSTALL=install 
--strip-program=true" VERBOSE=1 returned exit code 2
make: *** [debian/rules:10: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2

-- 
debian-science-maintainers mailing list
debian-science-maintainers@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-science-maintainers

Reply via email to