-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Description
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 8shows38 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 8shows38 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)
Metadata
Metadata
Assignees
Labels
No labels