LINUX.ORG.RU

Что делать?! Компиляция X


0

0

Мне понадобилось скомпилировать X из исходников. Вот уже вторую неделю я это делаю. Пробовао 6-7-0, 6-8-2, 6-8-0 однако это просто потрясает. В зависимости от версии ошибки начинаются с какого-то lbx_zlib, когда отключишь его в конф. непонятный xmlconfig, затем матерится mesa и отключив ее один за другим кричат fontconfig fc-cache и .. Терпение лопнуло. Скажите зачем делают такую программу, вопрос без издевки. Я НЕ ПОНИМАЮ! Все что было об установке в src я прочитал. Особенно впечатляет, что описанные флажки что-бы компилировать БЕЗ ОСТАНОВКИ не работают. Все равно матерится. Подскажите кто собирал вчем может быть проблема. Большое спасибо всем.

anonymous

Я лично собирал по BLFS, всё прекрасно собирается и работает. Попробуйте тупо следовать ихним указаниям и собрать тот софт, который там указан, как необходимый.

Legioner ★★★★★
()
Ответ на: комментарий от anonymous

Ну хоть версию бы тоже назвал, а? Да и версию ядра тоже... А потом на линуксаксе вот такой креатифф обиженые новички выдают: http://linuxsuxx.org/index.php?module=articles&catid=1&id=23

Я полагаю, что либы у тебя есть, тех которых не установлено - доустанавливай или дособирай.

А вообще, скорее всего, у тебя неправильно инклуды прописаны. Обычно "не находит, а либа есть" именно с этим связано.

То есть, тебе надо сделать симлинки в /usr/include из сырцов ядра. Например, если у тебя ядро лежит в /usr/src/linux, то:
/usr/include/linux -> /usr/src/linux/include/linux
/usr/include/asm -> /usr/src/linux/include/asm -> /usr/src/linux/include/asm-i386 (это если для i386-й платформы)
/usr/include/asm-generic -> /usr/src/linux/include/asm-generic (для 2.6.х)

Дело в том, что в последнее время дистропроизводители делают эти каталоги не симлинком, а статикой. Соответственно, если ты ядро менял (а тем более - перешел 2.4.х -> 2.6.x), то откомпилировать что-либо серьезное маловероятно.

Далее, может быть такая вещь (в случае, если ты либы пересобирал):
в ldconfig путь к новой либе стоит раньше, чем к старой. И configure может находить новую либу (скажем, в /usr/local/lib), зато цеплять старые хидеры из /usr/include (а не из /usr/local/include). Так что проверяй что у тебя и где валяется.

R00T
()

Зачем тебе это понадобилось?

apt-get install x-window-system не устраивает?

Demetrio ★★★★★
()
Ответ на: комментарий от dn2010

Да??? Как интересно. Кто бы мог подумать...

Спор с LKML сюда переносится? Дооолго спорить придется. А самое главное, бездоказательно. По своему опыту могу сказать, что компилировать софт со старыми версиями хидеров - это чрезвычайно протяженная и болезненная форма эвтаназии. Ошибки-то не только в сишниках бывают, но и зачастую в хидерах. Пример элементарный можно привести: переполнение буфера в параметрах функции. Функция ведь не только в сишниках объявляется! Да и как ты себе представляешь, GCC будет разруливать такую хрень? В хидерах (старого ядра) буфер один указан, а в сишнике от нового ядра - другой? И более того, в рабочем ядре этот буфер другой???

Вот ты в хидеры asm-i386 (например) посмотри у разных версий ядра. А еще лучше - diffом погоняй. Там и количество тех хидеров разное, и названия не всегда совпадают... Особенно заметны различия между разными ветками ядер.

По большому счету, желательно вообще перекомпилировать весь софт (включая глибсы) при переходе на новое ядро даже той же ветки.

R00T
()
Ответ на: комментарий от R00T

> По большому счету, желательно вообще перекомпилировать весь софт (включая глибсы) при переходе на новое ядро даже той же ветки.

Великий Перун, избавь нас от таких советчиков!

anonymous
()
Ответ на: комментарий от anonymous

Хм... Лучше бы он избавил ЛОР от тупых онанистов.

R00T
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.