Назад | Перейти на главную страницу

Добавить поддержку изображений в GD на Debian

Недавно я заменил нашу устаревшую (386) машину мониторинга на что-то более свежее, и, поскольку у меня были проблемы с драйверами с CentOS, я решил использовать вместо этого Debian 6 (Squeeze). Раньше я предпочитал компилировать из исходников, но на этот раз подумал, что попробую придерживаться apt и устанавливать пакеты таким образом.

Полагаю, что проблемы были неизбежны. Основная проблема заключается в том, что, похоже, в GD нет поддержки изображений с такими сообщениями об ошибках, как это, когда я пытаюсь создать изображение в коде (PHP или Perl):

 Can't locate object method "png" via package "GD::Image"

Я могу заменить «png» на «jpg» или «gif», все приведет к одной и той же ошибке.

Я не могу найти никаких пакетов, которые выглядят так, как будто они могут добавить необходимую графическую поддержку. Как я могу решить эту проблему, не создавая для себя ада зависимостей?

РЕДАКТИРОВАТЬ

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

Теперь я вспоминаю, почему раньше я держался подальше от этих менеджеров пакетов и кошмаров, которые они создают. :(

Perl ищет модули в каталогах @INC array, как и Bash с $PATH для команд. GD, установленный apt, вероятно, замещается чем-то другим в @INC.

Найдите файлы с именем GD.pm в вашей системе он должен отображать только Debian в /usr/lib/perl5/GD.pm.

Вы можете проверить свой @INC с помощью perl -e 'print join "\n", @INC', мой

/etc/perl
/usr/local/lib/perl/5.10.1
/usr/local/share/perl/5.10.1
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.10
/usr/share/perl/5.10
/usr/local/lib/site_perl