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

Reply via email to