Member
Статус: Не в сети Регистрация: 14.06.2005 Откуда: Москва
При сборке пакета с помощью apt-build увидел в логе, что на этапе запуска ./configure оно передаёт ему, что сборка ведётся на i486-linux-gnu. Почитав ./debian/rules определил, что за это отвечает dpkg-architecture.
vlok@core-laptop:~$ sudo dpkg-architecture -ai686 -ti686-pc-linux-gnu -f dpkg-architecture: warning: Default GNU system type for Debian arch i686 does not match specified GNU system type i686-pc-linux-gnu dpkg-architecture: warning: Specified GNU system type i686-pc-linux-gnu does not match gcc system type i486-linux-gnu. DEB_BUILD_ARCH=i386 DEB_BUILD_ARCH_OS=linux DEB_BUILD_ARCH_CPU=i386 DEB_BUILD_GNU_CPU=i486 DEB_BUILD_GNU_SYSTEM=linux-gnu DEB_BUILD_GNU_TYPE=i486-linux-gnu DEB_HOST_ARCH=i686 DEB_HOST_ARCH_OS=linux DEB_HOST_ARCH_CPU=i686 DEB_HOST_GNU_CPU=i686 DEB_HOST_GNU_SYSTEM=pc-linux-gnu DEB_HOST_GNU_TYPE=i686-pc-linux-gnu
И ничего в итоге не меняется. Как я понимаю всё дело в том, что gcc как-то жёстко завязано на i486-linux-gnu.
Собственно вопрос: как сменить цель у gcc на i686-linux-gnu? И вообще, влияет это на что-нибудь? Вот содержимое влияющих на сборку системный переменных и мой /etc/apt/apt-build.conf:
Member
Статус: Не в сети Регистрация: 08.03.2004 Откуда: Москва
rules - это обычный makefile. Найди мануал по НАПИСАНИЮ мейкфайла и по флагам gcc и все будет. Либо возьми какой-нибудь заранее 686 пакет, пофиг что это будет, хоть rpm, это все равно архивы, распакуй, найди мейкфайл и подсмотри. Добавлено спустя 3 минуты, 37 секунд Кстати, на сколько я помню, если ты используешь apt-build install, к примеру, пакет автоматом собирается под твою РЕАЛЬНУЮ архитектуру.
_________________ Software is like a sex, it is better when it is free
Member
Статус: Не в сети Регистрация: 14.06.2005 Откуда: Москва
BaBL писал(а):
rules - это обычный makefile. Найди мануал по НАПИСАНИЮ мейкфайла и по флагам gcc и все будет. Либо возьми какой-нибудь заранее 686 пакет, пофиг что это будет, хоть rpm, это все равно архивы, распакуй, найди мейкфайл и подсмотри.
Не-не, ты меня не понял, я хочу чтобы при apt-build install blablabla, эта самая blablabla уже собиралась со всеми возможными оптимизациями (безопасными ), основная идея apt-build как раз в этом, вроде как, и состоит. Править у всех нужных пакетов makefile у меня нет ни цели ни желания)
BaBL писал(а):
Кстати, на сколько я помню, если ты используешь apt-build install, к примеру, пакет автоматом собирается под твою РЕАЛЬНУЮ архитектуру.
Ну если core duo это i486 - то я наверное тогда Папа Римский.
Мне ещё вот что интересно, я же передаю gcc, что сборку надо вести для прескота (Gentoo Wiki говорит, что это правильно) Играет ли тогда при этом какую-нибудь роль $CHOST? Добавлено спустя 4 минуты, 29 секунд Т.к. если не играет - тогда всё понятно)) Добавлено спустя 6 минут, 29 секунд Хотя, если бы не играло, то на кой чёрт это надо указывать вместе с -march=prescott, согласно тому же дженту вики? Добавлено спустя 11 минут, 37 секунд Хотя бывает и -march=i686.. всё, запутался вконец, пойду ка я спать..
_________________ JustDoIt&ShutUp! OS: Arch Linux на ноутбуке, CentOS на сервере, Ubuntu на десктопе, Maemo на N810.
Member
Статус: Не в сети Регистрация: 23.03.2003 Откуда: Красноярск
AlkaNOID CHOST как раз играет САМУЮ ГЛАВНУЮ роль - он определяет целевую архитектуру, а -march - это оптимизация.
Например, CHOST="i686-pc-linux-gnu", CFLAGS="-march=k8 ..." даст 32-битный код.
Member
Статус: Не в сети Регистрация: 14.06.2005 Откуда: Москва
Похоже я таки разобрался как заставить dpkg-buildpackage собирать под i686:
Код:
vlok@core-laptop:~$ sudo aptitude show pentium-builder Password: Пакет: pentium-builder Состояние: не установлен Версия: 0.19 Приоритет: дополнительный Раздел: universe/devel Сопровождающий: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com> Размер в распакованном виде: 81,9k Зависимости: gcc | g++, perl Описание: force pentium optimized compilation Replaces gcc, cc, and g++ with scripts that build pentium optimized code. (Other processors can be optimized for as well.)
By default, after installing this package, the compilers will behave normally. However, if the environment variable DEBIAN_BUILDARCH=pentium is set, they will enter pentium optimized compile mode.
От себя ничего даже и не добавишь) Добавлено спустя 1 час, 11 минут, 52 секунды Мда, всё оказалось не так хорошо, вот скрипт что пихается этим пакетом вместо gcc:
Код:
vlok@core-laptop:~$ less /usr/bin/gcc #! /usr/bin/perl
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения