<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=Ac100_gentoo_cross_compile_firefox</id>
	<title>Ac100 gentoo cross compile firefox - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=Ac100_gentoo_cross_compile_firefox"/>
	<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Ac100_gentoo_cross_compile_firefox&amp;action=history"/>
	<updated>2026-05-04T04:59:58Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://paz00.ru/index.php?title=Ac100_gentoo_cross_compile_firefox&amp;diff=118&amp;oldid=prev</id>
		<title>Unknown user в 08:14, 15 октября 2014</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Ac100_gentoo_cross_compile_firefox&amp;diff=118&amp;oldid=prev"/>
		<updated>2014-10-15T08:14:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Сборка firefox под gentoo для ac100 при помощи crossdev= &lt;br /&gt;
&lt;br /&gt;
В этой статье фактически описывается инструкция по настройке сборочного окружения, в конце статьи есть небольшой траблшутинг. На AMD x6 1100T сам процесс компиляции исходников firefox занимает меньше 15 минут, но подготовка окружения для компиляции может занять много долгих часов. Эта статья поможет сократить время подготовки тулчейна тем, кто решится использовать собственную сборку любимого браузера. &lt;br /&gt;
&lt;br /&gt;
Для гуру: не поленитесь дать советы по упрощению процесса подготовки тулчейна или поделитесь рабочим ебилдом для сборки фф кросскомпиляцией&lt;br /&gt;
&lt;br /&gt;
==Подготовка toolchain== &lt;br /&gt;
&lt;br /&gt;
Установите crossdev.&lt;br /&gt;
Окружение для сборки собирается обычным способом (я использую те же версии, что установлены в нетбуке, кроме binutils ).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# crossdev --b 2.22-r1 --g 4.7.1 --l 2.15-r1 --target armv7a-hardfloat-linux-gnueabi&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На время работы crossdev отключите репы layman, '''закоментарив''' в /etc/make.conf строку&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;source /var/lib/layman/make.conf&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Измените CFLAGS в /usr/armv7a-hardfloat-linux-gnueabi/etc/portage/make.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;CFLAGS=&amp;quot;-O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -fomit-frame-pointer&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и, возможно&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;MAKEOPTS=&amp;quot;-j7&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также нужно создать симлинк на исходники ядра:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# mkdir -p /usr/armv7a-hardfloat-linux-gnueabi/usr/src&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# ln -s /path/to/ac100-kernel-source /usr/armv7a-hardfloat-linux-gnueabi/usr/src/linux&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Устанавливать пакеты придется в 3 этапа:&lt;br /&gt;
&lt;br /&gt;
1) Для указанного ниже .mozconfig требуется установить следующие пакеты со всеми зависимостями (кроме dev-lang/python и app-admin/python-updater):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge media-libs/fontconfig&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge media-libs/alsa-lib&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge media-libs/libpng&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge virtual/jpeg&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge x11-proto/xcb-proto &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;# требует dev-lang/python, собираем все зависимости до dev-lang/python, после отвала по ошибке запускаем с ключом -O&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge -O x11-proto/xcb-proto &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge x11-libs/libX11&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge x11-libs/libXext&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge x11-libs/libXt&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~ # armv7a-hardfloat-linux-gnueabi-emerge x11-libs/libXi&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge x11-libs/libXrender&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge x11-libs/libXrandr&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge x11-libs/libXcomposite&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge x11-libs/libXcursor&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge media-libs/mesa &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;# не соберется но установит все зависимости, игнорируем ошибку и ставим следующие пакеты&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) С развернутой на нетбуке системы потребуются пакеты (x11-libs/gtk+:2 dev-libs/glib x11-libs/cairo x11-libs/pango media-libs/mesa x11-libs/gdk-pixbuf dev-libs/atk dev-libs/dbus-glib dev-libs/nss):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge -GO dev-libs/glib&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge -GO x11-libs/gtk+:2&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge -GO x11-libs/cairo&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge -GO x11-libs/pango&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge -GO media-libs/mesa&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge -GO x11-libs/gdk-pixbuf&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge -GO dev-libs/atk&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge -GO dev-libs/dbus-glib&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~ # armv7a-hardfloat-linux-gnueabi-emerge -GO dev-libs/nss&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) Некоторые пакеты можно собрать только, если установлены зависимости пункта 2 (sys-apps/dbus x11-libs/pixman)&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge sys-apps/dbus&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge x11-libs/pixman&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь нужно скопировать /usr из ventana_nv-tegra_base_R15.1.0_armhf.tbz2 в /usr/armv7a-hardfloat-linux-gnueabi, файлы объявлений и библиотеки потребуются позже для нормальной линковки с EGL.&lt;br /&gt;
&lt;br /&gt;
==Загрузка копии исходных кодов firefox== &lt;br /&gt;
&lt;br /&gt;
Основной источник информации https://developer.mozilla.org/En/Developer_Guide/Source_Code/Mercurial#Bundles&lt;br /&gt;
&lt;br /&gt;
Проверим свободное место на диске (здесь описывается работа с исходниками в директории /tmp), требуется около 4Гб, 1,7Гб - исходники с мозиллы, их размер удвоится после запуска конфигуратора, плюс продукты компиляции:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# df |grep tmp&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008080;&amp;quot;&amp;gt;none 12582912 72 12582840 1% /tmp&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Установка aurora ветки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# cd /tmp&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;/tmp # hg clone http://hg.mozilla.org/releases/mozilla-aurora/ mozilla-aurora&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;/tmp # cd /tmp/mozilla-aurora&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Конфигурация== &lt;br /&gt;
&lt;br /&gt;
Основные моменты описаны [https://developer.mozilla.org/en-US/docs/Developer_Guide/Source_Code/Mercurial#Building здесь] и [https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions/Linux_Prerequisites здесь]. Многие пакеты (perl, python, а также те, для которых нет возможности отключить тесты кода для целевой системы) нельзя собрать в тулчейне без хардкора, поэтому их можно взять с уже развернутой на нетбуке генты (командой quickpkg). tbz архивы находятся в /usr/portage/packages. Содержимое /usr/portage/packages с нетбука скопировать в тулчейн /usr/armv7a-hardfloat-linux-gnueabi/packages сохранив иерархию директорий. А затем установить в тулчейн командой&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge -GO имя_пакета&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ключ -O заставит emerge ставить пакет не глядя на зависимости. Для сборки firefox по-сути нужны только файлы хедеров и либы.&lt;br /&gt;
&lt;br /&gt;
Подготовьте файл .mozconfig со следующим содержимым:&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;CROSS_COMPILE=1&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;mk_add_options MOZ_MAKE_FLAGS=&amp;quot;-j8&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --enable-optimize --disable-debug&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --disable-tests&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --disable-updater&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --target=armv7a-hardfloat-linux-gnueabi&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --host=x86_64-pc-linux-gnu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --build=x86_64-pc-linux-gnu&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --disable-necko-wifi&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --disable-webrtc&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --disable-pedantic&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --disable-glibtest&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --disable-elf-hack&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --disable-glibtest&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --disable-gconf&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --enable-application=browser&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --disable-accessibility&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --disable-libnotify&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --with-system-zlib&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --with-system-jpeg&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --with-system-png&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --with-system-nss&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --with-thumb=yes&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --with-arch=armv7-a&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --with-fpu=vfpv3-d16&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --with-float=hard&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --prefix=/usr/armv7a-hardfloat-linux-gnueabi&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --x-libraries=/usr/armv7a-hardfloat-linux-gnueabi/usr/lib&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --with-glib-prefix=/usr/armv7a-hardfloat-linux-gnueabi/usr/lib&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --enable-webgl&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --disable-parental-controls&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;ac_add_options --enable-default-toolkit=cairo-gtk2&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;export PKG_CONFIG_PATH=/usr/armv7a-hardfloat-linux-gnueabi/usr/lib/pkgconfig&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Задайте путь к .mozconfig через переменную окружения MOZCONFIG и запустите подготовку конфигов&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;/tmp/mozilla-aurora # export MOZCONFIG=/mnt/sda4/ac100/cross/.mozconfig&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;/tmp/mozilla-aurora # make -f client.mk configure&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Теперь '''ключевой момент''':&lt;br /&gt;
&lt;br /&gt;
'''создаваемый конфигуратором obj-x86_64-unknown-linux-gnu/config/autoconf.mk указывает пути хост-системы там, где должны быть пути целевой.'''&lt;br /&gt;
&lt;br /&gt;
Следующий скрипт исправляет ситуацию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;#!/bin/bash&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;targetfs=/usr/armv7a-hardfloat-linux-gnueabi&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;FILE=/tmp/mozilla-aurora/obj-x86_64-unknown-linux-gnu/config/autoconf.mk&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt; echo &amp;quot;Relocating $FILE to use $targetfs...&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt; sed -i &amp;quot;s#\(-I/usr/lib\)#-I$targetfs/usr/lib#g&amp;quot; $FILE&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;sed -i &amp;quot;s#\(-I/usr/include\)#-I$targetfs/usr/include#g&amp;quot; $FILE&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;sed -i &amp;quot;s#\(-R/usr/lib\)#-R$targetfs/usr/lib#g&amp;quot; $FILE&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;sed -i &amp;quot;s#\(-L/usr/lib\)#-L$targetfs/usr/lib#g&amp;quot; $FILE&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt; echo &amp;quot;done&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После конфигуратора запускаем скрипт правки путей:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;/tmp/mozilla-aurora # /mnt/sda4/ac100/cross/fix_autoconf_firefox.sh&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Сборка== &lt;br /&gt;
&lt;br /&gt;
Запускаем сборку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;/tmp/mozilla-aurora # make -f client.mk build&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Если все прошло удачно, то запускаем сборку пакета:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;/tmp/mozilla-aurora # make -f client.mk package&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Пакет tar.bz2 будет в /tmp/mozilla-aurora/obj-x86_64-unknown-linux-gnu/dist'''&lt;br /&gt;
&lt;br /&gt;
Если что-то пошло не так и хотите удалить уже откомпилированное, то выполните:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;/tmp/mozilla-aurora # make -f client.mk clean&amp;lt;/span&amp;gt;&lt;br /&gt;
== == &lt;br /&gt;
==Резюме== &lt;br /&gt;
&lt;br /&gt;
Директория с исходниками - /tmp/mozilla-aurora&lt;br /&gt;
Файл с конфигом - /mnt/sda4/ac100/cross/.mozconfig&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt; # export MOZCONFIG=/mnt/sda4/ac100/cross/.mozconfig&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: #808080;&amp;quot;&amp;gt;# указываем конфиг&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt; # cd /tmp/mozilla-aurora&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt; # make -f client.mk configure &amp;amp;&amp;gt;/tmp/firefox.log&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color: #808080;&amp;quot;&amp;gt; # запускаем конфигуратор&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt; # make -f client.mk clean &amp;amp;&amp;gt;/tmp/firefox.log &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color: #808080;&amp;quot;&amp;gt;# чистим остатки предыдущей сборки, если необходимо&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt; # /mnt/sda4/ac100/cross/fix_autoconf_firefox.sh&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color: #808080;&amp;quot;&amp;gt; # правим пути &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt; # time make -f client.mk build &amp;amp;&amp;gt;/tmp/firefox.log&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color: #808080;&amp;quot;&amp;gt; # сборка&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt; # make -f client.mk package &amp;amp;&amp;gt;/tmp/firefox.log&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color: #808080;&amp;quot;&amp;gt; # финальный аккорд&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пакет tar.bz2 будет в /tmp/mozilla-aurora/obj-x86_64-unknown-linux-gnu/dist&lt;br /&gt;
&lt;br /&gt;
==Проблемы== &lt;br /&gt;
&lt;br /&gt;
'''Не находит файлы на этапе компиляции'''&lt;br /&gt;
Установить пакеты с нужными файлами из target-системы&lt;br /&gt;
Например:&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;/tmp/mozilla-aurora/xpcom/base/nsSystemInfo.cpp:16:21: фатальная ошибка: gtk/gtk.h: Нет такого файла или каталога&amp;lt;/span&amp;gt;&lt;br /&gt;
Запускаем в хост системе&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# qfile -v gtk.h&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;x11-libs/gtk+-2.24.10-r1 (/usr/include/gtk-2.0/gtk/gtk.h)&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;x11-libs/gtk+-3.4.3 (/usr/include/gtk-3.0/gtk/gtk.h)&amp;lt;/span&amp;gt;&lt;br /&gt;
Устанавливаем x11-libs/gtk+:2 (в .mozconfig явно задано использование gtk+ версии 2):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;~# armv7a-hardfloat-linux-gnueabi-emerge -GO x11-libs/gtk+:2&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Linker “ld: cannot find /lib/libpthread.so.0?'''&lt;br /&gt;
решение с http://xc0ffee.wordpress.com/2011/04/28/linker-%E2%80%9Cld-cannot-find-liblibpthread-so-0%E2%80%B3/&lt;br /&gt;
Проблема связана с тем, что в /usr/armv7a-hardfloat-linux-gnueabi/usr/lib/libpthread.so указаны абсолютные пути, а нам надо чтоб пути брались из окружения. Т.е. необходимо исправить&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;GROUP ( /lib/libpthread.so.0 /usr/lib/libpthread_nonshared.a )&amp;lt;/span&amp;gt;&lt;br /&gt;
на&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008000;&amp;quot;&amp;gt;GROUP ( libpthread.so.0 libpthread_nonshared.a )&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Проблемы с BFD'''&lt;br /&gt;
Установить последний binutils&lt;br /&gt;
~# crossdev --b 9999 ...&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>