LINUX.ORG.RU

Типичные проблемы при компиляции программ из исходных текстов


0

0

В статье рассматриваются типичные проблемы, возникающие при сборе программ из исходных текстов и пути их решения. Например, что делать если скрипт конфигурации не может найти компилятор или какие-то заголовочные файлы.

Оригинал: http://www.linuxtutorialblog.com/post...

>>> Перевод

Это инструкция, рассказывающая, как легко и непринужденно превратить пакетный дистрибутив в помойку.

Особенно порадовала рекомендация делать ./configure --prefix=/usr

anonymous
()

Помойму лучше поставить portage и предоставить ему возможносить компилять...

Alien-
()
Ответ на: Багрепорт от Anonymous

> "при компиляци и программ"

Блин, ведь знаю что сообщения от MooSE надо внимательно проверять на предмет опечаток и всё равно не заметил.

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

> Блин, ведь знаю что сообщения от MooSE надо внимательно проверять на предмет опечаток и всё равно не заметил.

Сорри. Просто пишу между делом... Постараюсь меньше ошибаться...:))

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

Если configure make и make install не работают, то КГ/АМ.

fdn
()

>Например, что делать если скрипт конфигурации не может найти компилятор или какие-то заголовочные файлы.

поставить его\их! какие могут быть еще советы?:)

jedy ★★
()

>Очевидно, что ошибки при выполнении команды ./configure, возникают во время выполнения скрипта конфигурации, ошибки при выполнении команды make возникают во время выполнения команды make, а ошибки при выполнении команды make install, соответственно, возникают при выполнении команды make install. Далее будет представлен лист типичных ошибок и способ их решения, разделенный на эти три категории.

Это Дзен =)

ip1981 ☆☆
()

Сложность для красноглазиков.

> Если ./configure && make && make install не работают, то КГ/АМ.

Полностью согласен. Просидев полгода на LFS я научился легко отличать плохую программу от хорошей. Хорошая собирается простым заклинанием, плохая собирается через пень колоду и с шаманскими плясками. Если программа не собирается простым заклинанием надо хорошень подумать о целесообразности её использования.

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

>Особенно порадовала рекомендация делать ./configure --prefix=/usr

Но ведь потом можно сделать "make install DESTDIR=/usr/local" -- и все дела

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

>Луше бы рассказали как исправлять типичные баги в сорцах при компиляции с gcc4

90% таких "типичных" багов уже пропатчено... Высуньте голову из... слаки и не побрезгуйте посмотреть на пакеты в Fedora/SuSE/ASP/ALT/etc., да хоть в той же Gentoo

Led ★★★☆☆
()
Ответ на: комментарий от blaster999

>Но ведь потом можно сделать "make install DESTDIR=/usr/local" -- и все дела

Да ну?! И всегда срабатывает?:)))

Led ★★★☆☆
()

кому нужна такая инструкция, пущай лучше ставит дистрибутивные пакеты. а то пошла мода собирать ручками, прежде чем десять секунд затратить на проверку на наличие в дистрибутиве готовой к работе программы

компиляция - это удел maintainero'в, детей и гентушников

swar0g ★★★★
()

>Типичные проблемы при компиляции программ из исходных текстов

> Например, что делать если скрипт конфигурации не может найти компилятор

Зачет.

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

+1
Собрал fvwm2 для mdk10.1, подменил репозитарий для urpmi.
Ан нет - собирают сами, затем звонят и жалуются, что у них
fvwm2 не работает...
Тьфу...

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

> компиляция - это удел maintainero'в, детей и гентушников

компиляция - удел компилятора, а гентушники в это время отдыхают, пока другие матерясь парятся с пакетами и компилят то, чего нет в пакетах.

Subcreator
()

> если скрипт конфигурации не может найти компилятор или какие-то заголовочные файлы.

Это что прикол?

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

Не, эти юзеры не осилят. Они mkinitrd не осиливают...

foust
()

> Например, что делать если скрипт конфигурации не может найти компилятор ...

дальше даже заголовок новости можно не читать, тем более саму "статью"

Window_Snyder
()

> и пути их решения

Таскать apt-get'ом бинарники - самый простой из них :)

DOKA
()

Вот уж откровение, в самом деле.. ;-)

MiracleMan ★★★★★
()

Вставлю свои 5 копеек:

иногда чтобы собрать программу (в частности - rocks&diamonds ;-) ) для Slamd64, нужно править путь к либам.
Почему-то умные девелоперы жестко многократно прописывают {что-нибудь}/lib, в то время как в Slamd64 32-х битные либы живут в lib, а 64-х битные в lib64. Ну неужели, блин, нельзя выделить 1 переменную под путь к либам, а потом ее использовать???

P. S. Для сведения тех, кто заорет, что в "правильных" дистрах принята схема "lib32/lib": она ущербна тем, что не позволяет работать с 32-х битными бинарниками с жесткой линковкой на lib, а потому и не была принята из соображений обратной совместимости.

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

>P. S. Для сведения тех, кто заорет, что в "правильных" дистрах принята >схема "lib32/lib": она ущербна тем, что не позволяет

а сделать ручками ln -s /lib64 /lib религия не позволяет? Тока не надо говорить что ты один и тот же дистр втыкаешь на 64х и 32х битные машины.

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

>Луше бы рассказали как исправлять типичные баги в сорцах при компиляции с gcc4 >chapay * (*) (02.02.2007 19:47:24)

это как раз несложно. обычно гцц довольно внятно матюкается. я как-то решил собрать мплеер под гцц4, когда он еще не был под него пропатчен. почти все пофиксил, затык был только с какими-то асмовыми вставками.

rip_someday
()
Ответ на: Сложность для красноглазиков. от Camel

> Просидев полгода на LFS я научился легко отличать плохую программу от хорошей.

... просто посмотрев хэш архива с исходниками...

> Хорошая собирается простым заклинанием, плохая собирается через пень колоду и с шаманскими плясками. Если программа не собирается простым заклинанием надо хорошень подумать о целесообразности её использования.

О, да!...

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

> >Луше бы рассказали как исправлять типичные баги в сорцах при компиляции с gcc4

> 90% таких "типичных" багов уже пропатчено...

и все-таки тот же koffice с gcc-4.1.1 упорно все еще не хочет собираться...

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

>>P. S. Для сведения тех, кто заорет, что в "правильных" дистрах принята >>схема "lib32/lib": она ущербна тем, что не позволяет > а сделать ручками ln -s /lib64 /lib религия не позволяет?

Это чтобы 32-битные уже гарантировано не могли в ней работать ? ;)))))))

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

> Высуньте голову из... слаки и не побрезгуйте посмотреть на пакеты в Fedora/SuSE/ASP/ALT/etc., да хоть в той же Gentoo

а причем тут слака? и почему ты считаешь, что слакины пакеты (тгз) хуже пакетов "Fedora/SuSE/ASP/ALT/etc., да хоть в той же Gentoo"?

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

Уважаемый, Вы бред какой-то спороли.

Рекомендую попытаться указанный Вами способ сотворить на любом AMD64/EM64T дистрибутиве. Острые ощущения Вам гарантированы.

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

Просто у каждого свои предрассудки ;)) А может тут это и незнание дистра.

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

>и все-таки тот же koffice с gcc-4.1.1 упорно все еще не хочет собираться...

??? а ты попробуй не "тот-же", а текущий:)

Led ★★★☆☆
()
Ответ на: комментарий от some1

>и почему ты считаешь, что слакины пакеты (тгз) хуже пакетов "Fedora/SuSE/ASP/ALT/etc., да хоть в той же Gentoo"?

Ну, дык, предмет гордости слакварщиков: "у нас всё ванильное, никаких левых патчей":)

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

> а ты попробуй не "тот-же", а текущий:)

в четверг пробовал koffice-1.6.1-r1. с gcc-4.1.1 даже пробовал откатывать в дефолт CFLAGS - не помогло. собралось только на 3.4.6

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

>Почему-то умные девелоперы жестко многократно прописывают {что-нибудь}/lib, в то время как в Slamd64 32-х битные либы живут в lib, а 64-х

Во многом софте можно прописать постфикс для либ.

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