Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

install-dependencies.sh: add more packages for static linkage #1997

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Commits on Dec 11, 2023

  1. install-dependencies.sh: add libudev-dev and systemd-devel

    Seastar supports both static and dynamic linkage. and we have
    command line example in README.md to statically link against
    Seastar. this means, all of its linkages are statically linked.
    
    if hwloc is statically linked. it would bring into libudev, See
    
    ```
    $ pkg-config --libs --cflags --static hwloc
    -lhwloc -lm -ludev -lpthread
    ```
    on Debian and its derivative distros, libudev.so is packaged in
    libudev-dev, while on Fedora and its derivative distros, libudev.so
    in systemd-devel.
    
    in this change, these packages are included in install-dependencies.sh,
    so the building system can have access to them when linking Seastar
    statically. please note, these packages are not dependencies of
    libhwloc-dev or hwloc-devel. Because, in general, distro packacage
    guidelines encourage maintainers to package shared library if possible,
    and reuse the shared libraries redistributed by the distro whenever
    appropriate.
    
    Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
    tchaikov committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    3cd63c8 View commit details
    Browse the repository at this point in the history
  2. install-dependencies.sh: add libunistring-{dev,devel}

    Seastar supports both static and dynamic linkage. and in README.md,
    we have a command line example to statically link against Seastar.
    this means, all of its linkages are statically linked.
    
    if gnutls is statically linked. it would bring into libunistring, See
    
    ```
    pkg-config --libs --cflags --static gnutls
    -I/usr/include/p11-kit-1 -lgnutls -lgmp -lunistring -latomic -lnettle -lhogweed -lgmp -lnettle -ltasn1 -lidn2 -lunistring -lp11-kit
    ```
    
    in this change, these packages are included in install-dependencies.sh,
    so the building system can have access to them when linking Seastar
    statically. please note, these packages are not dependencies of
    libhwloc-dev or hwloc-devel. Because, in general, distro packacage
    guidelines encourage maintainers to package shared library if possible,
    and reuse the shared libraries redistributed by the distro whenever
    appropriate.
    
    Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
    tchaikov committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    018291d View commit details
    Browse the repository at this point in the history