|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Alexander Lubyagin 2:5056/16.70 17 Sep 2004 11:29:59 To : Andrey Voloshin Subject : Slackware; kernel + ncurses; bagi ;( -------------------------------------------------------------------------------- 16 сентября 2004 19:31, Andrey Voloshin писал Artem Chuprina: AV>>> говорит что нкурсов в системе нету. AV>>> хотя я их поставил из родных слаковских пакаджей AV>>> и наблюдаю их в /lib Hадо поставить пакет типа libncurses5-dev (там содержатся библиотеки функций и заголовочные файлы с определениями этих функций). Именно эти файлы и просит у тебя скрипт сборки. Со Слакварью не сталкивался, могу подсказать по Дебиану. Для перекомпиляции ядра в Дебиане 3.0 достаточно поставить: kernel-source-*, make, gcc, libncurses5-dev, которые тянут, соответственно, binutils, bzip2, libbz2-1.0; cpp, cpp-2.95, gcc-2.95; libc6-dev. В Дебиане /usr/lib/libncurses.so -> /lib/libncurses.so.* Посмотреть структуру .a можешь примерно так: $ cp /usr/lib/libncurses.a /var/tmp/libncurses.a $ cd /var/tmp $ nm libncurses.a ... $ ar x libncurses.a man ar, man ld,cc Если у тебя нет знаний об оснвах UNIX-системах, то лучше прочитать/прослушать курс лекций (например, Кузнецова, параллельно написав десятка два программ по каждой главе). Как справочник можешь использовать Робачевского, ответ на твой вопрос - Гл.2, раздел "Компиляция" (текст я чуть изменил, чтобы было более понятно). ----------------------------------------------------------------- Первой фазой является стадия компиляции, когда файлы с исходными текстами программы, включая файлы заголовков, обрабатываются компилятором cc(1). параметры компиляции задаются либо с помощью файла Makefile, либо явным указанием необходимых опций компилятора в командной строке. В итоге компилятор создает набор промежуточных объектных файлов. Традиционно имена созданных объектных файлов имеют суффикс ".o". Hа следующей стадии эти файлы с помощью редактора связей ld(1) связываются друг с другом и с различными библиотеками, включая стандартную библиотеку по умолчанию и библиотеки, указанные пользователем в качестве параметров. При этом редактор связей может выполняться в двух режимах: статическом и динамическом, что задается соответствующими опциями. В статическом, наиболее традиционном режиме связываются все объектные модули и статические библиотеки (их имена имеют суффикс ".a"), производится разрешение всех внешних ссылок модулей и создается единый исполняемый файл, содержащий весь необходимый для выполнения код [другими словами, из статической библиотеки вытаскиваются объектные файлы для линковки с твоими]. Во втором случае, редактор связей по возможности подключает разделяемые библиотеки [целиком, in run-time] (имена этих библиотек имеют суффикс ".so"). В результате создается исполняемый файл, к которому в процессе запуска на выполнение будут подключены все разделяемые объекты. В обоих случаях по умолчанию создается исполняеемый файл с именем a.out. ... Процедура создания большинства приложений является общей и приведена на рисунке 2.2. Рис.2.2. Схема компиляции программы Исходные тексты <---- Файлы заголовков модулей программы | | V Компилятор cc <--------- Параметры компиляции: | Makefile или явно | заданные V Объектные модули | | V Библиотеки ----> Компоновщик ld | | V Исполняемый файл a.out ----------------------------------------------------------------- P.S. Если UNIX изучать нет желания - поручай играться с перекомпиляцией ядра кому-нибудь другому, как тебе советует дядя Артем. ;) --- GoldED+/W32 1.1.3 * Origin: "Посмотрите! Вот он без страховки идет" В.Высоцкий (2:5056/16.70) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/3339414acac5.html, оценка из 5, голосов 10
|