pg.ddx.io  pgsql-pkg-debian@postgresql.org mailing list archive  
help / color / mirror / Atom feed
Updating libpqxx to 8.0.1
3+ messages / 2 participants
[nested] [flat]

* Updating libpqxx to 8.0.1
@ 2026-05-15 05:37  Bradford Boyle <bradford.d.boyle@gmail.com>
  0 siblings, 2 replies; 3+ messages in thread

From: Bradford Boyle @ 2026-05-15 05:37 UTC (permalink / raw)
  To: pgsql-pkg-debian@lists.postgresql.org

Hi All,

There is a new major version (8.x) of libpqxx available and I have spent
a bit of time over the past couple of days looking at what would be
involved in updating the Debian package to this new version. Below you
will find a summary of my findings and some initial work that I have
done to prepare for packaging the new version of libpqxx. I don't think
it makes sense to update the package just yet since a couple of reverse
dependencies need to be updated upstream and in Debian in order to
support building and linking against libpxx 8.x. I wanted to share my
findings here and ask if there is anything that I have overlooked in my
investigation.

Many thanks
--
Bradford

* libpqxx has released a new major version
  * 8.0.0 was released 2026-02-23
  * 8.0.1 was released 2026-04-04
  * Requires compiling with at least C++20
  * Updating the Debian packaging appears to be straightforward; I have
    updated the packaging locally and successfully built with sbuild.

Using build-rdeps, I have identified four packages that depend on
libpqxx-dev. They are:

* quickfix
  * libpqxx-dev is listed as a Build-Depends but it appears to be unused
    (currently nor historically)
  * Should _probably_ build-depend on libpq-dev if PostgreSQL
    functionality is wanted
  * #1136714 - quickfix: remove build dependency on libpqxx-dev
* hipercontracer
  * Already supports building against libpqxx 8+
  * Still sets C++17 for Debian builds
  * Minor change in CMakeLists.txt to conditionally set C++20 based on
    the detected version
  * https://github.com/dreibh/hipercontracer/pull/4
* osm2pgrouting
  * Minor change in CMakeLists.txt to conditionally set C++20 based on
    the detected version
  * https://github.com/pgRouting/osm2pgrouting/pull/328
* sqlsmith
  * Requires the most extensive set of changes to support compiling
    against libpqxx 8+
  * Submitted an initial PR to upstream
  * https://github.com/anse1/sqlsmith/pull/63

None of the rdeps have reverse dependencies themselves.

* GCC 15 defaults to C++17
  * Default form 11 to 15
* C++20 was not stable until GCC 16
* The documentation for C++ Standards Support in GCC indicates that
  most/several C++20 features are supported in GCC 11+
  * Debian bookworm gcc 12
  * Debian trixie gcc 14
  * Ubuntu jammy gcc 11
   * Ubuntu noble gcc 13





^ permalink  raw  reply  [nested|flat] 3+ messages in thread

* Re: Updating libpqxx to 8.0.1
@ 2026-05-15 08:41  Christoph Berg <myon@debian.org>
  parent: Bradford Boyle <bradford.d.boyle@gmail.com>
  1 sibling, 0 replies; 3+ messages in thread

From: Christoph Berg @ 2026-05-15 08:41 UTC (permalink / raw)
  To: Bradford Boyle <bradford.d.boyle@gmail.com>; +Cc: pgsql-pkg-debian@lists.postgresql.org

Re: Bradford Boyle
> There is a new major version (8.x) of libpqxx available and I have spent
> a bit of time over the past couple of days looking at what would be
> involved in updating the Debian package to this new version. Below you
> will find a summary of my findings and some initial work that I have
> done to prepare for packaging the new version of libpqxx. I don't think
> it makes sense to update the package just yet since a couple of reverse
> dependencies need to be updated upstream and in Debian in order to
> support building and linking against libpxx 8.x. I wanted to share my
> findings here and ask if there is anything that I have overlooked in my
> investigation.

Hi Bradford,

thanks for working on this!

I think we should upload the new version to experimental. That way, we
don't immediately break things but maintainers can pull it from there
to check their packages.

> * sqlsmith
>   * Requires the most extensive set of changes to support compiling
>     against libpqxx 8+
>   * Submitted an initial PR to upstream
>   * https://github.com/anse1/sqlsmith/pull/63

I can take care of that part, the author is a colleague.
(pgconf.dev is next week, not sure if I'll have time before it.)

Christoph





^ permalink  raw  reply  [nested|flat] 3+ messages in thread

* Re: Updating libpqxx to 8.0.1
@ 2026-05-15 17:28  Christoph Berg <myon@debian.org>
  parent: Bradford Boyle <bradford.d.boyle@gmail.com>
  1 sibling, 0 replies; 3+ messages in thread

From: Christoph Berg @ 2026-05-15 17:28 UTC (permalink / raw)
  To: Bradford Boyle <bradford.d.boyle@gmail.com>; +Cc: pgsql-pkg-debian@lists.postgresql.org

Since I wanted to test sqlsmith against the new libpqxx, I went ahead
and packaged it. Thanks for the analysis, that helped!

> * libpqxx has released a new major version
>   * Requires compiling with at least C++20

I had to "export DEB_CXXFLAGS_MAINT_APPEND = -std=gnu++20" to make it
work but the rest didn't require extra poking.

> * C++20 was not stable until GCC 16
> * The documentation for C++ Standards Support in GCC indicates that
>   most/several C++20 features are supported in GCC 11+

>   * Debian bookworm gcc 12

Bookworm fails because its libstc++-12-dev is missing the "format" header.

(Bullseye fails because libpqxx wants autoconf 2.71. I did not
investigate further since bookworm already fails.)

>   * Ubuntu jammy gcc 11

It looks like jammy's autoconf-archive package is too old:

error: invalid first argument `20' to AX_CXX_COMPILE_STDCXX

But let's ignore that, it's EOL next year.

>    * Ubuntu noble gcc 13

That worked.

Christoph





^ permalink  raw  reply  [nested|flat] 3+ messages in thread


end of thread, other threads:[~2026-05-15 17:28 UTC | newest]

Thread overview: 3+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2026-05-15 05:37 Updating libpqxx to 8.0.1 Bradford Boyle <bradford.d.boyle@gmail.com>
2026-05-15 08:41 ` Christoph Berg <myon@debian.org>
2026-05-15 17:28 ` Christoph Berg <myon@debian.org>

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox