1 (13.01.2013 17:18:25 отредактировано SergMarkov)

Портировал на слаку portage, eix и layman, все работает так как надо (естественно не в полной мере как в генте, но в мере достаточной для того, что от них требуется)
Но есть два затыка:
Первый - если в ебилде есть eautoreconf, то происходит такая лажа

 *Running eautoreconf in '/var/tmp/portage/app-backup/boxbackup-0.10/work/boxbackup-0.10' ...
* ERROR: app-backup/boxbackup-0.10 failed (unpack phase):
* Cannot find the latest automake! Tried 1.11.1:1.11* 
* Call stack:* ebuild.sh, line 93: Called src_unpack
* environment, line 2791: Called eautoreconf
* environment, line 723: Called eaclocal
* environment, line 626: Called autotools_run_tool '--at-m4flags' 'aclocal'
* environment, line 472: Called autotools_env_setup
* environment, line 433: Called die
* The specific snippet of code:
* [[ ${WANT_AUTOMAKE} == «latest» ]] && die «Cannot find the latest automake! Tried ${_LATEST_AUTOMAKE}»;

при том что automake именно этой версии.

Второй - не собираются никакие питоньи пакеты (стараюсь вообще не использовать прог на нем, но порой приходится).
Ругается вот как

* '/usr/bin/python' is not valid symlink.
* Use `eselect python set ${python_interpreter}` to fix this problem.
* ERROR: app-editors/editra-0.7.12 failed (compile phase):
* '/usr/bin/python' is not valid symlink
* 
* Call stack:
* ebuild.sh, line 93: Called src_compile
* environment, line 4951: Called distutils_src_compile '--no-clean'
* environment, line 1093: Called python_execute_function 'distutils_building' '--no-clean'
* environment, line 3263: Called _python_calculate_PYTHON_ABIS
* environment, line 424: Called _python_initial_sanity_checks
* environment, line 765: Called die
* The specific snippet of code:
* die «'${EPREFIX}/usr/bin/python' is not valid symlink»;

eselect python никакого эффекта не дает

Извечные вопросы «чего ему надо» и «что делать»? Причем если второй вопрос, с питоньими пакетами, вообще то говоря не так принципиален,  можно взять скачанный архив и создать пакет для слаки, то первый, с eautoreconf,  важен, так как терять патчи как то не хочется.

2

* '/usr/bin/python' is not valid symlink.

На слаке оно обычно коротенько:

$ ls -l /usr/bin/python
/usr/bin/python -> python2.7

Может ли быть причиной ожидание подобного:

/usr/bin/python -> /usr/bin/python2.7

?

3

bormant пишет:

* '/usr/bin/python' is not valid symlink.

На слаке оно обычно коротенько:

$ ls -l /usr/bin/python
/usr/bin/python -> python2.7

Может ли быть причиной ожидание подобного:

/usr/bin/python -> /usr/bin/python2.7

?

Да нет, это все как раз уже есть. Тут скорее какие то внутренние заморочки ebuild **, он что то где то проверяет помимо линка, но что и где непонятно.

4

SergMarkov пишет:

Ругается вот как

Насколько я понял, ныне отдельно лежат /usr/bin/python2 и /usr/bin/python3
Создать симлинк на /usr/bin/python из нужной версии пробовали?
Относительно automake - собран отдельно или стоит из гентушного ебилда через portage?

Если бы люди умели пользоваться vim, find, sed и awk  то миллионы программных продуктов так никогда и не были бы созданы

5

raven_cler пишет:

Насколько я понял, ныне отдельно лежат /usr/bin/python2 и /usr/bin/python3
Создать симлинк на /usr/bin/python из нужной версии пробовали?
Относительно automake - собран отдельно или стоит из гентушного ебилда через portage?

А он и есть , линк из python2.7 на python. Там , правда, еще есть и линк python2.
А вот с automake, он из слаки. Вы думаете что обязателен именно automake из gentoo? Мне просто как то не хочется им заменять automake из слаки.

6 (13.01.2013 19:39:28 отредактировано raven_cler)

SergMarkov пишет:

А он и есть , линк из python2.7 на python

В свою очередь, в gentoo ешё лежит следующий файл:

 $ cat /etc/env.d/python/config 
python2.7

Есть вероятность, что оный тоже проверяется.
Да, прошу прощения. symlink в gentoo выглядит так:

$ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 14 нояб. 13 22:48 /usr/bin/python -> python-wrapper
SergMarkov пишет:

Вы думаете что обязателен именно automake из gentoo?

Я полагаю, что проблема может быть в этом.

Если бы люди умели пользоваться vim, find, sed и awk  то миллионы программных продуктов так никогда и не были бы созданы

7

raven_cler пишет:

Я полагаю, что проблема может быть в этом.

Так по идее так оно и есть) это пакет eselect-python как бы нужен.

Ну а для automake, нужен пакет automake-wrapper, это скрипт, позволяющий держать несколько версий automake
т.е. сам файл automake, это скрипт, бинарник из самого пакета automake обычно с версией (automake-1.11)
Скрипт по умолчанию использует старшую версию, но можно еще использовать и более младшую используя переменную WANT_AUTOMAKE

8 (13.01.2013 20:31:22 отредактировано SergMarkov)

raven_cler пишет:

В свою очередь, в gentoo ешё лежит следующий файл:

 $ cat /etc/env.d/python/config 
python2.7

Есть вероятность, что оный тоже проверяется.

Он есть, но там только одна строка - python2.7

raven_cler пишет:

Да, прошу прощения. symlink в gentoo выглядит так:

$ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 14 нояб. 13 22:48 /usr/bin/python -> python-wrapper

Можно поподробнее, это просто симлинк или какой то специфичный враппер, потому что простой симлинк проблему не решает
Он его просто не видит, даже при выборе с eselect-python

 * ERROR: app-editors/editra-0.7.08 failed (compile phase):
 *   _python_calculate_PYTHON_ABIS(): 'dev-lang/python' is not installed
raven_cler пишет:

Я полагаю, что проблема может быть в этом.

Тогда попробую собрать из portage, хотя бы посмотреть, чем они отличаются.

9

ormorph пишет:

Я полагаю, что проблема может быть в этом.
Так по идее так оно и есть) это пакет eselect-python как бы нужен.

Да вот с ним как то и не получалось, то есть выбор делается, но ошибка по прежнему появляется

ormorph пишет:

Ну а для automake, нужен пакет automake-wrapper, это скрипт, позволяющий держать несколько версий automake
т.е. сам файл automake, это скрипт, бинарник из самого пакета automake обычно с версией (automake-1.11)
Скрипт по умолчанию использует старшую версию, но можно еще использовать и более младшую используя переменную WANT_AUTOMAKE

Если его нет, то ebuild не видит automake даже из gentoo или он все таки необязателен ?

10 (13.01.2013 20:50:36 отредактировано SergMarkov)

Вопрос с automake решился его пересборкой из portage и парой симлинков, но  питон , увы, не видит даже с eselect-python

11

SergMarkov пишет:

Можно поподробнее, это просто симлинк или какой то специфичный враппер

Вроде как просто симлинк на враппер, устанавливающийся с eselect-python

Если бы люди умели пользоваться vim, find, sed и awk  то миллионы программных продуктов так никогда и не были бы созданы

12 (13.01.2013 21:22:54 отредактировано SergMarkov)

raven_cler пишет:

Вроде как просто симлинк на враппер, устанавливающийся с eselect-python

Сделал eselect python set python2.7, симлинк на враппер, все равно не видит.
А за пересборку automake thanks :-), теперь все нормально. Там потребовалось всего пара симлинков

13

SergMarkov пишет:

Сделал eselect python set python2.7, симлинк на враппер, все равно не видит.

А сам рутной через портаж собран или слаковский?
Ибо, опять же, мало ли...

Если бы люди умели пользоваться vim, find, sed и awk  то миллионы программных продуктов так никогда и не были бы созданы

14

raven_cler пишет:

А сам рутной через портаж собран или слаковский?
Ибо, опять же, мало ли...

Слаковский. Но если отличие в automake в пакетах генты и слаки в том, что в первом нет пустой папочке /usr/share/aclocal .. и пары симлинков, чего ему там не нравилось непонятно, то пересобирать в случае чего всю эту кашу , не, ей богу, проще запустить скрипт для сборки этих пакетов из сорцов в  /usr/portage/distfiles, чем пересобирать все это хозяйство.
Но, thanks, еще раз за automake :-)

15

по поводу python'а всё просто должно решаться:
python.eclass:

 337 _python_initial_sanity_checks() {
 338     if [[ "$(declare -p PYTHON_SANITY_CHECKS_EXECUTED 2> /dev/null)" != "declare -- PYTHON_SANITY_CHECKS_EXECUTED="* || " ${FUNCNAME[@]:1} " =~ " "(python_set_active_version|python_pkg_setup)" " && -z      "${PYTHON_SKIP_SANITY_CHECKS}" ]]; then
 339         # Ensure that /usr/bin/python and /usr/bin/python-config are valid.
 340         if [[ "$(readlink "${EPREFIX}/usr/bin/python")" != "python-wrapper" ]]; then
 341             eerror "'${EPREFIX}/usr/bin/python' is not valid symlink."
 342             eerror "Use \`eselect python set \${python_interpreter}\` to fix this problem."
 343             die "'${EPREFIX}/usr/bin/python' is not valid symlink"
 344         fi
 345         if [[ "$(<"${EPREFIX}/usr/bin/python-config")" != *"Gentoo python-config wrapper script"* ]]; then
 346             eerror "'${EPREFIX}/usr/bin/python-config' is not valid script"
 347             eerror "Use \`eselect python set \${python_interpreter}\` to fix this problem."
 348             die "'${EPREFIX}/usr/bin/python-config' is not valid script"
 349         fi
 350     fi
 351 }

т.е. просто PYTHON_SKIP_SANITY_CHECKS=1 куда-нить в make.conf запихнуть надо.

c autotools сложнее: там екласс проверяет, какие версии установлены через portage... самое простое где-нить в среде указать самому WANT_AUTOMAKE="<версия>"

95% процентов проблем находятся между клавиатурой и стулом.

16

Fat-Zer пишет:

т.е. просто PYTHON_SKIP_SANITY_CHECKS=1 куда-нить в make.conf запихнуть надо.

Не проходит, к сожалению Наверное в генте другое расположение файлов питона, чем в слаке

17

SergMarkov пишет:

Не проходит, к сожалению Наверное в генте другое расположение файлов питона, чем в слаке

та же ошибка или другая?
если через ebuild собираешь, то clean не забыл сделать?
и посмотри, появляется ли эта декларация в ${T}/environment

95% процентов проблем находятся между клавиатурой и стулом.

18

Fat-Zer пишет:

та же ошибка или другая?
если через ebuild собираешь, то clean не забыл сделать?

Та же, он просто не видит питон, вообще. Делал.

Fat-Zer пишет:

и посмотри, появляется ли эта декларация в
${T}/environment

А это как ? Я же в генте полный .. :-)

19

SergMarkov пишет:

А это как ? Я же в генте полный .. :-)

man 5 ebuild к ознакомлению...

T="${PORTAGE_TMPDIR}/portage/${CATEGORY}/${PF}/temp"
в общем должно понятно, где искать...
кроме того обычный portage выводит, что желательно запостить при запросе саппорта...

ЗЫ: ладно... до завтра...

95% процентов проблем находятся между клавиатурой и стулом.