Создание бинарников для другова компьютера
Гость 10 ноября, 2005 - 00:41
подскажите как в gentoo сделать такую вещь:
есть 2 компа celeron 433 и Athlon 2800+
хочу софт для celerona компилить на другом компьютере и просто его на компакте переносить, а так же обновления портов.
Как это правильно сделать? замена make.conf помоему это не совсем правильно?
»
- Для комментирования войдите или зарегистрируйтесь
Re: Создание бинарников для другова
А по-моему это вполне логично. Ведь единственное что помешает бинарнику скомпиленому на одном компе работать на другом, - это флаги оптимизации под конкретный проц. Следовательно задав нужные нам флаги, мы можем компилить где угодно. Естественно версии библиотек и всего остального желательно держать одинаковые...
П make.conf
В make.conf прописываешь CFLAGS="-O2 -march=pentium3" (кажется, селерон 433 базировался уже на пентиуме 3?)
Потом
emerge -B <package_name>
соберет пакет без установки в систему.Рекомендую man make.conf и man emerge ;)
ну хорошо, вот
ну хорошо, вот чем меня этот метод не устроил:
собирал так emerge --buildpkg пакет
флаги CFLAGS="-O3 -march=pentium2 -ffast-math -fomit-frame-pointer -pipe"
создаваться то они создались но ещё и в мою систему прописались заодно!
что делать если я собираю иксы но здесь они мне совсем не нужны?
И ещё вопрос такой на том celeron инет обычный dialup, emerge sync затруднительно сделать. Как это обновление перенести со второго компа? А то вышло ещё так что потом при установке бинарника не оказалось некоторых либ на celerone которые были на другом компе естественно попытка их с инета стянуть, ладно, но так как тут emerge sync не делалось то компилится после скачивания они отказались :)
хм да
хм да действительно есть опция -B ;)
тогда остается 1 вопрос как перенести результат emerge sync
tar
tar /usr/portage/*
потом распоковываешь и emerge --metadata
и всеже не все
и всеже не все можно сделать с опцией -B
emerge -B libmpeg3
Calculating dependencies ...done!
!!! --buildpkgonly requires all dependencies to be merged.
!!! Cannot merge requested packages. Merge deps and try again.
тоесть полюбому надо эти зависимости ставить в систему чтоб сделать бинарник.
Как быть?
Быть очень
Быть очень просто:
Я для работу Gentoo собирал дома примерно вот так:
Принёс хард с раобты. Разметил как надо. Создал папку /mnt/tatintelcom в которую примонтировал хард с работу. /home раздел примонтировал в папку /mnt/tatintelcom/home у и так далее.
Потом распаковал туда stage и дерево portage.
Потом:
$ chroot /mnt/tatintelcom
$ emerge gentoo-sources
Ну и так далее... Система нормально работает уже месяц.
Если хочется
Если хочется просто собрать быстренько на более шустрой тачке - можно попробовать распределенную сборку по сети. Там главное требование - одинаковая версия компилятора. Инициируется сборка на одном, а части компиляться могут на нескольких тачках, именно под ту, которая инициировала.
Хотя если речь идет о диал-апе то это решение не подходит
_________________
SaM
На официальном
На официальном сайте gentoo.org много полезного. В частности: http://www.gentoo.org/proj/en/releng/catalyst/
для Celeron 433
для Celeron 433 скорее всего не подойдёт march=pentium3, насколько я знаю конкретно в нём ещё ядро от Pentium2, то есть надо march=pentium2. А вот начиная с 633 идут уже Celeron'ы на ядре Coppermine, для которых march=pentium3 подходит.
_________________
^_^