Noble:
apt -y install libboost-dev g++
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
g++ is already the newest version (4:13.2.0-7ubuntu1).
Suggested packages:
libboost-doc libboost1.83-doc libboost-atomic1.83-dev libboost-chrono1.83-dev
libboost-container1.83-dev libboost-context1.83-dev libboost-contract1.83-dev
libboost-coroutine1.83-dev libboost-date-time1.83-dev
libboost-exception1.83-dev libboost-fiber1.83-dev libboost-filesystem1.83-dev
libboost-graph-parallel1.83-dev
libboost-graph1.83-dev libboost-iostreams1.83-dev libboost-json1.83-dev
libboost-locale1.83-dev libboost-log1.83-dev libboost-math1.83-dev
libboost-mpi-python1.83-dev
libboost-mpi1.83-dev libboost-nowide1.83-dev libboost-numpy1.83-dev
libboost-program-options1.83-dev libboost-python1.83-dev
libboost-random1.83-dev libboost-regex1.83-dev
libboost-serialization1.83-dev libboost-stacktrace1.83-dev
libboost-system1.83-dev libboost-test1.83-dev libboost-thread1.83-dev
libboost-timer1.83-dev
libboost-type-erasure1.83-dev libboost-url1.83-dev libboost-wave1.83-dev
libboost1.83-tools-dev libmpfrc++-dev libntl-dev
The following NEW packages will be installed:
libboost-dev libboost1.83-dev
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 10.7 MB of archives.
After this operation, 161 MB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu noble-updates/main amd64
libboost1.83-dev amd64 1.83.0-2.1ubuntu3.1 [10.7 MB]
Get:2 http://archive.ubuntu.com/ubuntu noble/main amd64 libboost-dev amd64
1.83.0.1ubuntu2 [4308 B]
Fetched 10.7 MB in 2s (5018 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libboost1.83-dev:amd64.
(Reading database ... 10518 files and directories currently installed.)
Preparing to unpack .../libboost1.83-dev_1.83.0-2.1ubuntu3.1_amd64.deb ...
Unpacking libboost1.83-dev:amd64 (1.83.0-2.1ubuntu3.1) ...
Selecting previously unselected package libboost-dev:amd64.
Preparing to unpack .../libboost-dev_1.83.0.1ubuntu2_amd64.deb ...
Unpacking libboost-dev:amd64 (1.83.0.1ubuntu2) ...
Setting up libboost1.83-dev:amd64 (1.83.0-2.1ubuntu3.1) ...
Setting up libboost-dev:amd64 (1.83.0.1ubuntu2) ...
root@Unimatrix13-Noble:/# g++ -O0 -fdiagnostics-color=always -Wall -Wextra
-Wno-overloaded-virtual \
-Wno-deprecated -Wno-deprecated-declarations -pedantic -O3 -DNDEBUG \
-Wall -Wextra -Wno-overloaded-virtual -Wno-deprecated \
-Wno-deprecated-declarations -pedantic -Werror -Wall -Wextra -Wswitch-enum \
-std=gnu++20 \
-c -o repro repro.cpp
In file included from /usr/include/boost/multiprecision/cpp_int.hpp:2342,
from repro.cpp:1:
In function 'constexpr void
boost::multiprecision::backends::left_shift_generic(Int&,
boost::multiprecision::double_limb_type) [with Int = cpp_int_backend<>]',
inlined from 'constexpr typename std::enable_if<(!
boost::multiprecision::backends::is_trivial_cpp_int<boost::multiprecision::backends::cpp_int_backend<MinBits,
MaxBits, SignType, Checked, Allocator> >::value)>::type
boost::multiprecision::backends::eval_left_shift(cpp_int_backend<MinBits,
MaxBits, SignType, Checked, Allocator>&,
boost::multiprecision::double_limb_type) [with long unsigned int MinBits1 = 0;
long unsigned int MaxBits1 = 0; boost::multiprecision::cpp_integer_type
SignType1 = boost::multiprecision::signed_magnitude;
boost::multiprecision::cpp_int_check_type Checked1 =
boost::multiprecision::unchecked; Allocator1 = std::allocator<long long
unsigned int>]' at /usr/include/boost/multiprecision/cpp_int/bitwise.hpp:512:25,
inlined from 'constexpr typename std::enable_if<(!
boost::multiprecision::backends::is_trivial_cpp_int<boost::multiprecision::backends::cpp_int_backend<MinBits,
MaxBits, SignType, Checked, Allocator> >::value)>::type
boost::multiprecision::backends::eval_left_shift(cpp_int_backend<MinBits,
MaxBits, SignType, Checked, Allocator>&,
boost::multiprecision::double_limb_type) [with long unsigned int MinBits1 = 0;
long unsigned int MaxBits1 = 0; boost::multiprecision::cpp_integer_type
SignType1 = boost::multiprecision::signed_magnitude;
boost::multiprecision::cpp_int_check_type Checked1 =
boost::multiprecision::unchecked; Allocator1 = std::allocator<long long
unsigned int>]' at /usr/include/boost/multiprecision/cpp_int/bitwise.hpp:464:1,
inlined from 'constexpr typename
std::enable_if<(boost::multiprecision::detail::is_integral<Arithmetic>::value
&& (boost::multiprecision::number_category<Num>::value ==
boost::multiprecision::number_kind_integer)),
boost::multiprecision::number<Backend, boost::multiprecision::et_on> >::type
boost::multiprecision::operator<<(number<Backend,
boost::multiprecision::et_on>&&, const I&) [with B =
backends::cpp_int_backend<>; I = unsigned int]' at
/usr/include/boost/multiprecision/detail/et_ops.hpp:1367:19,
inlined from 'BigInt calcm(unsigned int)' at repro.cpp:6:29:
/usr/include/boost/multiprecision/cpp_int/bitwise.hpp:441:26: error: iteration
2305843009213693951 invokes undefined behavior
[-Werror=aggressive-loop-optimizations]
441 | pr[rs - 1 - i] = pr[rs - 1 - i - offset] << shift;
| ~~^
/usr/include/boost/multiprecision/cpp_int/bitwise.hpp:439:18: note: within this
loop
439 | for (; rs - i >= 2 + offset; ++i)
| ~~~~~~~^~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04.3 LTS"
root@Unimatrix13-Noble:/# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04.3 LTS"
root@Unimatrix13-Noble:/# dpkg -l |grep boost
ii libboost-dev:amd64 1.83.0.1ubuntu2 amd64
Boost C++ Libraries development files (default version)
ii libboost-iostreams1.83.0:amd64 1.83.0-2.1ubuntu3.1 amd64
Boost.Iostreams Library
ii libboost1.83-dev:amd64 1.83.0-2.1ubuntu3.1 amd64
Boost C++ Libraries development files
root@Unimatrix13-Noble:/# apt install libboost1.83-dev -t noble-proposed
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libboost-iostreams1.83.0
Suggested packages:
libboost1.83-doc libboost-atomic1.83-dev libboost-chrono1.83-dev
libboost-container1.83-dev libboost-context1.83-dev libboost-contract1.83-dev
libboost-coroutine1.83-dev
libboost-date-time1.83-dev libboost-exception1.83-dev libboost-fiber1.83-dev
libboost-filesystem1.83-dev libboost-graph-parallel1.83-dev
libboost-graph1.83-dev
libboost-iostreams1.83-dev libboost-json1.83-dev libboost-locale1.83-dev
libboost-log1.83-dev libboost-math1.83-dev libboost-mpi-python1.83-dev
libboost-mpi1.83-dev
libboost-nowide1.83-dev libboost-numpy1.83-dev
libboost-program-options1.83-dev libboost-python1.83-dev
libboost-random1.83-dev libboost-regex1.83-dev
libboost-serialization1.83-dev libboost-stacktrace1.83-dev
libboost-system1.83-dev libboost-test1.83-dev libboost-thread1.83-dev
libboost-timer1.83-dev
libboost-type-erasure1.83-dev libboost-url1.83-dev libboost-wave1.83-dev
libboost1.83-tools-dev libmpfrc++-dev libntl-dev
The following packages will be upgraded:
libboost-iostreams1.83.0 libboost1.83-dev
2 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Need to get 260 kB/11.0 MB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://archive.ubuntu.com/ubuntu noble-proposed/main amd64
libboost-iostreams1.83.0 amd64 1.83.0-2.1ubuntu3.2 [260 kB]
Fetched 260 kB in 1s (487 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
(Reading database ... 27481 files and directories currently installed.)
Preparing to unpack .../libboost-iostreams1.83.0_1.83.0-2.1ubuntu3.2_amd64.deb
...
Unpacking libboost-iostreams1.83.0:amd64 (1.83.0-2.1ubuntu3.2) over
(1.83.0-2.1ubuntu3.1) ...
Preparing to unpack .../libboost1.83-dev_1.83.0-2.1ubuntu3.2_amd64.deb ...
Unpacking libboost1.83-dev:amd64 (1.83.0-2.1ubuntu3.2) over
(1.83.0-2.1ubuntu3.1) ...
Setting up libboost1.83-dev:amd64 (1.83.0-2.1ubuntu3.2) ...
Setting up libboost-iostreams1.83.0:amd64 (1.83.0-2.1ubuntu3.2) ...
Processing triggers for libc-bin (2.39-0ubuntu8.6) ...
root@Unimatrix13-Noble:/# g++ -O0 -fdiagnostics-color=always -Wall -Wextra
-Wno-overloaded-virtual -Wno-deprecated -Wno-deprecated-declarations
-pedantic -O3 -DNDEBUG -Wall -Wextra -Wno-overloaded-virtual
-Wno-deprecated -Wno-deprecated-declarations -pedantic -Werror -Wall
-Wextra -Wswitch-enum -std=gnu++20 -c -o repro repro.cpp
root@Unimatrix13-Noble:/#
root@Unimatrix13-Noble:/#
root@Unimatrix13-Noble:/# echo $?
0
Verified
** Tags removed: verification-needed
** Tags added: verification-done
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2122352
Title:
[SRU] Noble/1.83: compile error re: undefined behavior (fix available)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/boost1.83/+bug/2122352/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs