LINUX.ORG.RU

нюансы при установке программ из исходников


0

1

Подскажите пожалуйста где в инете можно найти подробную информацию, где бы рассматривались и разбирались всевозможные ошибки при установке программ из исходников в линукс. Статьи где говориться об установке программ из исходников такого плана (распакуйте каталог, зайдите в него, наберите ./configure ; make ; make install) такие статьи я и сам находил и это ясно и так. Я думаю что эти ошибки можно классифицировать и разделить по группам и с минимальными знаниями программирования на С разобраться, устранить их и установить данную программу. Так же интересует информация про оптимизацию программ под конкретное железо. Такие статьи мне не попадались.
Так же интересует информация про компилирование ядра под конкретное железо, так же статьи на эту тему общего характера не интересуют. В своё время намучился ядро не видело ide дисков, причём корень монтировался нормально, а вот по команде fdisk и blkid была пустота, как в последствии выяснилось включение опции hotplug и ещё какой то решило проблему, причём при выключенной hotplug всё работало, вторую опцию так и не вспомнил.
Если кто очень хорошо разбирается в этих вопросах то я готов заплатить за интерактивное обучение, (объёмом С для изучения данного материала я владею) если кого заинтересовало данное предложение напишите мне на почту v4567@mail.ru
За помощь заранее благодарен.

★★
Ответ на: комментарий от Eddy_Em

Eddy_Em

Включать логику и внимательно читать сообщения об ошибках. Обычно «программа не компилится/не конфигурируется», если у вас какие-то зависимости не удовлетворены. Об этом можно узнать в выхлопе cmake или configure. Если же присутствует готовый Makefile - по сообщениям об ошибках gcc (но это уже не так тривиально, например, напишет он, что не найдена функция some_rare_function - и гадай, какая библиотека ее содержит), но и в этом случае сознательный разработчик в README или INSTALL напишет зависимости.



Да если бы так всё просто.

Пытаюсь из исходников на lfs собрать yate. Конфигуре прошло нормально а вот маке заканчивается с ошибкой.
Вот лог конфигуре http://pastebin.com/TYGUYBiz
Вот лог маке http://pastebin.com/3ytXsL5T
в общем маке заканчивается с такими ошибками:
make -C ./engine all
make[1]: Entering directory `/root/progs/yate/yate/engine'
make[1]: Цель `all' не требует выполнения команд.
make[1]: Leaving directory `/root/progs/yate/yate/engine'
g++ -Wall -o yate -lpthread main.o libyate.so
libyate.so: undefined reference to `sem_init'
libyate.so: undefined reference to `__pthread_unregister_cancel'
libyate.so: undefined reference to `sem_destroy'
libyate.so: undefined reference to `__pthread_register_cancel'
libyate.so: undefined reference to `sem_post'
libyate.so: undefined reference to `sem_trywait'
libyate.so: undefined reference to `pthread_detach'
libyate.so: undefined reference to `sem_getvalue'
libyate.so: undefined reference to `sem_wait'
collect2: выполнение ld завершилось с кодом возврата 1
make: *** [yate] Ошибка 1

Вот вывод команды readelf -s /lib/libpthread.so.0 http://pastebin.com/kW5zbW9F

Библиотека libpthread у меня версии 2.11.1

что интересно в этой библиотеке нет тех функций что не нашёл линковщик кроме двух, они есть это __pthread_register_cancel и функция pthread_detach ЧТО ОЧЕНЬ СТРАННО!!! вед линковщик написал что их нет.

lfs у меня без графики с до установкой некоторых дополнительных библиотек и программ, с библиотеками немного напутано.

Если так всё просто помогите дельным советом в какую сторону копать, а если реально поможете установить так я Вам ещё и заплачу.

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

Кривой сборщик?

Очень странно, что autotools не прописали -lpthread во флаги gcc.

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

Да, а библиотека pthread для статической компиляции у вас есть?

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