From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <rider@altlinux.com>
Message-ID: <458A832C.2040602@altlinux.com>
Date: Thu, 21 Dec 2006 15:50:52 +0300
From: Anton Farygin <rider@altlinux.com>
User-Agent: Thunderbird 1.5.0.8 (X11/20061205)
MIME-Version: 1.0
To: ALT Devel discussion list <devel@lists.altlinux.org>
References: <20061219170522.9C40217FD4@teams.lrn.ru>	<1166591050l.30065l.2l@ildar.nexttel.kz>	<4588EFAE.2040207@altlinux.com>	<200612211234.53842.serpiph@nikiet.ru>	<458A5E32.3060607@altlinux.com>	<20061221113014.GB29938@basalt.office.altlinux.org>	<20061221121021.GD13343@master.mivlgu.local>
	<20061221122233.GA481@basalt.office.altlinux.org>
In-Reply-To: <20061221122233.GA481@basalt.office.altlinux.org>
X-Enigmail-Version: 0.94.1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Subject: Re: [devel] =?utf-8?b?R1JVQiDQuCDRgdC+0YDQvtC00LjRh9C4?=
X-BeenThere: devel@lists.altlinux.org
X-Mailman-Version: 2.1.9rc1
Precedence: list
Reply-To: ALT Devel discussion list <devel@lists.altlinux.org>
List-Id: ALT Devel discussion list <devel.lists.altlinux.org>
List-Unsubscribe: <https://lists.altlinux.org/mailman/listinfo/devel>,
	<mailto:devel-request@lists.altlinux.org?subject=unsubscribe>
List-Archive: <http://lists.altlinux.org/pipermail/devel>
List-Post: <mailto:devel@lists.altlinux.org>
List-Help: <mailto:devel-request@lists.altlinux.org?subject=help>
List-Subscribe: <https://lists.altlinux.org/mailman/listinfo/devel>,
	<mailto:devel-request@lists.altlinux.org?subject=subscribe>
X-List-Received-Date: Thu, 21 Dec 2006 12:51:08 -0000
Archived-At: <http://lore.altlinux.org/devel/458A832C.2040602@altlinux.com/>
List-Archive: <http://lore.altlinux.org/devel/>
List-Post: <mailto:devel@altlinux.org>

Dmitry V. Levin wrote:
> On Thu, Dec 21, 2006 at 03:10:21PM +0300, Sergey Vlasov wrote:
>> On Thu, Dec 21, 2006 at 02:30:14PM +0300, Dmitry V. Levin wrote:
>>> On Thu, Dec 21, 2006 at 01:13:06PM +0300, Anton Farygin wrote:
>>>> Epiphanov Sergei wrote:
>>>>> В сообщении от Wednesday 20 December 2006 11:09 Anton Farygin написал(a):
>>>>>> Но вот основная задача - сборка его на x86_64 пока не выполнима по
>>>>>> причине сломанного флага -m32 в нашей сборочной среде для x86_64.
>>>>> А можно хотя бы в двух словах, почему сломано? Нагуглить ответа я не смог.
>>>>>
>>>> Это уже обсуждалось. Потому что не собрано до конца:
>>>> 1) glibckernheaders должны включать заголовки для x86 на x86_64
>>>> 2) glibc должен быть собран biarch
>>>> 3) gcc наверное тоже надо как-то этак собрать
>>> Я бы сказал что не сломано а не реализовано:
>>> - Каждый пакет с .h-файлами должен содержать специальную магию (в каждом
>>>   файле) для того чтобы эти заголовки можно было использовать для biarch.
>> Видимо, всё-таки не каждый, а содержащий arch-specific заголовки, каковых
>> существенно меньше
> 
> Их несущественно меньше.  Для такого пакета как grub особенно.

Помимо grub вылезает ещё кусочек пакетов...

по памяти - wine на x86_64 для 32bit, плагин для firefox, позволяющий
запускать 32bit linux плагины... и т.д.

> 
>> (помимо заголовков ядра (которые, кстати, в последних
>> kernel-headers-* уже biarch)
> 
> У нас ещё нет последних kernel-headers по умолчанию (вместо
> glibc-kernheaders и пр.).

лично сам отрывал biarch из linux-libc-headers.. в общем это не так
сложно ;)

> 
>>> - В glibc/gcc нужно специальным образом раскладывать файлы.
>> Как я понял, в gcc это получается почти автоматически при наличии во время
>> его сборки правильной glibc.
> 
> Нет, помимо 32-битного glibc нужны 32-битные куски gcc.
> 
>> Собственно, нашему gcc сейчас не хватает
>> только файлов 32/libgcc.* и соответствующего куска в specs (правда, я не
>> смотрел, что должно происходить в районе всяких libstdc++ и прочих ещё
>> менее нужных частей).
> 
> И crt*; грубо говоря, нужен весь /usr/lib/gcc/i586-alt-linux/4.1.1/
> 
>>> - В rpm нужно бэкпортить код для поддержки установки одноимённых пакетов
>>>   под разные архитектуры.
>> Либо делать отдельные пакеты 32bit-* для нужных библиотек, которые
>> собирать только для x86_64.
> 
> В SuSE так делают, кажется.

Да, и по моему не только в SuSE. Это вообще распространённый подход.

> 
>>> Думаю что проще исправить сборку любого пакета чем реализовывать всё это.
>> Как предполагается исправлять сборку пакета, который активно использует,
>> например, i386 asm (тот же grub)?
> 
> Собирать эти куски нативно на i386 и потом использовать.

В случае с wine32 это точно не прокатит.
Разве что собрать его статически.. но подозреваю что и в этом случае
возникнут проблемы.

Rgds,
Rider