Error Compiling GCC 5.1 under Ubuntu 22.04.5

GCC 5.1 is too old to compile under Ubuntu 22.04.5

Compiling command:

cd ~
mkdir gcc-5.1
cd gcc-5.1
mkdir build
git clone ../gcc
cd gcc
git checkout releases/gcc-5.1.0
contrib/download_prerequisites
cd ../build
../gcc/configure -v --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --prefix=/usr/local/gcc-5.1 --enable-checking=release --enable-languages=c,c++,fortran,go,ada --disable-multilib --program-suffix=-5.1 CC=gnatgcc
make -j 8
make install

Error message after compiling:

make[3]: Entering directory '/root/gcc-5.1/build/gcc'
x86_64-linux-gnu-g++ -c   -g -DIN_GCC    -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../gcc/gcc -I../../gcc/gcc/build -I../../gcc/gcc/../include  -I../../gcc/gcc/../libcpp/include  \
        -o build/genpreds.o ../../gcc/gcc/genpreds.c
In file included from ./tm.h:27,
                 from ../../gcc/gcc/genpreds.c:26:
../../gcc/gcc/config/elfos.h:102:21: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
  102 |    fprintf ((FILE), "%s"HOST_WIDE_INT_PRINT_UNSIGNED"\n",\
      |                     ^
../../gcc/gcc/config/elfos.h:170:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
  170 |       fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n",          \
      |                        ^
In file included from ./tm.h:48,
                 from ../../gcc/gcc/genpreds.c:26:
../../gcc/gcc/defaults.h:126:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
  126 |       fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n",          \
      |                        ^
In file included from ../../gcc/gcc/real.h:25,
                 from ../../gcc/gcc/rtl.h:26,
                 from ../../gcc/gcc/genpreds.c:27:
../../gcc/gcc/wide-int.h:370:10: error: too many template-parameter-lists
  370 |   struct binary_traits <T1, T2, FLEXIBLE_PRECISION, FLEXIBLE_PRECISION>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gcc/wide-int.h:377:10: error: too many template-parameter-lists
  377 |   struct binary_traits <T1, T2, FLEXIBLE_PRECISION, VAR_PRECISION>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gcc/wide-int.h:384:10: error: too many template-parameter-lists
  384 |   struct binary_traits <T1, T2, FLEXIBLE_PRECISION, CONST_PRECISION>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gcc/wide-int.h:394:10: error: too many template-parameter-lists
  394 |   struct binary_traits <T1, T2, VAR_PRECISION, FLEXIBLE_PRECISION>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gcc/wide-int.h:401:10: error: too many template-parameter-lists
  401 |   struct binary_traits <T1, T2, CONST_PRECISION, FLEXIBLE_PRECISION>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gcc/wide-int.h:411:10: error: too many template-parameter-lists
  411 |   struct binary_traits <T1, T2, CONST_PRECISION, CONST_PRECISION>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gcc/wide-int.h:422:10: error: too many template-parameter-lists
  422 |   struct binary_traits <T1, T2, VAR_PRECISION, VAR_PRECISION>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gcc/wide-int.h:886:10: error: too many template-parameter-lists
  886 |   struct int_traits < generic_wide_int <storage> >
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gcc/wide-int.h:898:51: error: invalid use of incomplete type ‘struct wi::int_traits<generic_wide_int<T> >’
  898 | get_precision (const generic_wide_int <storage> &x)
      |                                                   ^
../../gcc/gcc/wide-int.h:349:32: note: declaration of ‘struct wi::int_traits<generic_wide_int<T> >’
  349 |   template <typename T> struct int_traits;
      |                                ^~~~~~~~~~
../../gcc/gcc/wide-int.h:907:47: error: invalid use of incomplete type ‘struct wi::int_traits<generic_wide_int<T> >’
  907 |            const generic_wide_int <storage> &x)
      |                                               ^
../../gcc/gcc/wide-int.h:349:32: note: declaration of ‘struct wi::int_traits<generic_wide_int<T> >’
  349 |   template <typename T> struct int_traits;
      |                                ^~~~~~~~~~
../../gcc/gcc/wide-int.h:965:10: error: too many template-parameter-lists
  965 |   struct int_traits <wide_int_ref_storage <SE> >
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gcc/wide-int.h: In instantiation of ‘struct wi::unary_traits<generic_wide_int<wide_int_storage> >’:
../../gcc/gcc/wide-int.h:685:3:   required from ‘class generic_wide_int<wide_int_storage>’
../../gcc/gcc/wide-int.h:1080:14:   required from here
../../gcc/gcc/wide-int.h:362:10: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_storage> >’ used in nested name specifier
  362 |   struct unary_traits : public binary_traits <T, T> {};
      |          ^~~~~~~~~~~~
../../gcc/gcc/wide-int.h: In instantiation of ‘class generic_wide_int<wide_int_storage>’:
../../gcc/gcc/wide-int.h:1080:14:   required from here
../../gcc/gcc/wide-int.h:685:19: error: no type named ‘result_type’ in ‘struct wi::unary_traits<generic_wide_int<wide_int_storage> >’
  685 |   UNARY_OPERATOR (operator ~, bit_not)
      |                   ^~~~~~~~
../../gcc/gcc/wide-int.h:671:38: note: in definition of macro ‘UNARY_OPERATOR’
  671 |   WI_UNARY_RESULT (generic_wide_int) OP () const { return wi::F (*this); }
      |                                      ^~
../../gcc/gcc/wide-int.h:686:19: error: no type named ‘result_type’ in ‘struct wi::unary_traits<generic_wide_int<wide_int_storage> >’
  686 |   UNARY_OPERATOR (operator -, neg)
      |                   ^~~~~~~~
../../gcc/gcc/wide-int.h:671:38: note: in definition of macro ‘UNARY_OPERATOR’
  671 |   WI_UNARY_RESULT (generic_wide_int) OP () const { return wi::F (*this); }
      |                                      ^~
../../gcc/gcc/wide-int.h:689:20: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_storage> >’ used in nested name specifier
  689 |   BINARY_OPERATOR (operator &, bit_and)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:690:20: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_storage> >’ used in nested name specifier
  690 |   BINARY_OPERATOR (and_not, bit_and_not)
      |                    ^~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:691:20: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_storage> >’ used in nested name specifier
  691 |   BINARY_OPERATOR (operator |, bit_or)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:692:20: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_storage> >’ used in nested name specifier
  692 |   BINARY_OPERATOR (or_not, bit_or_not)
      |                    ^~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:693:20: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_storage> >’ used in nested name specifier
  693 |   BINARY_OPERATOR (operator ^, bit_xor)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:694:20: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_storage> >’ used in nested name specifier
  694 |   BINARY_OPERATOR (operator +, add)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:695:20: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_storage> >’ used in nested name specifier
  695 |   BINARY_OPERATOR (operator -, sub)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:696:20: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_storage> >’ used in nested name specifier
  696 |   BINARY_OPERATOR (operator *, mul)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h: In instantiation of ‘struct wi::unary_traits<generic_wide_int<wide_int_ref_storage<false> > >’:
../../gcc/gcc/wide-int.h:685:3:   required from ‘class generic_wide_int<wide_int_ref_storage<false> >’
../../gcc/gcc/wide-int.h:1083:60:   required from here
../../gcc/gcc/wide-int.h:362:10: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_ref_storage<false> > >’ used in nested name specifier
  362 |   struct unary_traits : public binary_traits <T, T> {};
      |          ^~~~~~~~~~~~
../../gcc/gcc/wide-int.h: In instantiation of ‘class generic_wide_int<wide_int_ref_storage<false> >’:
../../gcc/gcc/wide-int.h:1083:60:   required from here
../../gcc/gcc/wide-int.h:685:19: error: no type named ‘result_type’ in ‘struct wi::unary_traits<generic_wide_int<wide_int_ref_storage<false> > >’
  685 |   UNARY_OPERATOR (operator ~, bit_not)
      |                   ^~~~~~~~
../../gcc/gcc/wide-int.h:671:38: note: in definition of macro ‘UNARY_OPERATOR’
  671 |   WI_UNARY_RESULT (generic_wide_int) OP () const { return wi::F (*this); }
      |                                      ^~
../../gcc/gcc/wide-int.h:686:19: error: no type named ‘result_type’ in ‘struct wi::unary_traits<generic_wide_int<wide_int_ref_storage<false> > >’
  686 |   UNARY_OPERATOR (operator -, neg)
      |                   ^~~~~~~~
../../gcc/gcc/wide-int.h:671:38: note: in definition of macro ‘UNARY_OPERATOR’
  671 |   WI_UNARY_RESULT (generic_wide_int) OP () const { return wi::F (*this); }
      |                                      ^~
../../gcc/gcc/wide-int.h:689:20: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_ref_storage<false> > >’ used in nested name specifier
  689 |   BINARY_OPERATOR (operator &, bit_and)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:690:20: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_ref_storage<false> > >’ used in nested name specifier
  690 |   BINARY_OPERATOR (and_not, bit_and_not)
      |                    ^~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:691:20: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_ref_storage<false> > >’ used in nested name specifier
  691 |   BINARY_OPERATOR (operator |, bit_or)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:692:20: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_ref_storage<false> > >’ used in nested name specifier
  692 |   BINARY_OPERATOR (or_not, bit_or_not)
      |                    ^~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:693:20: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_ref_storage<false> > >’ used in nested name specifier
  693 |   BINARY_OPERATOR (operator ^, bit_xor)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:694:20: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_ref_storage<false> > >’ used in nested name specifier
  694 |   BINARY_OPERATOR (operator +, add)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:695:20: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_ref_storage<false> > >’ used in nested name specifier
  695 |   BINARY_OPERATOR (operator -, sub)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:696:20: error: incomplete type ‘wi::int_traits<generic_wide_int<wide_int_ref_storage<false> > >’ used in nested name specifier
  696 |   BINARY_OPERATOR (operator *, mul)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:1152:10: error: too many template-parameter-lists
 1152 |   struct int_traits < fixed_wide_int_storage <N> >
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gcc/gcc/wide-int.h:1244:42: error: invalid use of incomplete type ‘struct wi::int_traits<fixed_wide_int_storage<N> >’
 1244 | get_binary_result (const T1 &, const T2 &)
      |                                          ^
../../gcc/gcc/wide-int.h:349:32: note: declaration of ‘struct wi::int_traits<fixed_wide_int_storage<N> >’
  349 |   template <typename T> struct int_traits;
      |                                ^~~~~~~~~~
../../gcc/gcc/wide-int.h: In instantiation of ‘struct wi::unary_traits<generic_wide_int<trailing_wide_int_storage> >’:
../../gcc/gcc/wide-int.h:685:3:   required from ‘class generic_wide_int<trailing_wide_int_storage>’
../../gcc/gcc/wide-int.h:1378:56:   required from here
../../gcc/gcc/wide-int.h:362:10: error: incomplete type ‘wi::int_traits<generic_wide_int<trailing_wide_int_storage> >’ used in nested name specifier
  362 |   struct unary_traits : public binary_traits <T, T> {};
      |          ^~~~~~~~~~~~
../../gcc/gcc/wide-int.h: In instantiation of ‘class generic_wide_int<trailing_wide_int_storage>’:
../../gcc/gcc/wide-int.h:1378:56:   required from here
../../gcc/gcc/wide-int.h:685:19: error: no type named ‘result_type’ in ‘struct wi::unary_traits<generic_wide_int<trailing_wide_int_storage> >’
  685 |   UNARY_OPERATOR (operator ~, bit_not)
      |                   ^~~~~~~~
../../gcc/gcc/wide-int.h:671:38: note: in definition of macro ‘UNARY_OPERATOR’
  671 |   WI_UNARY_RESULT (generic_wide_int) OP () const { return wi::F (*this); }
      |                                      ^~
../../gcc/gcc/wide-int.h:686:19: error: no type named ‘result_type’ in ‘struct wi::unary_traits<generic_wide_int<trailing_wide_int_storage> >’
  686 |   UNARY_OPERATOR (operator -, neg)
      |                   ^~~~~~~~
../../gcc/gcc/wide-int.h:671:38: note: in definition of macro ‘UNARY_OPERATOR’
  671 |   WI_UNARY_RESULT (generic_wide_int) OP () const { return wi::F (*this); }
      |                                      ^~
../../gcc/gcc/wide-int.h:689:20: error: incomplete type ‘wi::int_traits<generic_wide_int<trailing_wide_int_storage> >’ used in nested name specifier
  689 |   BINARY_OPERATOR (operator &, bit_and)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:690:20: error: incomplete type ‘wi::int_traits<generic_wide_int<trailing_wide_int_storage> >’ used in nested name specifier
  690 |   BINARY_OPERATOR (and_not, bit_and_not)
      |                    ^~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:691:20: error: incomplete type ‘wi::int_traits<generic_wide_int<trailing_wide_int_storage> >’ used in nested name specifier
  691 |   BINARY_OPERATOR (operator |, bit_or)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:692:20: error: incomplete type ‘wi::int_traits<generic_wide_int<trailing_wide_int_storage> >’ used in nested name specifier
  692 |   BINARY_OPERATOR (or_not, bit_or_not)
      |                    ^~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:693:20: error: incomplete type ‘wi::int_traits<generic_wide_int<trailing_wide_int_storage> >’ used in nested name specifier
  693 |   BINARY_OPERATOR (operator ^, bit_xor)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:694:20: error: incomplete type ‘wi::int_traits<generic_wide_int<trailing_wide_int_storage> >’ used in nested name specifier
  694 |   BINARY_OPERATOR (operator +, add)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:695:20: error: incomplete type ‘wi::int_traits<generic_wide_int<trailing_wide_int_storage> >’ used in nested name specifier
  695 |   BINARY_OPERATOR (operator -, sub)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
../../gcc/gcc/wide-int.h:696:20: error: incomplete type ‘wi::int_traits<generic_wide_int<trailing_wide_int_storage> >’ used in nested name specifier
  696 |   BINARY_OPERATOR (operator *, mul)
      |                    ^~~~~~~~
../../gcc/gcc/wide-int.h:676:5: note: in definition of macro ‘BINARY_OPERATOR’
  676 |     OP (const T &c) const { return wi::F (*this, c); }
      |     ^~
In file included from ../../gcc/gcc/rtl.h:27,
                 from ../../gcc/gcc/genpreds.c:27:
../../gcc/gcc/vec.h: In instantiation of ‘bool vec<T, va_heap, vl_ptr>::reserve(unsigned int, bool) [with T = std::pair<unsigned int, const char*>]’:
../../gcc/gcc/vec.h:1537:3:   required from ‘T* vec<T, va_heap, vl_ptr>::safe_push(const T&) [with T = std::pair<unsigned int, const char*>]’
../../gcc/gcc/genpreds.c:1383:19:   required from here
../../gcc/gcc/vec.h:1431:14: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct std::pair<unsigned int, const char*>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
 1431 |       memcpy (m_vec->address (), oldvec->address (), sizeof (T) * oldsize);
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/string:40,
                 from ../../gcc/gcc/system.h:201,
                 from ../../gcc/gcc/genpreds.c:24:
/usr/include/c++/11/bits/stl_pair.h:211:12: note: ‘struct std::pair<unsigned int, const char*>’ declared here
  211 |     struct pair
      |            ^~~~
make[3]: *** [Makefile:2422: build/genpreds.o] Error 1
make[3]: Leaving directory '/root/gcc-5.1/build/gcc'
make[2]: *** [Makefile:4380: all-stage1-gcc] Error 2
make[2]: Leaving directory '/root/gcc-5.1/build'
make[1]: *** [Makefile:25529: stage1-bubble] Error 2
make[1]: Leaving directory '/root/gcc-5.1/build'
make: *** [Makefile:911: all] Error 2

Produktivitas Akibat Artificial Intelligence

Berikut ini beberapa studi tentang efek AI terhadap produktivitas manusia

Large Language Models, Small Labor Market Effects

Penelitian di Denmark menggunakan survey menunjukkan bahwa AI chatbot menaikkan produktivitas 3%

“We examine the labor market effects of AI chatbots using two large-scale adoption surveys (late 2023 and 2024) covering 11 exposed occupations (25,000 workers, 7,000 workplaces), linked to matched employer-employee data in Denmark. AI chatbots are now widespread—most employers encourage their use, many deploy in-house models, and training initiatives are common. These firm-led investments boost adoption, narrow demographic gaps in take-up, enhance workplace utility, and create new job tasks. Yet, despite substantial investments, economic impacts remain minimal. Using difference-in-differences and employer policies as quasi-experimental variation, we estimate precise zeros: AI chatbots have had no significant impact on earnings or recorded hours in any occupation, with confidence intervals ruling out effects larger than 1%. Modest productivity gains (average time savings of 3%), combined with weak wage pass-through, help explain these limited labor market effects. Our findings challenge narratives of imminent labor market transformation due to Generative AI.” https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5219933

The Simple Macroeconomics of AI

Tautan paper: https://shapingwork.mit.edu/research/the-simple-macroeconomics-of-ai/

Artikel: https://mitsloan.mit.edu/ideas-made-to-matter/a-new-look-economics-ai

In a new paper, “The Simple Macroeconomics of AI,” MIT Institute Professor has a more conservative estimate of how AI will affect the U.S. economy over the next 10 years. Estimating that only about 5% of tasks will be able to be profitably performed by AI within that time frame, the GDP boost would likely be closer to 1% over that period, Acemoglu suggests. This is a “nontrivial, but modest effect, and certainly much less than both the revolutionary changes some are predicting and the less hyperbolic but still substantial improvements forecast by Goldman Sachs and the McKinsey Global Institute,” he writes. 

Menemukan Zeroday vulnerability CVE-2025-37899 dengan bantuan LLM OpenAI o3

Seseorang menemukan kelemahan zeroday di Linux dengan bantuan LLM OpenAI o3. Link: https://sean.heelan.io/2025/05/22/how-i-used-o3-to-find-cve-2025-37899-a-remote-zeroday-vulnerability-in-the-linux-kernels-smb-implementation/

Links

Karakterisasi Gerakan Pintu Lift

Sumber data: video pergerakan pintu lift : https://www.youtube.com/watch?v=j_KKJnDDxQY

Video diubah menjadi image menggunakan software ffmpeg:

ffmpeg -i pintu-lift.mov pintu_%04d.png

Posisi pintu dianotasi secara manual menggunakan software Make Sense AI (https://www.makesense.ai/). Hasil anotasi diexport menggunakan format CSV.

Data dalam bentuk CSV kemudian diolah dengan Python & Jupyter Notebook .

Berikut hasil grafiknya:

Kecerdasan Buatan Sebagai Alat Bantu Penulisan Karya Ilmiah

AI sebagai alat bantu penulisan karya ilmiah. Sumber artikel: “Artificial intelligence-assisted academic writing: recommendations for ethical use ” Berikut ini abstraknya.

Generative artificial intelligence (AI) tools have been selectively adopted across the academic community to help researchers complete tasks in a more efficient manner. The widespread release of the Chat Generative Pre-trained Transformer (ChatGPT) platform in 2022 has made these tools more accessible to scholars around the world. Despite their tremendous potential, studies have uncovered that large language model (LLM)-based generative AI tools have issues with plagiarism, AI hallucinations, and inaccurate or fabricated references. This raises legitimate concern about the utility, accuracy, and integrity of AI when used to write academic manuscripts. Currently, there is little clear guidance for healthcare simulation scholars outlining the ways that generative AI could be used to legitimately support the production of academic literature. In this paper, we discuss how widely available, LLM-powered generative AI tools (e.g. ChatGPT) can help in the academic writing process. We first explore how academic publishers are positioning the use of generative AI tools and then describe potential issues with using these tools in the academic writing process. Finally, we discuss three categories of specific ways generative AI tools can be used in an ethically sound manner and offer four key principles that can help guide researchers to produce high-quality research outputs with the highest of academic integrity.