[devel] gcc-4.3.2-alt1
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Окт 22 09:39:53 MSD 2008
On Tue, Oct 21, 2008 at 12:03:52AM +0400, Dmitry V. Levin wrote:
> > По hsh-install gcc-c++ в чрут почему-то ставиться gcc4.1-c++, а не
> > gcc4.3-c++. Это у меня локальные проблемы или так и задумано?
>
> Это потому, что в hasher repo уже есть свой gcc4.3-c++.
Я собрал у себя локально в hasher repo пакеты binutils и gcc4.3
(и пока ещё не синхронизировал сизиф с новым тулчейном).
Получается такая бяка, что у всех пакетов gcc4.x-c++ одинаковый score,
равный нулю. К тому же qsort, в таком случае, может переупорядочить
пакеты. Хотя вроде бы не переупорядочивает. Вероятно, дело в том,
что в glibc реализация qsort на коротких последовательностях делает
mergesort. А mergesort является стабильным. Вот на каких соплях
иногда всё висит!
--- apt-get.cc- 2008-10-21 03:29:54 +0000
+++ apt-get.cc 2008-10-22 05:33:34 +0000
@@ -1251,8 +1251,15 @@ bool TryToInstall(pkgCache::PkgIterator
for (pkgCache::PrvIterator Prv = Pkg.ProvidesList(); Prv.end() == false; Prv++)
*PEnd++ = Prv.OwnerPkg();
Fix.MakeScores();
+ for (unsigned int p=0; p<Size; ++p) {
+ pkgCache::PkgIterator PrvPkg = pkgCache::PkgIterator(*Pkg.Cache(), PList[p]);
+ fprintf(stderr, "%d %s %d\n", p, PrvPkg.Name(), Fix.Scores[PrvPkg->ID]);
+ }
qsort(PList,PEnd - PList,sizeof(*PList),&(Fix.ScoreSort));
-
+ for (unsigned int p=0; p<Size; ++p) {
+ pkgCache::PkgIterator PrvPkg = pkgCache::PkgIterator(*Pkg.Cache(), PList[p]);
+ fprintf(stderr, "%d %s %d\n", p, PrvPkg.Name(), Fix.Scores[PrvPkg->ID]);
+ }
for (unsigned int p=0; p<Size; ++p)
{
bool instVirtual = _config->FindB("APT::Install::Virtual", false);
apt-0.5.15lorg2/cmdline $ PATH=$PWD:$PATH ~tmp/build/aptbox/apt-get --dry-run install gcc-c++
...
0 gcc4.1-c++ 0
1 gcc3.4-c++ 0
2 gcc4.3-c++ 0
0 gcc4.1-c++ 0
1 gcc3.4-c++ 0
2 gcc4.3-c++ 0
Selecting gcc4.1-c++ for 'gcc-c++'
...
apt-0.5.15lorg2/cmdline $
> Чтобы этот глюк apt'а преодолеть, достаточно добавить
> gcc4.3-c++
> в секцию Standard файла /etc/apt/pkgpriorities (или его локального
> аналога, определённого с помощью Dir::Etc::pkgpriorities).
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20081022/beb725b3/attachment-0001.bin>
Подробная информация о списке рассылки Devel