Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Компиляция программ  (Прочитано 2064 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mendeleyev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
  • 100 Gates for Ever!
    • Просмотр профиля
Компиляция программ
« : 09 Сентября 2008, 10:05:09 »
В Ubuntu не установлены изначально пакеты, необходимые для компиляции.
Вот что об этом говорит руководство:

Compiling programs requires some packages that are not installed by default. You can install most of these all at once by installing the build-essential package.
(компиляция программ требует наличия некоторых пакетов, которые не установлены по умолчанию. Основную их часть вы можете установить, установив пакет build-essential )

Хорошо, эту штуку я себе установил.
Однако, как и сообщало руководство, это только большинство необходимых пакетов, но не все.
shell при нехватке каких-то пакетов сообщает, чего не хватает, то есть, например, компилятор С и т.п., но как из этого я должен понять, как называется пакет, который я должен установить?
в частности, я пытаюсь установить программу aKtion, и вот что я имею:

garber@garber-desktop:~/aktion-0.4.1$ ./configure
loading cache ./config.cache
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for X... configure: error: Can't find X includes. Please check your installation and add the correct paths!

при поиске "X includes" в pakages.ubuntu.com я ничего не получаю, поскольку слова для поиска должны состоять, как минимум, из двух букв...
Пожалуйста, отвечайте подробнее, так чтобы начинающему пользователю (то есть мне) было понятно.

Оффлайн digiwhite

  • Активист
  • *
  • Сообщений: 732
  • http://www.welinux.ru
    • Просмотр профиля
    • http://www.welinux.ru
Re: Компиляция программ
« Ответ #1 : 09 Сентября 2008, 10:11:23 »
Надо поставить dev пакет для иксов.  Еще глянуть сюда.
Социальная сеть не фанатично настроенных линуксойдов - http://www.welinux.ru

Оффлайн ziv

  • Активист
  • *
  • Сообщений: 403
    • Просмотр профиля
Re: Компиляция программ
« Ответ #2 : 09 Сентября 2008, 10:13:01 »
Для сборки программ обычно не хватает т.н. девелоперских пакетов для библиотек с именами вида libxxx-dev, которые содержат заголовочные файлы. Какие именно библиотеки нужны конкретной программе - обычно написано в README или INSTALL.

Конкретно в этом случае попробуй
sudo apt-get install x-dev
после чего снова
./configure

Оффлайн mendeleyev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
  • 100 Gates for Ever!
    • Просмотр профиля
Re: Компиляция программ
« Ответ #3 : 09 Сентября 2008, 10:33:45 »
Надо поставить dev пакет для иксов.  Еще глянуть сюда.

В "сюда" первым в списке того что нужно установить

   -   Х

возвращаемся к нашим баранам...

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: Компиляция программ
« Ответ #4 : 09 Сентября 2008, 10:48:04 »
Нужный пакет называется libx11-dev.

Ниже приведен общий метод поиска.

1. Вместо X надо искать X11 или xorg.
2. Можно искать include в именах файлов, входящих в пакет, c помощью более низкоуровневой утилитки dpkg

dpkg -S include

Список получится довольно большой, поэтому надо его сократить, об этом в п. 3

3. configure создает файл config.log, в котором описывает все свои действия и их результаты.

В данном конкретном случае этот скрипт создал файл с короткой программой на С, содержащей #include нужных заголовков и пустую функцию main() {}, и скормил его компилятору.

Компилятор ругнулся на отсутствие какого-то заголовка (файла где-то в /usr/include/ с расширением .h).

Можно посмотреть в логе, какой именно заголовок ему нужен и искать сразу его.

В данном случае это скорей всего X11/Xlib.h

$ dpkg -S Xlib.h
libx11-dev: /usr/include/X11/Xlib.h
« Последнее редактирование: 09 Сентября 2008, 12:06:36 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: Компиляция программ
« Ответ #5 : 09 Сентября 2008, 11:06:33 »
Поиск пакета по меткам: debtags

http://mydebianblog.blogspot.com/2008/06/debtags.html
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

 

Страница сгенерирована за 0.047 секунд. Запросов: 23.