Добавить поддержку изображений в 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, поэтому возникает вопрос: как я могу удалить различные части и переустановить их, не вызывая у меня больше проблем, чем у меня? уже есть? К сожалению, я не в состоянии вытереть эту машину и начать все сначала.

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

1 ответ

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

Ищите файлы с именем GD.pm в вашей системе он должен показывать только тот, /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
Другие вопросы по тегам