Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
странные зависимости emerge
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Russian
View previous topic :: View next topic  
Author Message
antidesigner
n00b
n00b


Joined: 22 Apr 2004
Posts: 12

PostPosted: Tue Apr 27, 2004 3:23 am    Post subject: странные зависимости emerge Reply with quote

При попытке собрать ppp или, например, mpg123 emerge пытается cобрать около 50 зависимых пакетов, среди которых gcc, perl, python и многие другие, входящие в состав stage3 и соответственно уже установленные.
Можно как-нибудь избежать скачивания и сборки приложений, которые уже и так установлены, но не через портеджи?
И еще, меня сильно удивило такое кол-во зависимостей для простого консольного приложения. К примеру в портах FreeBSD mpg123 имеет всего две зависимости, а в генту чтобы собрать из портеджей мало-мальски рабочую консольную систему запаришься качать с модема.
Back to top
View user's profile Send private message
norguhtar
n00b
n00b


Joined: 17 May 2003
Posts: 46
Location: Russia

PostPosted: Tue Apr 27, 2004 4:18 am    Post subject: Reply with quote

если ты обновил дерево portage и еще выставил в make.conf флаг KEYWORDS="~x86" после этого пытаешься поставить mpg123. Вполне возможно что gentoo захочет обновить систему. Что emerge -p system выдает? Не все ли якобы необходимые пакеты ?
Back to top
View user's profile Send private message
antidesigner
n00b
n00b


Joined: 22 Apr 2004
Posts: 12

PostPosted: Wed Apr 28, 2004 3:04 am    Post subject: Reply with quote

дерево портеджей свежее, в make.conf стоит ACCEPTED_KEYWORDS="x86"

видимо все так, как ты говоришь и emerge вначале пытается обновить портеджи system.. но можно ли сделать чтобы этого не происходило и собирались только действительно необходимые портеджи? я поигрался с USE и ACCEPTED_KEYWORDS, но толку было мало, все равно куча лишних зависимостей.
Back to top
View user's profile Send private message
norguhtar
n00b
n00b


Joined: 17 May 2003
Posts: 46
Location: Russia

PostPosted: Wed Apr 28, 2004 6:18 am    Post subject: Reply with quote

для начала посмотреть зависимости в самом ebuild mpg123.
Ну от system зависимостей можно избавится откатившись на старое дерево портеджей. Больше никак. К сожалению gentoo предназначен для людей с широкополсным доступом =). Ууу буржуи =).

PS ACCEPTED_WORDS="x86"никакого эффекта не дает. Дает только ACCEPTED_WORDS="~x86" можешь его закоментить. И попробовать еще раз. Да для выставки флагов рекомендую поставить ufed.
Back to top
View user's profile Send private message
POMAH007
n00b
n00b


Joined: 22 Nov 2002
Posts: 22
Location: Russia, West Siberia

PostPosted: Wed Apr 28, 2004 11:20 am    Post subject: Reply with quote

а если --nodeps попробовать? Я, правда, сам его не пробовал...
Back to top
View user's profile Send private message
EvgGad
n00b
n00b


Joined: 20 Jan 2003
Posts: 21
Location: Estonia

PostPosted: Wed Apr 28, 2004 1:05 pm    Post subject: Reply with quote

Мщжет у тебя с базой чегойто не того... Потому что у mpg123 в (R)DEPEND в ebuild только sed какойто,
_________________
staY haRd, staY uP f0rEvEr!
Back to top
View user's profile Send private message
icedank
Apprentice
Apprentice


Joined: 15 Apr 2004
Posts: 190

PostPosted: Wed Apr 28, 2004 2:38 pm    Post subject: Reply with quote

1. Если уверен что всё OK, то emerge -O mpg123

2. Если у тя какой-то пакет (gcc например) поставлен (со stage3 например) то можешь его заинжектить (man emerge). Но вроде бы после инсталяции со stage3 все пакеты должны в /var/db/pkg быть... Но я могу ошибаться - ниразу ни stage2 ни stage3 не использовал.

3. Ставится надо со stage1... Во избежания
Back to top
View user's profile Send private message
POMAH007
n00b
n00b


Joined: 22 Nov 2002
Posts: 22
Location: Russia, West Siberia

PostPosted: Wed Apr 28, 2004 3:15 pm    Post subject: Reply with quote

EvgGad wrote:
Мщжет у тебя с базой чегойто не того... Потому что у mpg123 в (R)DEPEND в ebuild только sed какойто,

А sed еще чей-то хочет. Так потихоньку придется всю систему обновлять ;)
Back to top
View user's profile Send private message
antidesigner
n00b
n00b


Joined: 22 Apr 2004
Posts: 12

PostPosted: Thu Apr 29, 2004 3:12 am    Post subject: Reply with quote

как я ставил генту:
1) слил stage3 2004.0 и свежий portage
2) с live cd 1.4 создал разделы, скопировал все куда надо и настроил
3) собрал свежее ядро 2.6.6-rc1 из свежего дерева портеджей (причем при установке с live cd с зависимостями все было ок. сейчас, загрузившись с винта попробовал сделать тоже самое - те же 50 левых зависимостей)

насколько я понял из ответов в этой теме в генту ситуация такая, что например если после обновления дерева портеджей самая последней версия портеджа входящего в system изменилась с somesysportage-1.3-r4 на somesysportage-1.3-r5, то при установке любого другого портеджа someportage придется обновить и этот somesysportage, хотя для someportage совершенно пофигу на версию somesysportage, т.к. он его либо не требует совсем, либо для нормальной работы нужна версия например не ниже 1.2?
т.е. чтобы что-то поставить из дерева портеджей нужно чтобы версии всех портеджей system этого дерева были равны всем установленным в системе портеджам system?
Back to top
View user's profile Send private message
POMAH007
n00b
n00b


Joined: 22 Nov 2002
Posts: 22
Location: Russia, West Siberia

PostPosted: Thu Apr 29, 2004 6:27 am    Post subject: Reply with quote

Не-а! Не совсем. Скажем, обновился openssl, а Вы хотите обновить openssh. openssh для работы требует openssl, а поскольку система видит, что есть более новая версия openssl, то она и его тоже будет обновлять.
Указание версии в зависимостях бывают, но не очень часто.
Back to top
View user's profile Send private message
norguhtar
n00b
n00b


Joined: 17 May 2003
Posts: 46
Location: Russia

PostPosted: Thu Apr 29, 2004 10:21 am    Post subject: Reply with quote

antidesigner wrote:
как я ставил генту:
1) слил stage3 2004.0 и свежий portage
2) с live cd 1.4 создал разделы, скопировал все куда надо и настроил
3) собрал свежее ядро 2.6.6-rc1 из свежего дерева портеджей (причем при установке с live cd с зависимостями все было ок. сейчас, загрузившись с винта попробовал сделать тоже самое - те же 50 левых зависимостей)

в chroot все было ок ?
Если так просмотри свои USE флаги.

antidesigner wrote:

т.е. чтобы что-то поставить из дерева портеджей нужно чтобы версии всех портеджей system этого дерева были равны всем установленным в системе портеджам system?

Иногда да, но не всегда. См пост выше.
Back to top
View user's profile Send private message
antidesigner
n00b
n00b


Joined: 22 Apr 2004
Posts: 12

PostPosted: Fri Apr 30, 2004 2:33 am    Post subject: Reply with quote

на самом деле это я сильно облажался..

когда создавал разделы, создал отдельный раздел под /var, а перед тем как stage3 распаковывать примаунтить его забыл, хотя в fstab прописал. вот и получилось, что у меня с самого начал /var пустой был, и никакой базы установленных портеджей не было, поэтому emerge и пытался каждый раз систему собрать. сейчас скопировал базу портдежей из stage3 и все стало ок, никаких левых зависимостей нет.
Back to top
View user's profile Send private message
Bash[DevNull]
Guru
Guru


Joined: 10 Oct 2003
Posts: 333

PostPosted: Sun May 23, 2004 3:06 am    Post subject: Reply with quote

POMAH007 wrote:
Не-а! Не совсем. Скажем, обновился openssl, а Вы хотите обновить openssh. openssh для работы требует openssl, а поскольку система видит, что есть более новая версия openssl, то она и его тоже будет обновлять.
Указание версии в зависимостях бывают, но не очень часто.


И опять не так. Если в зависимостях присутствует пакет без версии и он уже установлен, то он пересобираться не будет, даже если есть его более новая версия.

К примеру, многие могут быть удивлены, тем что у них стоит старая qt/gtk+. Все дело в том, что они обычно ставятся у людей по зависимостям от какого-либо пакета, и из-за этого в world файл они не прописыавются. Так что все обвноления проходят мимо них, пока какой-либо пакет явно этого не захочет, указав в зависимостях версию.

А вот и proof-of-concept
Code:
blackhole portage # emerge -pU world
>>> --upgradeonly implies --update... adding --update to options.

These are the packages that I would merge, in order:

Calculating world dependencies ...done!
[ebuild     U ] sys-apps/man-pages-1.67 [1.66]
[ebuild     U ] app-dicts/aspell-en-0.51.1 [0.51.0]

blackhole portage # emerge -pUD world
>>> --upgradeonly implies --update... adding --update to options.

These are the packages that I would merge, in order:

Calculating world dependencies ...done!
[ebuild     U ] dev-python/python-fchksum-1.7.1 [1.6.1-r1]
[ebuild     U ] media-libs/libpng-1.2.5-r6 [1.2.5-r4]
[ebuild     U ] gnome-base/librsvg-2.6.4 [2.4.0-r1]
[ebuild     U ] dev-libs/libIDL-0.8.3 [0.8.2]
[ebuild     U ] sys-apps/man-pages-1.67 [1.66]
[ebuild     U ] app-dicts/aspell-en-0.51.1 [0.51.0]


Для тех кто не горит желанием постоянно обновлять core-packages есть возможность подправить набор этих пакетов. Для этого разыменуйте ссылку /etc/make.profile (т.е. удалите этот каталог, а заместо него скопируйте тот на который он указывает, в данном случае это /usr/portage/profiles/default-x86-*), иначе все ваши изменения пропадут после первого же ``emerge sync''. Далее отредактируйте файл /etc/make.profile/packages. К примеру, вам наплевать на новые версии sash, тогда просто закоментируйте его #*app-shells/sash или уберите ``*'' перед именем пакета.

Для тех кто живет на x86 и использует некоторые пакеты из ~x86 и их достает предложения системы на даунгред, то их можно прописать world файле (/var/cache/edb/world) в таком виде ``>=net-mail/mozilla-thunderbird-0.6-r1'' (этот пакет к сожалению marked as ~x86)
_________________
Biomechanical Artificial Sabotage Humanoid
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Russian All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum