]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
cmake: build static seastar for release builds 66682/head
authorKefu Chai <k.chai@proxmox.com>
Thu, 18 Dec 2025 08:41:49 +0000 (16:41 +0800)
committerKefu Chai <k.chai@proxmox.com>
Thu, 18 Dec 2025 08:58:19 +0000 (16:58 +0800)
commit2cf8e4b095c8cdc3d583bcd570f8a5a5a27e459a
treece342fcbbe7ff3a7787017d2f0d241bb42cf6d08
parent2e87714b94a9e16c764ef6f97de50aecf1b0c41e
cmake: build static seastar for release builds

When BUILD_SHARED_LIBS is set, seastar inherits this setting from the
parent CMake project, causing crimson to link against libseastar.so.
While this works in development environments, it breaks package
installation because libseastar.so is not included in the distribution:

```
  can't install ceph-crimson-osd:
    - nothing provides libseastar.so()(64bit) needed by
      ceph-crimson-osd-2:20.2.0-2.fc44.x86_64

  can't install ceph-osd:
    - nothing provides libseastar.so()(64bit) needed by
      ceph-osd-2:20.2.0-2.fc44.x86_64

  can't install ceph-test:
    - nothing provides libseastar.so()(64bit) needed by
      ceph-test-2:20.2.0-2.fc44.x86_64
```

Force seastar to build as a static library regardless of the parent
project's BUILD_SHARED_LIBS setting. This fixes the packaging issue
and provides a modest performance improvement by eliminating PLT/GOT
indirection overhead for seastar function calls.

Fixes: https://tracker.ceph.com/issues/74138
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
src/CMakeLists.txt