3.48.0 release: lack of substitution in Libs.private of sqlite3.pc
(1) By Even Rouault (rouault) on 2025-01-22 13:20:25 [source]
Hi I've observed a regression in the generation of the Libs.private variable of sqlite3.pc. The @LDFLAGS_xxx@ content is not substituted. This breaks static linking scenarios. Reproducer on Linux and MacOSX: - wget https://www.sqlite.org/2025/sqlite-autoconf-3480000.tar.gz - tar xvzf sqlite-autoconf-3480000.tar.gz - cd sqlite-autoconf-3480000 - mkdir build - cd build - ../configure - cat sqlite3.pc outputs: ``` # Package Information for pkg-config prefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include Name: SQLite Description: SQL database engine Version: 3.48.0 Libs: -L${libdir} -lsqlite3 Libs.private: @LDFLAGS_MATH@ @LDFLAGS_ZLIB@ @LDFLAGS_ICU@ Cflags: -I${includedir} ``` Previous version 3.47.2 has instead: "Libs.private: -lz -lm -ldl -lpthread"
(2.1) By Stephan Beal (stephan) on 2025-01-22 13:28:56 edited from 2.0 in reply to 1 [link] [source]
The @LDFLAGS_xxx@ content is not substituted. This breaks static linking scenarios.
This has since been resolved. See /forumpost/5cb625cdab.
The workaround until the next release is either to use the canonical source tree (which doesn't have this problem) or to replace the Libs.private line of sqlite3.pc.in with:
Libs.private: @LIBS@