Linux From Scratch - что лучше?
в самих исходниках gcc нет никаких сведений об этих разных платформах
Плохо смотришь.
www.gentoo.org
Ставишься по handbook'у начиная со stage1. Будешь настоящим geek'ом.
Ставишься по handbook'у начиная со stage1. Будешь настоящим geek'ом.
http://amarok.kde.org/d/en/index.php?q=gallery&g2_itemId...
в комментах линк:
http://kde-cygwin.sourceforge.net/
в комментах линк:
http://kde-cygwin.sourceforge.net/
Плохо смотришь.Это было только предположение.
То есть, исходники gcc знают про все существующие *nix платформы, а если появится новая, со своим стандартом бинарников - gcc под неё не соберётся
Зачем мне cygwin
Так что хочется получить какой-то список типа "вот это надо скачать", поставить, когда будет интернет, на закачку и радоваться.
А не так, что натыкаемся на "а вот сейчас вам понадобится программа abc, качайте её отсюда" в сотне мест в руководстве...
Так что handbook этот я посмотрю, но вот где скачать исходники всего этого?
это должно помочь?
А почему там для x86 есть только Minimal CD?
Или для моей цели без разницы, для какой архитектруы брать, потому что мне нужны слишком высокоуровневые исходники, которые о архитектуре ещё ничего не знают?
Или вот А почему там для x86 есть только Minimal CD?
Или для моей цели без разницы, для какой архитектруы брать, потому что мне нужны слишком высокоуровневые исходники, которые о архитектуре ещё ничего не знают?
xorg, kde, amarok под винду собрать или поверх LFS ?
или кто?
xorg, kde, amarok под винду собратьДа.
или поверх LFSЧто значит "поверх LFS"?
Насколько я понимаю, LFS - это когда мы берём готовый линукс, в нём собираем ядро, компилятор итп для своего, после чего в своём с ядром, компилятором и шеллом собираем всё остальное? Тогда мне как раз нужно сделать то же, что и делают для LFS, только не целиком (потому что ядро, компилятор и шелл уже какие-то есть).
только не целиком (потому что ядро, компилятор и шелл уже какие-то есть).Тогда это не LFS.
И при чём здесь винда вообще?
LFS - это такой дистрибутив линукса. То, что ты описал, больше на gentoo похоже.
LFS - это такой дистрибутив линуксаЗначит, я отстал от жизни - мне казалось, что это скорее идеология и книжка
И при чём здесь винда вообще?При том, что я никогда раньше ничего не собиралЮ, а сейчас вот захотелось - как мне почти с нуля получить полностью рабочий, например, тот же амарок?
А зачем ты лезешь в это? Чтобы набрать новых фактов, какое линукс глюкавое говно, которые потом использовать в многостраничном флуде?
используй дженту - то же самое, из исходников, только порты тебе нужные исходники подсосут самостоятельно.
пидар-артура второго в блэклист и всем советую
А зачем ты лезешь в это? Чтобы набрать новых фактов, какое линукс глюкавое говноНет, чтобы запустить амарок и Pingus под виндой
жди лета, там и амарок, и кде будут под винду . хотя можешь сожрать свой моск и окрасить глаза в красный цвет
А я не хочу ждать и под винду, я хочу испытать всю мощь виндовой posix-среды (делать мне сейчас нечего...)
$ make installТочнее, ставится (в /usr/local/bin его бинарники есть но не полностью (например, нет man-страниц...
***********************************************************
* *
* GNU bash, version 3.2.0(1)-release (i586-pc-interix3)
* *
***********************************************************
( cd ./po/ ; make DESTDIR= installdirs )
/bin/sh /dev/fs/D/installs/SFU/Utils/bash-3.2/bash-3.2/./support/mkinstalldirs /usr/local/share
if test "bash" = "gettext-tools"; then /bin/sh /dev/fs/D/installs/SFU/Utils/bash-3.2/bash-3.2/./support/mkins
talldirs /usr/local/share/gettext/po; else : ; fi
/bin/install -c -m 0755 bash /usr/local/bin/bash
/bin/install -c -m 0555 bashbug /usr/local/bin/bashbug
( cd ./doc ; make man1dir=/usr/local/man/man1 man1ext=.1 man3dir=/usr/local/man/man3 man3ext=.3 infodir=/u
sr/local/info htmldir= DESTDIR= install )
/dev/fs/F/SFU//bin/sh ../support/mkinstalldirs /usr/local/man/man1
/dev/fs/F/SFU//bin/sh ../support/mkinstalldirs /usr/local/info
if test -n "" ; then /dev/fs/F/SFU//bin/sh ../support/mkinstalldirs ; fi
/bin/install -c -m 644 ./bash.1 /usr/local/man/man1/bash.1
/bin/install -c -m 644 ./bashbug.1 /usr/local/man/man1/bashbug.1
/bin/install -c -m 644 ./bash.info /usr/local/info/bash.info
if /dev/fs/F/SFU//bin/sh -c 'install-info --version' >/dev/null 2>&1; then install-info --dir-file=/usr/local
/info/dir /usr/local/info/bash.info; else true; fi
if test -n "" ; then /bin/install -c -m 644 ./bash.html ; /bin/install -c -m 644 ./bashref.html ; fi
( cd ./builtins ; make DESTDIR= install )
( cd ./po/ ; make DESTDIR= install )
test -z "quot.gmo boldquot.gmo ru.gmo" || make quot.gmo boldquot.gmo ru.gmo
`quot.gmo' is up to date.
`boldquot.gmo' is up to date.
rm -f ru.gmo && : -c --statistics -o ru.gmo ru.po
mv: rename t-ru.gmo to ru.gmo: No such file or directory
*** Error code 1
Stop.
*** Error code 1
Stop.
*** Error code 1 (ignored)
Понять, где там и что происходит в Makefile, невозможно - ужасный код и ни одного комментария...
rm -f ru.gmo && : -c --statistics -o ru.gmo ru.poЗдесь вместо двоеточия должна была стоять какая-то команда, раз ее не стоит - значит ее не нашел configure, и у тебя ее нет.
Понять, где там и что происходит в Makefile, невозможно - ужасный код и ни одного комментария...Открой для себя autotools (tm). Makefile автоматически сгенеренный. Его читать/править и не предполагается. Читай Makefile.am
Что-то ты раньше не так сделалАга, а как понять, что?
Здесь вместо двоеточия должна была стоять какая-то команда,Просто я не гуру линукса, и мне это было не настолько очевидно.
значит ее не нашел configure, и у тебя ее нетconfigure никаких ошибок не выдал.
Makefile автоматически сгенеренныйАга, мне тоже так показалось...
Читай Makefile.amВ смысле?
В папке, откуда ставил, никакого Makefile.am нет. Есть только Makefile и Makefile.in (чем-то незначительно отличающийся от Makefile).
ЗЫ: Ещё до того поста, пытался найти в Makefile слово gmo - ничего не нашёл...
Как можно понять, чего именно не хватает?
Ага, а как понять, что?Лучше тебя этого никто не сможет понять - только ты знаешь, что ты делал.
Просто я не гуру линукса, и мне это было не настолько очевидно.Нахера тебе тогда LFS? Даже многие гуру линукса считают LFS игрушкой и поебенью, если им пользоваться для работы. Это исключительно учебник из серии "как собрать себе свой ``идаельный'' дистрибутив".
configure никаких ошибок не выдал.Два варианта: или ты эту ошибку пропустил, потому что ты не гуру линукса, или чего-то очевидного не поставил, а в configure забыли наличие этого чего-то очевидного проверить.
В смысле?"Не верю". Какой версии bash?
В папке, откуда ставил, никакого Makefile.am нет.
только ты знаешь, что ты делалАга.
Я скачал bash-3.2.tar.gz с оф.сайта, распаковал, прочитал INSTALL, запустил из его папки ./configure, затем make, затем make install - и получил такую ошибку.
Это исключительно учебник из серии "как собрать себе свой ``идаельный'' дистрибутив"Есть другие варианты, как получить амарок под Interix?
или ты эту ошибку пропустил, потому что ты не гуру линуксаНу, насколько я понял, в том, что там мне ./configure выдал на экран, сообщение об этой ошибке среди всего остального должно было быть?
или чего-то очевидного не поставилВо всяких там README никакого списка зависимостей не нашёл.
ЗЫ: Сейчас почитал doc/FAQ - из этого файла сложилось такое ощущение, что в исходниках всё-таки есть какие-то os-dependent вещи, иначе откуда это?
A5) Will bash run on operating systems other than Unix?
Configuration specifics for Unix-like systems such as QNX and
LynxOS are included in the distribution. Bash-2.05 and later
versions should compile and run on Minix 2.0 (patches were
contributed but I don't believe anyone has built bash-2.x on
earlier Minix versions yet.
Какой версии bash?3.2
Кстати, в папке po есть три файла - Makefile, Makefile.in и Makefile.in.in (в исходном архиве есть только Makefile.in.in) - не является ли это двойное расширение каким-то глюком? (Тем более, ошибка возникла как раз где-то в районе всех этих po)?
Есть другие варианты, как получить амарок под Interix?Есть 99.99999% увереноость, что не получится, по крайней мере без очень большого напильника, которого у тебя нет. А если и есть, то ты им скорее себе голову отпилишь, чем то что надо сделаешь.
Сейчас почитал doc/FAQ - из этого файла сложилось такое ощущение, что в исходниках всё-таки есть какие-то os-dependent вещи, иначе откуда это?Конечно же есть! Кто сказал, что все в этом мире ограничивается POSIX'ом? configure определяет какие именно из OS-dependent вещей надо подключать.
Кстати, в папке po есть три файла - Makefile, Makefile.in, Makefile.in.inПочитал, Makefile.in действительно нормальный, человеческий, написанный человеком, а не сгенеренный. Чего ты там не понял - не знаю.
Если почитать этот Makefile.in, то можно узнать, что на месте двоеточия, там где у тебя вылезла ошибка, должна быть команда GMSGFMT. Если почитать что это такое, то можно узнать, что это программа msgfmt от библиотеки gettext, которая у тебя либо не стоит, либо стоит криво. Короче, четай учебники, если хочешь трахаться в таком духе.
по крайней мере без очень большого напильника, которого у тебя нетА может, мне сексом позаниматься хочется
А если и есть, то ты им скорее себе голову отпилишьНу это вряд ли...
configure определяет какие именно из OS-dependent вещей надо подключатьА если configure bash-а не знает именно про мою ОС, хотя она и POSIX-совместима - это ему помешает?
Почитал, Makefile.in действительно нормальный, человеческий, написанный человеком, а не сгенеренныйДа, комменты там действительно есть (как и в самом Makefile но от этого легче не становится...
Если почитать этот Makefile.in, то можно узнать, что на месте двоеточия, там где у тебя вылезла ошибка, должна быть команда GMSGFMTА как именно надо его читать, чтобы понять (и понимать в будущем) такие вещи?
Если почитать что это такое, то можно узнать, что это программа msgfmt от библиотеки gettext, которая у тебя либо не стоит, либо стоит криво.Сейчас попробую поставить...
Вообще, посмотрел в логи configure - у меня, похоже, ещё и многих заголовков не хватает, например, inttypes.h... хотя непонятно, как это сказывается на компиляции (сам-то bash нормально скомпилировался, по крайней мере, он есть, хоть и какой-то кривоватый)...
Сейчас попробую поставить...Пипец, она весит 8 метров, в офисе меня распнут
Так что с этим пока что подожду...
поставь лучше висту
А может, мне сексом позаниматься хочетсяСекс - это с людьми. С компьютерами - это мозгоебство и умственный анонизм.
А если configure bash-а не знает именно про мою ОС, хотя она и POSIX-совместима - это ему помешает?Как повезет. Может соберется с ограниченной функциональностью, может вообще не заработает.
А как именно надо его читать, чтобы понять (и понимать в будущем) такие вещи?А как учатся программы на (вставь название любого языка программирования) читать? Берут учебник по (вставь название любого языка программирования читают этот учебник, решают упражнения... make - это такой специальный язык программирования. Продолжать, или уже сам догадаешься дальше?
Сейчас попробую поставить...Блин, вот ты странный. Всем студентам говорю: если видите незнакомую команду, и не знаете, что она делает - запустите ее с опцией --help. В частности, в данном случае можно было бы запустить
Вообще, посмотрел в логи configure - у меня, похоже, ещё и многих заголовков не хватает, например, inttypes.h... хотя непонятно, как это сказывается на компиляции (сам-то bash нормально скомпилировался, по крайней мере, он есть, хоть и какой-то кривоватый)...
./configure --help
откуда прочитать:
--with-included-gettext use the GNU gettext library included here
после чего запустить configure этой опцией, и, возможно, все заработает.
У меня виста стоит, но на неё SUA не ставится - скорее всего, потому что в висте 5365 подсистему posix ещё не доделали.
Может соберется с ограниченной функциональностьюАга, как-то уже собрался.
А как учатся программы на (вставь название любого языка программирования) читать? Берут учебник по (вставь название любого языка программирования читают этот учебник, решают упражнения... make - это такой специальный язык программирования. Продолжать, или уже сам догадаешься дальше?Понял, буду искать.
Всем студентам говорю: если видите незнакомую команду, и не знаете, что она делает - запустите ее с опцией --help. В частности, в данном случае можно было бы запуститьПроблема в том, что в данном случае, до того, как ты это сказал, не было понятно, что дело именно в gettext.
./configure --help
откуда прочитать:
--with-included-gettext use the GNU gettext library included here
после чего запустить configure этой опцией, и, возможно, все заработает.
А всех опций там около сотни.
На будущее: всегда читай --help от configure. Даже если знаешь что "все по умолчанию тебя должно устроить, скорее всего".
всегда читай --help от configureВсё-таки, в данном случае, без твоей помощи мне этот --help ни о чём бы не сказал.
P.S. LFS - это не учебник.
а где здесь линукс?
В Scratch-е.
Оставить комментарий
kruzer25
Какую книжку Linux from Scratch лучше почитать (надо в электронном виде)? И где можно взять все необходимые исходники, чтобы не искать по всему интернету каждую конкретную программу?Вообще, сейчас имеется Interix из WinXP SP2 (Home, переделана в Pro) + SFU3.5 (со всеми причиналами, начиная от chmod и ksh и кончая make, gcc и x-клиентом хочется попробовать взгромоздить туда X-Server, KDE, Amarok итп (просто не хватает мне амарока в винде ). И ещё, возможно, стандартный линуксовый gcc (насколько я понимаю, они компилируют очень по-разному даже в зависимости от версии? Хочется, чтобы можно было там писать программы для мм - хз, мб для этого и входящий в SFU gcc подойдёт).
ЗЫ: Теоретический вопрос - вот есть платформы Anix и Bnix, с разными форматами бинарников; собираю я на них из одних и тех же исходников gcc, после чего этим свежесобранным gcc компилирую свою программу - откуда gcc узнаёт, что на платформе Anix бинарники в формате FLE, а на платформе Bnix - в формате PZM, если в самих исходниках gcc нет никаких сведений об этих разных платформах? Откуда все компиляторы берут язык бинарников для данной платформы?