URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 50596
[ Назад ]

Исходное сообщение
"Проблема с компиляцией XOrg 6.8.1"

Отправлено dimus , 17-Ноя-04 09:22 
Недавно утянул XOrg 6.8.1. Установка на существующую систему XFree86 4.3.0 прошла гладко, без проблем. На радостях пошел на работу и попробовал установить новенькие Иксы на только что поставленный линукс (Slackware 9.1 Kernel 2.4.22), где никаких иксов до этого не стояло - я их просто не стал ставить. После получаса компиляции получил сообщение об ошибке. Жаловалась программа fontconfig. Я залил новый fontconfig ( версия 2.2.3 ) и необходимую для его компиляции freetype ( версия 2.1.9 ) Новый фонтконфиг также не захотел компилироваться, правда теперь он жаловался на ошибки при компиляции документации. Я решил, что документация мне не очень нужна и подправил параметр SUBDIR в Makefile.in, исключив директорию doc. После этого компиляция и последующая установка fontconfig прошли успешно. Я залез в дерево исходников XOrg и применил такую же тактику там. После получаса компиляции я получил ту же ошибку. В сообщениях об ошибке мэйк еще жаловался на несоответствие в каких-то параметрах и возвращаемых значениях функций. Я попробовал перекопировать новый фонтконфиг поверх старого прямо в дерево XOrg, однако компиляция опять вылетела с той же ошибкой. А как я уже писал выше, отдельно все компилировалось нормально - прямо мистика какая-то. Не может же компиляция одного и того же файла проходить в одной папке и не проходить в другой? Не знает ли кто-нибудь, как же все-таки скомпилировать XOrg. Буду рад также, если подскажете, как отключить в его мэйк-файле компиляцию и установку freetype и fontconfig.

Содержание

Сообщения в этом обсуждении
"Проблема с компиляцией XOrg 6.8.1"
Отправлено sfrt , 17-Ноя-04 11:44 
У меня на FreeBSD были проблемы такого рода.
Сначала ошибка была связана с fontconfig, потом не находился файл png.h
Пытался кое что править в исходниках, в makefile, но толку не было.
Плюнул на все это и поступил так:
зашел на сайте в порты, нашел от чего зависит xorg, установил все эти зависимости и компиляция прошла нормально.

"Проблема с компиляцией XOrg 6.8.1"
Отправлено dimus , 17-Ноя-04 14:40 
Здорово. В принципе мне тоже можно было бы стянуть с www.slackware.com уже готовое решение, однако мне хотелось бы самому откомпилить так, как мне надо. Я не думаю, что проблема в каких-либо зависимостях, так как Хорг ругается на ошибки в С коде (типа "функция возвращает неправильное значение"), хотя конечно тут я могу и ошибаться.
Вообще мне кажется, что разработчики должны лучше тестировать свое ПО, ставя его именно на голые машины, дабы такие казусы не возникали. Иначе мы уподобимся творениям г-на Гейтса, которым разного рода костыли нужны сразу после рождения.

"Проблема с компиляцией XOrg 6.8.1"
Отправлено sfrt , 17-Ноя-04 19:42 
Ну, фря - это не Linux. Я ее поставил с диска mininstall.
В этом случае система ставится в минимальной конфигурации. Дальнейшее наполнение я делал по своему усмотрению.
По понятиям Linux - сам собирал свой дистрибутив.
В этом случае, естественно, что там не было установлено многих зависимостей, которые требуются для иксов.
Просто ошибки, про которые Вы упоминаете, были теми же самыми, пока не установил все, что нужно.
Я от создателей FreeBSD не буду требовать ставить все, только для того, чтобы было удобно инсталить иксы.
Для этого можно купить комплект из 2-х или 4-х дисков и - нет проблем.



"Проблема с компиляцией XOrg 6.8.1"
Отправлено dimus , 18-Ноя-04 07:35 
Я тоже не требую от создателей Линукса, чтобы они ставили все, что нужно. Я также ставил только то, что мне надо. Однако создатели XOrg обязаны были тестировать свое творение на голой, только что поставленой машине. И они обязаны были в документации или на этапе конфигурирования указать, от чего их творение зависит. Я ничего подобного не нашел. В самом начале файла BUILD упоминается, что нужен gcc и еще несколько прог. И это все, что я нашел по зависимостям. Эти проги у меня были. А результат - ноль. Вот когда я слил новый fontconfig и запустил ./configure, то он мне ясно сказал - нужен мол freetype. Слил и откомпилил freetype - откомпилился и fontconfig. Пакет XOrg же ничего подобного не писал. Просто молча вывалился с ошибкой. И опять же возникает вопрос: почему код, который нормально компилируется отдельно, т.е. для него все зависимости разрешены, не хочет компилироваться в составе дистрибутива. Это не есть нормально. И ошибки он выдает не о том, что ему чего-то не хватает, а о том, что имеет место Syntax Error. Где то тут косяк, и это не мой косяк - ведь в отдельной папке програ компилится. Значит накосячили в XOrg. Знает ли кто-нибудь, что и где нужно исправить?

"Проблема с компиляцией XOrg 6.8.1"
Отправлено Vladimir , 22-Ноя-04 16:22 
Вчера вечером столкнулся с такими же траблами: тоже Слака 9.1 чистая без иксов. Сначала иксы ругались на отсутствие bizon, flex, perl. Ладно, поставил. Потом стали выползать ошибки фонтконфига. Сначала он не находил инклуды потому что в исходниках предполагалось что они уже установлены (пути до инклудов указывались как <ftheader.h> (это пример, точно не помню) ) в результате долгого шаманства я плюнул и скопировал необходимые инклуды в папку /usr/include. копиляция прошла чуть дальше, но не намного - вывалилась ошибка линковщика.
По моим соображениям, разработчики просто взяли исходники отдельных проектов (фонтконфиг, трутайп и т.п.) и запихали в папочку extras в корне исходников, не озаботились правильным скриптом сборки всего этого добра. Так вчера и не поставил иксы. Сегодня приду и буду шаманить дальше. Вариантов два - сначала скомпилять все проекты из extras, затем иксы (только сервера - есть там опция в конфиге) либо наоборот. Может кто посоветует какой вариант правильнее? Ставить пакеты с диска слаки не хочется - они не оптимизированны нифига ;(
Dimus, если у тебя будут продвижения - напиши плиз. Одна голова хорошо, а две - лучше :)



"Проблема с компиляцией XOrg 6.8.1"
Отправлено Vladimir , 22-Ноя-04 16:49 
Тут еще вспомнил: после ошибок с фонтконфигом выплыла ошибка с expat (xml парсер). Разумеется, я не знал про эту зависимость и не поставил его при установке. Когда Х не нашел его, то попытался поставить свой. Результат - те же ошибки в путях к инклудам. Кстати, все ошибки типа синтакс еррор или что-нить похожее связаны именно с тем, что при сборке не был найден какой-нить инклуд или другой файл. Иногда первопричина (сообщение not such file or directory) не умещается в буфер вывода консоли, поэтому очень полезно направлять весь вывод в файл и там смотреть что кому нехватает.

"Проблема с компиляцией XOrg 6.8.1"
Отправлено dimus , 23-Ноя-04 09:26 
Я пока ничего нового не придумал. А ошибки я перенаправлял в файл таким образом:
make World 2>&1 |tee World.log

А как отключить компиляцию всех программ из extras? Может я проглядел эту опцию, но я этого не нашел.


"Проблема с компиляцией XOrg 6.8.1"
Отправлено Vladimir , 23-Ноя-04 11:51 
>Я пока ничего нового не придумал. А ошибки я перенаправлял в файл
>таким образом:
>make World 2>&1 |tee World.log
>
>А как отключить компиляцию всех программ из extras? Может я проглядел эту
>опцию, но я этого не нашел.
Я делал как описано в РЕАДМЕ - скопировал xorgsite.def в host.def
там где-то раскомментировал одну строчку (сейчас под рукой бумажки с описанием грабель нету, отчет по компиляции напишу сегодня чуть попозже)
В общем, как окаалось, эта опция не сработала и проги все равно скомпилировались. Однако все равно отдельно пришлось компилять сначала freetype2, expat, fontconfig. после этого с некоторым гемороем иксы все-таки встали. все подробности - через несколько часов.


"Проблема с компиляцией XOrg 6.8.1"
Отправлено Vladimir , 23-Ноя-04 22:37 
Итак, отчет о компиляции.
Первым делом надо откомпилять freetype2. С ним проблем не возникало. Затем компилируем expat из поставки xorg (если ставить родной слаковский, то фонтконфиг не найдет пару библиотек и отругается) После этого фонтконфиг должен скомпилироваться без проблем (может выругаться на не найденные инклуды. я это лечил созданием симлинков на /usr/src/xc/extras/freetype2/include в папке /usr/include) Дальше проще.
Компилируем сами иксы. В общем и целом проблем не должно быть. У меня были, т.к. я навыставлял кучу флагов оптимизации. пришлось убирать. в итоге получилось следующее: -O2 -mcpu=pentium4 -march=pentium4 -mmmx -msse2 (строка с фланами меняется в файле host.def )
вроде бы все. Надеюсь, что данная информация поможет. Всем удачи!

"Проблема с компиляцией XOrg 6.8.1"
Отправлено dimus , 24-Ноя-04 08:02 
К сожалению, сейчас у меня нет шанса самому все это повторить, но при первой же возможности я обязательно попробую. Большое спасибо за инфу.