[build2] Linker Error when Installing build2 on Arch Linux using GCC 10.1.0

Markus Pawellek markus.pawellek at mailbox.org
Fri May 22 13:33:55 UTC 2020


Boris Kolpackov <boris at codesynthesis.com> wrote:

> I've now pushed a fix for this (as well as for the is_pod warning)
> but haven't tested it with GCC 10 (we haven't made a build bot VM
> for it yet). If you could give the latest staged toolchain[1] a go
> and confirm this fixes it, that would be great.

I have tested the new install script with GCC version 10.1.0 and
there were no compilation errors.
But still the follow warning appeared a few times.

...
In file included from /home/lyrahgames/builds/build2/build2-toolchain-0.13.0-a.0.20200504091218.50c714a9f937/build2/libbuild2/function.cxx:4:
/home/lyrahgames/builds/build2/build2-toolchain-0.13.0-a.0.20200504091218.50c714a9f937/build2/libbuild2/function.hxx: In constructor ‘build2::function_overload::function_overload(const char*, std::size_t, std::size_t, build2::function_overload::types, build2::value (*)(const build2::scope*, butl::vector_view<build2::value>, const build2::function_overload&), D)’:
/home/lyrahgames/builds/build2/build2-toolchain-0.13.0-a.0.20200504091218.50c714a9f937/build2/libbuild2/function.hxx:152:27: warning: ‘template<class _Tp> struct std::is_pod’ is deprecated: use is_standard_layout && is_trivial instead [-Wdeprecated-declarations]
  152 |       static_assert (std::is_pod<D>::value, "type is not POD");
      |                           ^~~~~~
In file included from /usr/include/c++/10.1.0/bits/move.h:57,
                 from /usr/include/c++/10.1.0/bits/stl_pair.h:59,
                 from /usr/include/c++/10.1.0/bits/stl_algobase.h:64,
                 from /usr/include/c++/10.1.0/bits/stl_tree.h:63,
                 from /usr/include/c++/10.1.0/map:60,
                 from /home/lyrahgames/builds/build2/build2-toolchain-0.13.0-a.0.20200504091218.50c714a9f937/build2/libbuild2/function.hxx:7,
                 from /home/lyrahgames/builds/build2/build2-toolchain-0.13.0-a.0.20200504091218.50c714a9f937/build2/libbuild2/function.cxx:4:
/usr/include/c++/10.1.0/type_traits:697:5: note: declared here
  697 |     is_pod
      |     ^~~~~~
...

This time one other warning was generated at the end of the compilation process.

...
/home/lyrahgames/builds/build2/build2-toolchain-0.13-a.0/libsqlite3-3.27.2+1/libsqlite3/sqlite3.c: In function ‘sqlite3SelectNew’:
/home/lyrahgames/builds/build2/build2-toolchain-0.13-a.0/libsqlite3-3.27.2+1/libsqlite3/sqlite3.c:124501:10: warning: function may return address of local variable [-Wreturn-local-addr]
124501 |   return pNew;
       |          ^~~~
/home/lyrahgames/builds/build2/build2-toolchain-0.13-a.0/libsqlite3-3.27.2+1/libsqlite3/sqlite3.c:124461:10: note: declared here
124461 |   Select standin;
       |          ^~~~~~~
/home/lyrahgames/builds/build2/build2-toolchain-0.13-a.0/libsqlite3-3.27.2+1/libsqlite3/sqlite3.c:124461:10: note: declared here
...

Greetings
Markus



More information about the users mailing list