SUSEでsambaをコンパイル?
Page content
suseでSambaを入れる奇特なケースに備えて調査を行った。とりあえずconfigureが通ればコンパイルはできるだろうという仮定でやってみる。
ダウンロード https://www.samba.org/samba/download/
依存関係
ソースの中に依存関係を解決するいい感じのスクリプトを発見。
$ cd <samba-source-dir>/bootstrap/generated-dists/<distrowithversion>
$ ./bootstrap.sh
$ cd ../../../..
基本的にこれをやれば通るはず….
Opensuse15用のBootstrapは下記のとおりとなっている。 SLES12でも対して依存関係は変わらないと思われるので、これを一回流しておくのが良いはず。
#!/bin/bash
#
# This file is generated by 'bootstrap/template.py --render'
# See also bootstrap/config.py
#
set -xueo pipefail
zypper --non-interactive refresh
zypper --non-interactive update
zypper --non-interactive install \
--no-recommends \
system-user-nobody \
ShellCheck \
acl \
attr \
autoconf \
avahi-devel \
bind-utils \
binutils \
bison \
ccache \
chrpath \
crypto-policies-scripts \
cups-devel \
curl \
dbus-1-devel \
docbook-dtds \
docbook-xsl-stylesheets \
flex \
gawk \
gcc \
gdb \
git \
glib2-devel \
glibc-locale \
glusterfs-devel \
gnutls \
gnutls-devel \
gpgme-devel \
gzip \
hostname \
htop \
jq \
keyutils-devel \
krb5-client \
krb5-devel \
krb5-server \
lcov \
libacl-devel \
libarchive-devel \
libattr-devel \
libblkid-devel \
libbsd-devel \
libcap-devel \
libcephfs-devel \
libicu-devel \
libjansson-devel \
libpcap-devel \
libtasn1-devel \
libtirpc-devel \
libunwind-devel \
liburing-devel \
libuuid-devel \
libxslt \
lmdb \
lmdb-devel \
lsb-release \
make \
mingw64-gcc \
ncurses-devel \
openldap2-devel \
pam-devel \
patch \
perl \
perl-Archive-Tar-Wrapper \
perl-ExtUtils-MakeMaker \
perl-JSON \
perl-JSON-XS \
perl-Parse-Yapp \
perl-Test-Base \
pkgconfig \
popt-devel \
procps \
psmisc \
python3 \
python3-Markdown \
python3-cryptography \
python3-devel \
python3-dnspython \
python3-gpg \
python3-policycoreutils \
python3-pyasn1 \
python3-python-dateutil \
python3-requests \
python3-semanage \
python3-setproctitle \
readline-devel \
rng-tools \
rpcgen \
rpcsvc-proto-devel \
rsync \
sed \
sudo \
systemd-devel \
tar \
tracker-devel \
tree \
wget \
which \
xfsprogs-devel \
xz \
zlib-devel
zypper --non-interactive clean
if [ -f /usr/lib/mit/bin/krb5-config ]; then
ln -sf /usr/lib/mit/bin/krb5-config /usr/bin/krb5-config
GCPで標準で利用可能なリポジトリでインストールができた。 標準で追加されているリポジトリは下記の通り。
社内のリポジトリサーバに阻まれている人は、似たような名称のリポジトリを追加しておこう。
# | Alias | Name |
---|---|---|
1 | repo-backports-debug-update | Update repository with updates for openSUSE Leap debuginfo packages from openSUSE Backports |
2 | repo-backports-update | Update repository of openSUSE Backports |
3 | repo-debug | Debug Repository |
4 | repo-debug-update | Update Repository (Debug) |
5 | repo-non-oss | Non-OSS Repository |
6 | repo-oss | Main Repository |
7 | repo-sle-debug-update | Update repository with debuginfo for updates from SUSE Linux Enterprise 15 |
8 | repo-sle-update | Update repository with updates from SUSE Linux Enterprise 15 |
9 | repo-source | Source Repository |
10 | repo-update | Main Update Repository |
11 | repo-update-non-oss | Update Repository (Non-Oss) |
この状態でconfigureを通してみる。
Checking configure summary : ok
Checking compiler for PIE support : yes
Checking compiler for full RELRO support : yes
Checking if compiler accepts -fstack-protector-strong : no
Checking if compiler accepts -fstack-protector : no
Checking if compiler accepts -fstack-clash-protection : yes
'configure' finished successfully (4m27.545s)
依存関係が通ったっぽいので
make -j 2
コンパイルが進んでいるので、まあ多分きっとOKでしょう。