Description
The prebuilt bottle for timescaledb 2.24.0 on arm64 macOS contains binaries
compiled against PostgreSQL 18 headers, despite the formula declaring
depends_on "postgresql@17".
To Reproduce
brew install timescaledb (downloads bottle and installs postgresql@17 dependency)
- Add
shared_preload_libraries = 'timescaledb' to postgresql.conf
brew services restart postgresql@17
- Check logs:
FATAL: incompatible library: version mismatch. Server is version 17, library is version 18
Evidence
The Pg_magic_data struct in the bottled binary shows PG_VERSION_NUM = 1800 (PG18):
- Bottle binary:
xxd -s 0x4b30 -l 8 shows 38 00 00 00 08 07 00 00
- 0x0708 = 1800 decimal = PostgreSQL 18
A manual build from source produces the correct PG17 binary:
- Manual build:
xxd -s 0x69a64 -l 8 shows 38 00 00 00 a4 06 00 00
- 0x06a4 = 1700 decimal = PostgreSQL 17
Workaround
Build from source manually:
git clone --depth 1 --branch 2.24.0 https://github.com/timescale/timescaledb.git
cd timescaledb
./bootstrap -DPG_CONFIG=/opt/homebrew/opt/postgresql@17/bin/pg_config
cd build && make && sudo make install
Environment
- macOS: Tahoe (Darwin 26.2)
- Architecture: arm64 (Apple Silicon)
- Homebrew timescaledb: 2.24.0
- PostgreSQL: 17.7 (Homebrew)
Description
The prebuilt bottle for timescaledb 2.24.0 on arm64 macOS contains binaries
compiled against PostgreSQL 18 headers, despite the formula declaring
depends_on "postgresql@17".To Reproduce
brew install timescaledb(downloads bottle and installs postgresql@17 dependency)shared_preload_libraries = 'timescaledb'to postgresql.confbrew services restart postgresql@17FATAL: incompatible library: version mismatch. Server is version 17, library is version 18Evidence
The Pg_magic_data struct in the bottled binary shows PG_VERSION_NUM = 1800 (PG18):
xxd -s 0x4b30 -l 8shows38 00 00 00 08 07 00 00A manual build from source produces the correct PG17 binary:
xxd -s 0x69a64 -l 8shows38 00 00 00 a4 06 00 00Workaround
Build from source manually:
git clone --depth 1 --branch 2.24.0 https://github.com/timescale/timescaledb.git
cd timescaledb
./bootstrap -DPG_CONFIG=/opt/homebrew/opt/postgresql@17/bin/pg_config
cd build && make && sudo make install
Environment