barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

вторник, 28 августа 2012 г.

Debian Squeeze: wget и поддержка iri


По каким-то причинам wget из репов Debian Squeeze скомпилирован без поддержки Internationalized Resource Identifier и Internationalized Domain Names (IRI / IDN):
# wget -V
GNU Wget 1.12 built on linux-gnu.
+digest +ipv6 +nls -ntlm +opie +md5/builtin -https -gnutls -openssl
-iri 
При попытке использовать опцию --iri при вызове wget (или раскомментировать её в /etc/wgetrc) выводится соответствующее сообщение:
# wget --iri "http://some.site/"
This version does not have support for IRIs
Решается это перекомпиляцией wget (можно воспользоваться сорцами из репов Debian, хоть там и не самая актуальная версия). Однако здесь не все так просто (здесь я собираю wget с суффиксом "-iri", чтобы он установился отдельно от родного wget`а):
# apt-get source wget
# cd wget-1.12
# ./configure --program-suffix=-iri
...
configure: WARNING: Libidn not found
...
Если последнее сообщение случайно пропустить в выводе configure-скрипта, то wget соберется все равно без iri. Устраняем причину warning`а:
# aptitude install libidn11-dev
Теперь конфигурация проходит как надо:
# ./configure --program-suffix=-iri
...
configure: Enabling support for IRI.
...
 Всё, компилируем и устанавливаем:
# make
# make install
Результат достигнут:
# wget-iri -V
GNU Wget 1.12 built on linux-gnu.
+digest +ipv6 +nls -ntlm +opie +md5/builtin -https -gnutls -openssl
+iri 

Комментариев нет:

Отправить комментарий