[SOLVED] Проблема со сборкой samba
YoukaiCat 17 Августа, 2016 - 17:42
Не собирается samba.
Часть лога:
WAF_MAKE=1 /usr/bin/python2.7 ./buildtools/bin/waf build
Waf: Entering directory `/var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/bin'
Selected system MIT krb5 libraries, Heimdal use is disabled
/var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/wscript: error: Traceback (most recent call last):
File "/var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/buildtools/wafadmin/Utils.py", line 647, in recurse
exec(compile(txt, file_path, 'exec'), dc)
File "/var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/wscript_build", line 148, in
bld.RECURSE('lib')
File "./buildtools/wafsamba/samba_utils.py", line 472, in RECURSE
return ctx.add_subdirs(relpath)
File "/var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/buildtools/wafadmin/Build.py", line 993, in add_subdirs
self.recurse(dirs, 'build')
File "/var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/buildtools/wafadmin/Utils.py", line 650, in recurse
raise WscriptError("".join(traceback.format_exception(exc_type, exc_value, tb)), base)
WscriptError: /var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/lib/wscript: error: Traceback (most recent call last):
File "/var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/buildtools/wafadmin/Utils.py", line 647, in recurse
exec(compile(txt, file_path, 'exec'), dc)
File "/var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/lib/wscript_build", line 18, in
__import__(module)
File "/usr/lib64/python2.7/site-packages/dns/resolver.py", line 35, in
import dns.message
File "/usr/lib64/python2.7/site-packages/dns/message.py", line 191
print('id %d' % self.id, file=s)
^
SyntaxError: invalid syntax
Я так понимаю, это какая-то беда с питоном? Поигрался eselect python -- не помогло.
»
- Для комментирования войдите или зарегистрируйтесь

Как всегда, надо бы:emerge
Как всегда, надо бы:
И да, - для каких целей Самба: просто десктоп или сервер в АДе?
Выполнил: https://gist.github.com/YoukaiCat/9e94db53cefe71aded46e044fe3ce664
Десктоп, хотел директорию расшарить для машины под виндой.
Вот это вот мне не нравится:
eselect видит 2 версии питона третьей ветки, фактически установлена одна. И нет звёздочки, которая есть в выводе других eselect-скриптов. Точно какой-то косяк.
Что мешает звёздочку
Что мешает звёздочку поставить?
Звёздочка всё
Как оказывается, звездочки в этом модуле больше нет.
https://wiki.gentoo.org/wiki/Project:Python/python-exec
Снёс конфиг, теперь с версиями всё в порядке:
Python version
Откуда вообще версия 3.5 взялась? Она ж нестабильна.
Testing ~amd64
Я на testing ветке.
https://packages.gentoo.org/packages/dev-lang/python
3.5 там уже давно.
Вообще-то Самба только с 2.7
Вообще-то Самба только с 2.7 собирается...
Samba 4
Попробовал предыдущие версии собрать.
4.2.11 (стабильная) не собирается
3.6.25 успешно собирается.
Значит, проблема в версиях 4 ветки.
3.6 для моих задач вполне хватит. Но это странно всё, конечно.
Да ладно!
Да ладно!
У меня сейчас
net-fs/samba-4.2.14как домен-контроллер в связке с Вин2012 работает!И
net-fs/samba-4.2.11, разумеется, также компилилась без проблем...P.S. А работать на тестовой ветке - ССЗБ! Размаскировать надо с умом и только то, что действительно нужно!
A ты доки по устаноке Самбы читал?
A ты доки по установке Самбы читал? Вот, например:
+system-mitkrb5
Ничего не поменялось, не считая "Selected system Heimdal build"
Лог:
>>> Compiling source in /var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14 ... * abi_x86_32.x86: running multilib-minimal_abi_src_compile make -j5 WAF_MAKE=1 /usr/bin/python2.7 ./buildtools/bin/waf build Waf: Entering directory `/var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/bin' Selected system Heimdal build /var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/wscript: error: Traceback (most recent call last): File "/var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/buildtools/wafadmin/Utils.py", line 647, in recurse exec(compile(txt, file_path, 'exec'), dc) File "/var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/wscript_build", line 148, in
bld.RECURSE('lib')
File "./buildtools/wafsamba/samba_utils.py", line 472, in RECURSE
return ctx.add_subdirs(relpath)
File "/var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/buildtools/wafadmin/Build.py", line 993, in add_subdirs
self.recurse(dirs, 'build')
File "/var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/buildtools/wafadmin/Utils.py", line 650, in recurse
raise WscriptError("".join(traceback.format_exception(exc_type, exc_value, tb)), base)
WscriptError: /var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/lib/wscript: error: Traceback (most recent call last):
File "/var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/buildtools/wafadmin/Utils.py", line 647, in recurse
exec(compile(txt, file_path, 'exec'), dc)
File "/var/tmp/portage/net-fs/samba-4.2.14/work/samba-4.2.14-abi_x86_32.x86/lib/wscript_build", line 18, in
__import__(module)
File "/usr/lib64/python2.7/site-packages/dns/resolver.py", line 35, in
import dns.message
File "/usr/lib64/python2.7/site-packages/dns/message.py", line 191
print('id %d' % self.id, file=s)
^
SyntaxError: invalid syntax
FYI: моя конфигурация Самбы
FYI: моя конфигурация Самбы для домен-контроллера в АДе:
[ebuild R ~] net-fs/samba-4.2.14::gentoo USE="acl addc addns ads aio client gnutls ldap pam syslog systemd winbind -avahi -cluster -cups -dmapi -fam -iprint -quota (-selinux) -system-mitkrb5 {-test}" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7" 0 KiBДай
/var/tmp/portage/net-fs/samba-4.2.14/temp/build.logи перепроверь, что все соответствует - может забыл чего...pip install
Проблема решилась, спасибо.
Оказалось у меня через pip был установлен dnspython3, который импортировался при сборке и вызывал синтаксическую ошибку. По всей видимости, я когда-то ошибся (либо с зависимостями) и вместо dnspython (который обе версии питона поддерживает), поставил dnspython3, который есть в единственной версии и поддерживает python3.
При этом в ebuild такой зависимости нет. В вики самбы эта зависимость есть, но с пометкой "FIXME: Are dev-python/dnspython net-dns/libidn still required?".
Печально, что в pip нет возможности отслеживать совместимость интерпретатора и пакета.
Пойду проверю, нет ли ещё чего-нибудь установленного вне портажа. Кстати, нет ли скрипта какого-нибудь для таких целей?
revdep-rebuild может частично
revdep-rebuildможет частично помочь, но только если программы/библиотеки сломаны (например, по зависимостям и/или некорректным библиотекам)..
Ещё где-то есть, где-то были
python-updaterиperl-cleaner.:wq
--
Live free or die