Блокировка пакетов при обновлении системы.
deFINE 31 мая, 2007 - 12:33
При попытке обновить систему с помощью (emerge -DNpv world) получаю блокировку одного пакета:
[blocks B ] =sys-devel/gcc-3.3* (is blocking app-emulation/emul-linux-x86-compat-1.0-r3)
Но у меня в системе установлен gcc-4.1.2, а gcc-3.3* никогда и не стояло:
define@deFINE ~ $ emerge -Cpv gcc >>> These are the packages that would be unmerged: !!! 'sys-devel/gcc' is part of your system profile. !!! Unmerging it may be damaging to your system. sys-devel/gcc selected: 4.1.2 protected: none omitted: none >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed.
Пакет emul-linux-x86-compat я разобрал, но система все равно пытается его поставить, что приводит к блокировке пакета и прекращению обновления.
Подкскажите, пожалуйста, как решить эту проблему?
»
- Для комментирования войдите или зарегистрируйтесь
тут наоборот
тут наоборот вроде - кому-то нужет гцц33 ты -t добавь и посмотри кто кому нужен
В ебилдах не
В ебилдах не должны быть прописаны зависимости от определенных версий gcc, такова политика написания ебилдов. В частности из-за того, что если и вытянется другая версия, сборка на нее не переключится.
Так что если где-то прописали, можно в багзилу постить.
Получается так:
Самое
Самое интересное осталось выше.
Вот полный вывод.
Quote: [nomerge ]
Похоже баг. Поищите в багзилле что-нибудь на эту тему...
Забыл сказать.
Да, забыл сказать, что перед попыткой обновления я обновил профайл на
[6] default-linux/amd64/2007.0/desktop *
Было замечено.
Еще заметил странную вещь. В какой-то момент перестали выполняться некоторые приложения (skype, firefox) с ошибкой: "error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory". При попытке собрать libstdc++ тянется тот самый gcc-3.*:
Спросил у знакомого что за косяк, он ответил, что много раз уже такое было и он это решал пересборкой мира с лив сд... Но до таких крайностей не хочется доводить.
У меня тоже
У меня тоже кто-то потянул каку недавно, разбираться не стал решил так:
1) Посатвил руками
sys-libs/libstdc++-v3
2) прописал в /etc/portage/profile/package.provided:
sys-devel/gcc-3.3.6-r1
проблем не заметил пока, всё компилиться нормально и запускается, пакет больше не просит никто.
Re: У меня тоже
А что это за файлик такой?
man portage:
man portage:
package.provided
A list of packages (one per line) that portage should assume have
been provided. Useful for porting to non-Linux systems. Portage
will not attempt to update a package that is listed here unless
another package explicitly requires a version that is newer than
what has been listed. Basically, it's a list that replaces the
emerge --inject syntax.
For example, if you manage your own copy of a 2.6 kernel, then
you can tell portage that 'sys-kernel/development-sources-2.6.7'
is already taken care of and it should get off your back about
it.
Если коротко, то файл содержит список пакетов поставленных в обход портеджей. Т.е в данном случае мы обманываем систему, заставляем думать что пакет данной версии установлен самостоятельно. Вреда от этого для меня лично не было, т.к требуется он повидимому по ошибке, библиотеки совместимости стоят, как я уже написал выше.
нетолько, если
нетолько, если пакет уже есть - он небудет обновляться до того момента как комунибудь понадобиться версия выше чем тут указано