Собираем GD под Linux

Эта статья относится к серии помоги себе сам, когда в первую очередь смысл ее написания сводится к тому, что-бы описать для себя любимого последовательность четких действий по достижению конкретной цели. Сегодняшняя цель — это установка графической библиотеки GD на Linux системе, использование которой широко применяется в таких инструментах как PHP, rrdtool и других различных приложений работающих с графикой, хотя насчет PHP разработчики настоятельно советуют пользоваться Bundled (встроенной в дистрибутив) версией GD, не знаю почему, но я всегда ставлю более свежие библиотеки и пока проблем с ними не имел.

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

Первым делом проверяем, что для динамической линковки у нас правильно прописаны пути к будущим shared библиотекам. Ищем в файле /etc/ld.so.conf строчку:

/usr/local/lib

Теперь поехали:

Первенцем ставим freetype http://www.freetype.org/

./configure; make; make install
ldconfig
ldconfig -p | grep libfree
     libfreetype.so.6 (libc6) => /usr/local/lib/libfreetype.so.6
     libfreetype.so (libc6) => /usr/local/lib/libfreetype.so

Ставим fontconfig http://fontconfig.org/release/

./configure; make; make install
ldconfig
ldconfig -p|grep libfontconfig
     libfontconfig.so.1 (libc6) => /usr/local/lib/libfontconfig.so.1
     libfontconfig.so.1 (libc6) => /usr/lib/libfontconfig.so.1
     libfontconfig.so (libc6) => /usr/local/lib/libfontconfig.so

Ставим libpng http://www.libpng.org/pub/png/libpng.html
Копируем в корень из директории scripts makefile.linux и переименовываем его в makefile

make; make install
ldconfig
ldconfig -p | grep libpng
     libpng12.so.0 (libc6) => /usr/local/lib/libpng12.so.0
     libpng12.so (libc6) => /usr/local/lib/libpng12.so
     libpng.so.3 (libc6) => /usr/local/lib/libpng.so.3
     libpng.so (libc6) => /usr/local/lib/libpng.so

Ставим jpg ftp://ftp.uu.net/graphics/jpeg/

./configure; make; make install; make install-lib
ldconfig
ldconfig -p|grep jpeg
     libjpeg.so.62 (libc6) => /usr/lib/libjpeg.so.62

Ставим Postscript Type 1 (T1lib) ftp://sunsite.unc.edu/pub/Linux/libs/graphics/

./configure; make without_doc; make install;
ldconfig
ldconfig -p|grep t1
     libt1.so.5 (libc6) => /usr/local/lib/libt1.so.5
     libt1.so (libc6) => /usr/local/lib/libt1.so

Ставим gd http://www.libgd.org/

./configure
     …
     Support for PNG library: yes
     Support for JPEG library: yes
     Support for Freetype 2.x library: yes
     Support for Fontconfig library: yes
     Support for Xpm library: no
     Support for pthreads: yes

Заранее видим, что будет поддерживать GD, а чего нет. Нет X11 поэтому нет xpm (ftp://metalab.unc.edu/pub/Linux/libs/X/!INDEX.html), но оно мне и не нужно (если кто-то из Вас захочет поставить xpm Вам следует познакомиться с imake). Едем далее:

make; make install
ldconfig
ldconfig -p|grep libgd
     libgd.so.2 (libc6) => /usr/local/lib/libgd.so.2
     libgd.so (libc6) => /usr/local/lib/libgd.so

На этом месте все готово. Теперь, к примеру, можно привязать наши свежие библиотеки из GD к PHP, примерно вот так:

./configure … —with-gd=/usr/local —with-freetype-dir=/usr/local —with-t1lib=/usr/local …

Вызываем phpinfo() и в секции GD получаем такую замечательную картинку:

И напоследок еще несколько ссылок на полезные библиотеки:
TIFF ftp://ftp.remotesensing.org/pub/libtiff/
FreeType1 http://sourceforge.net/project/showfiles.php?group_id=3157&package_id=3068
LibArt http://www.levien.com/libart/

Статья закончилась, но Вы можете:
- сказать спасибо автору:
- поделиться статьей с друзъями:
- прокомментировать статью: Комментарии (0)

Ответить

 
Последние комментарии
  • Дмитрий: Спасибо огромное! Оч. помогла статья!!!
  • Дмитрий: Serg уже писал об этом. Правой капой по Мой комп. Управление Службы и...
  • Анастасия: У меня стоит денвер, там 4 файла .htaccess и я в каждом из них...
  • KDE: «Прощай», говорите? А вот и нет. Люди. Выделите мышью нужную...
  • KDE: Люди. Выделите мышью нужную часть страницы, потом правой кнопкой мыши на...
  • by and atour: цветные линзы петербург . www.dom-automation.ru - системы безопасности
Популярное
1 2 3
Рубрики