Skip to content Skip to footer

Собираем IDE Code::Blocks под FreeBSD

Сегодня вашему вниманию предлагается статья Cosm’а о том, как собрать и настроить среду разработки Code::Blocks под FreeBSD.

В этой статье я попытаюсь вам объяснить как ставить Code::Blocks в FreeBSD. Code::Blocks это кросплатформенная IDE построена с помощью wxWidgets. В моем случае установка проводилась на FreeBSD-7.0-Release-i386.

Сначала вам нужно убедится что в вашей системе присутствуют пакеты: autoconf, automake>=1.9, libtool. Все эти пакеты присутствуют на дисках с дистрибутивом системы, и если вы их не установили во время установки FreeBSD, то самое время это сделать.

ВНИМАНИЕ!!! версия automake должна быть действительно выше 1.9, так как расширеные плагины Code::Blocks не компилируются на старых автомейках. Проверить версию можно введя в консоле: automake –version. Если во время установки у вас вылетает ошибка : @MKDIR_P@: unknown command, то проблема именно в ней.
Также требуется пакет zip. Этот пакет не поставляется с дистрибутивом, но он есть на официальном ftp сервере. Установить его можно введя

pkg_add -r zip

или же

cd /usr/ports/archivers/zip/ && make install clean

Это все что требуется от системы для компиляции. Далее нам потребуются исходные коды wxWidgets и Code::Blocks. wxWidgets нам надо версия GTK+, она же wxGTK, качается здесь http://wxwidgets.org/downloads/. На момент написания статьи последней версией была 2.8.7. Исходники Code::Blocks мы также берем с оффициального сайта. На даный момент выпущен релиз за февраль 2008 года, он же 8.02. Качается здесь http://www.codeblocks.org/downloads. Распаковуем оба архива куда больше всего хочется. Я распаковал в /usr/ports/devel, так как там их проще всего найти, когда вам надо будет удалять все что мы с вами сейчас будем ставить 🙂

Сначала мы будем компилировать wxWidgets. Так как цель у нас сегодня стоит поставить Code::Blocks, а в мануале по компиляции IDE пишут, что для компиляции нужна monolitic chared библиотека wxWidgets, то библиотеку строить мы будем такую как нас просят. wxGTK по у молчанию компилируется shared и использует GTK2, единственное что нам нужно, это добавить в конфигурацию монолитность и, так как мы с вами бывает пишем программы не только на английском, то будем компилировать юникод версию. Компиляция и установка библиотеки не вызывает никаких проблем. wxGTK сама себя копирует куда надо и сама создает системную переменную пути к библиотеке. Все что нам нужно сделать это зайти в корневой каталог с кодом wxWidgets (в моем случае в /usr/ports/devel/wxGTK-2.8.7) и выполнить конфигурацию и установку. Все это делается в пять строчек.

$ cd /usr/ports/devel/wxGTK-2.8.7			# тут ваш каталог
$ ./configure --enable-monolithic --enable-unicode	# хотим монолитную юникод библиотеку
$ make                                		# компилируем
$ make install                            		# инсталируем
$ make clean                            		# чистим object файлы компиляции

После того как опять появляется приглашение ввода строки wxWidgets уже скомпилирован и присутствует в нужном месте. Теперь можно взятся за Code::Blocks. Разработчики среды решили разделить её установку на 2(две) части. Получилось так, что можно ставить КодБлоки с базовым набором плагинов (Core Plugins) и с расширеным набором плагинов (Contrib Plugins). По умолчанию среда компилируется с базовым набором плагинов. Этот набор включает в себя Autosave, Class Wizard, Code Completition и еще много полезных вещей, однако много полезных плагинов ставится в так называемом “расширеном” наборе. Весь список можно посмотреть здесь.
Базовая компиляция проходит без проблем. Я не буду на ней останавливатся. Понравилось то, что Code::Blocks сама добавляет себя в гномовскую менюшку в подменю “Programming”. Что бы скомпилировать IDE с базовой конфигурацией, заходим в каталог с исходным кодом выполняем ./configure, а затем make install clean. Можно идти пить чай, когда вернетесь у вас уже будет стоять Code::Blocks.
На компиляции с расширеными плагинами хотелось бы остановится поподробней. Именно здесь возникает проблема с @MKDIR_P@. Дело в том, что в старых версиях automake использовалась другая нотация создания каталога при установке приложений. В новых же плагинах Code::Blocks разработчики видимо не думали, что кто-то будет пытатся компилировать со старым автомейком. Поэтому при установке важно пользоватся automake версии новее 1.9.
На http://wiki.codeblocks.org есть список плагинов, которые являются дополнительными (contribute). Для их установки нужно при конфигурации указать список нужных плагинов: --with-contrib-plugins=AutoVersioning,BrowseTracker,byogames…., либо указать, что требуются все плагины: --with-contrib-plugins=all. Особый интерес у меня был к плагинам C::B Games и wxSmith, но я решил не мелочится и указал все. Все действия должны выглядеть приблизительно так:

$ cd /usr/ports/devel/CodeBlocks-8.02	# ваш каталог с исходниками
$ ./configure --with-contrib-plugins=all	# все расширеные плагины
$ make					# компилируем
$ make install				# инсталируем
$ make clean				# чистим

Форма написания названий плагинов при выборочной установке видимо скрывается разработчиками от вражеских разведчиков, но мне все таки удалось достать эту информацию. А пишутся они вот так AutoVersioning, BrowseTracker, byogames, cbkoders, codesnippets, codestat, dragscroll, envvars, help, keybinder, libfinder, profiler, regex, exporter, symtab, wxsmith.
Вот и все. Если все было сделано правильно, то мы получаем удобную среду разработки под одну из самый стабильных операционных систем современности. Как доказательство представлен скриншот с рабочей средой, рабочей wxWidgets и рабочим wxSmith. Статья не претендует на универсальность или уникальность. Пользуясь случаем хочу выразить благодарность разработчикам Code::Blocks и wxWidgets за то что они это разрабатывают.

P.S. Если вам не надо уникальная компиляция wxWidgets, на оффициальном ftp сервере FreeBSD есть прекомпилированые пакеты с библиотекой. На момент написания статьи самая свежая версия на сервере 2.8.5, а установить можно вот так:

To install the port: cd /usr/ports/x11-toolkits/wxgtk28 && make install clean
To add the package: pkg_add -r wxgtk2

CodeBlocks built from source code under FreeBSD

The конец. 🙂

Leave a comment

0.0/5