[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, inbld.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"
Лог:
FYI: моя конфигурация Самбы
FYI: моя конфигурация Самбы для домен-контроллера в АДе:
Дай
/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