Sambaをしばらく放置しており、かなりバージョンが上がっていたので、アップデートしました。
その時のメモを記載します。
パッケージが不足
詳細は忘れてしまいましたが、いつだったか依存関係の問題があり、一部パッケージを削除していました。
powertools レポジトリの有効化して、インストールし直しました。
./configure (略) GPGME support not found. Try installing libgpgme11-dev or gpgme-devel and python-gpgme. Otherwise, use --without-gpgme to build without GPGME support or --without-ad-dc to build without the Samba AD DC. GPGME support is required for the GPG encrypted password sync feature (complete log in /root/samba-4.14.2/bin/config.log)
dnf config-manager --enable powertools dnf install gpgme-devel
./configure (略) libarchive support not found. Try installing libarchive-dev or libarchive-devel. Otherwise, use --without-libarchive to build without libarchive support. libarchive support is required for the smbclient tar-file mode (complete log in /root/samba-4.14.2/bin/config.log)
dnf install libarchive-devel
python3-markdown
これは今まで要求されなかったと思います。
./configure (略) Unable to find Python module 'markdown'. Please install the system package: python3-markdown'.
dnf install python3-markdown
make通らず
以下の通り、makeが通りませんでした。
make (略) [380/431] Compiling source4/heimdal/lib/asn1/lex.l Waf: Leaving directory `/root/samba-4.14.2/bin/default' Build failed Traceback (most recent call last): File "/root/samba-4.14.2/third_party/waf/waflib/Context.py", line 452, in cmd_and_log ret, out, err = Utils.run_process(cmd, kw, cargs) File "/root/samba-4.14.2/third_party/waf/waflib/Utils.py", line 992, in run_process return run_prefork_process(cmd, kwargs, cargs) File "/root/samba-4.14.2/third_party/waf/waflib/Utils.py", line 927, in run_prefork_process raise Exception(trace) Exception: ['--noline', '../../source4/heimdal/lib/asn1/lex.l'] Traceback (most recent call last): File "<string>", line 37, in run File "/usr/lib64/python3.6/subprocess.py", line 729, in __init__ restore_signals, start_new_session) File "/usr/lib64/python3.6/subprocess.py", line 1364, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: '--noline': '--noline' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/root/samba-4.14.2/third_party/waf/waflib/Task.py", line 350, in process ret = self.run() File "./buildtools/wafsamba/samba_waf18.py", line 29, in flexfun txt = bld.cmd_and_log(lst, cwd=tsk.get_cwd(), env=env.env or None, quiet=0) File "/root/samba-4.14.2/third_party/waf/waflib/Context.py", line 454, in cmd_and_log raise Errors.WafError('Execution failure: %s' % str(e), ex=e) waflib.Errors.WafError: Execution failure: ['--noline', '../../source4/heimdal/lib/asn1/lex.l'] Traceback (most recent call last): File "<string>", line 37, in run File "/usr/lib64/python3.6/subprocess.py", line 729, in __init__ restore_signals, start_new_session) File "/usr/lib64/python3.6/subprocess.py", line 1364, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: '--noline': '--noline'
情報が見つからず困っていましたが、本日、丁度よく以下のコード修正がありました。
https://github.com/samba-team/samba/commit/942c0d2128cb8e64a9354dde6bdae82a1c1c3d88
結局の所、flexが入っていないと起こるようです。
コードを修正し、./configureをすると以下のように、flexが要求されるようになりました。
Checking for program 'flex' : not found Embedded Heimdal build requires flex but it was not found. Install flex or use --with-system-mitkrb5 or --with-system-heimdalkrb5 (complete log in /root/samba-4.14.2/bin/config.log)
dnf install flex
flexを入れればコードを修正しなくても、./configure && make が通ります。