綾小路龍之介の素人思考

[perl] cpanでGDのupdateが失敗する

エラーメッセージを見ると、失敗するのはgdlib-configが無いからだということが判る。これらを含むパッケージを探して導入すればよい。

cpanでupdateすると以下のメッセージが出て、GDモジュールのアップデートに失敗する。"Could not find gdlib-config in the search path. Please install libgd 2.0.28 or higher. "といわれてインストールに失敗する。

  CPAN.pm: Going to build L/LD/LDS/GD-2.46.tar.gz

**UNRECOVERABLE ERROR**
Could not find gdlib-config in the search path. Please install libgd 2.0.28 or higher.
If you want to try to compile anyway, please rerun this script with the option --ignore_missing_gd.
Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
CPAN: YAML loaded ok (v0.73)
  LDS/GD-2.46.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK
Running make test
  Make had some problems, won't test
Running make install
  Make had some problems, won't install

まずは以下のように導入済みのパッケージからdb.hを検索してみる。存在しないことがわかる。

# dpkg --search gdlib-config
dpkg: *gdlib-config* not found.

未導入のパッケージにgdlib-configが含まれる場合には、webの検索インターフェイスをつかう。複数のパッケージ(libgd2-noxpm-dev, libgd2-xpm-dev)がgdlib-configというファイルを提供することがわかる。2つの違いはXPMをサポートするか否か。ためしにそれぞれのインストールを-sオプションをつけてシュミレーションすると以下。libgd2-noxpm-devの場合はどうやら面倒なことがありそうなので、おとなしくlibgd2-xpm-devを導入することにする。

# aptitude -s install libgd2-noxpm-dev
The following NEW packages will be installed:
  libgd2-noxpm{ab} libgd2-noxpm-dev libjpeg62-dev{a}
0 packages upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 774 kB of archives. After unpacking 2,032 kB will be used.
The following packages have unmet dependencies:
  libgd2-noxpm: Conflicts: libgd2 which is a virtual package.
                Conflicts: libgd2-xpm but 2.0.36~rc1~dfsg-5 is installed.
  libgd2-xpm: Conflicts: libgd2 which is a virtual package.
              Conflicts: libgd2-noxpm but 2.0.36~rc1~dfsg-5 is to be installed.
The following actions will resolve these dependencies:

     Remove the following packages:
1)     libdata-random-perl
2)     libgd-gd2-perl
3)     libgd2-xpm
4)     libwww-mechanize-formfiller-perl
5)     libwww-mechanize-shell-perl



Accept this solution? [Y/n/q/?] q
Abandoning all efforts to resolve these dependencies.
Abort.
# aptitude -s install libgd2-xpm-dev
The following NEW packages will be installed:
  libgd2-xpm-dev libjpeg62-dev{a} libxpm-dev{a}
0 packages upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 649 kB of archives. After unpacking 1,671 kB will be used.
Do you want to continue? [Y/n/?] n
Abort.

ということでlibgd2-xpm-devをインストール。

# aptitude install libgd2-xpm-dev
The following NEW packages will be installed:
  libgd2-xpm-dev libjpeg62-dev{a} libxpm-dev{a}
0 packages upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 649 kB of archives. After unpacking 1,671 kB will be used.
Do you want to continue? [Y/n/?] y
Get:1 http://ftp.jp.debian.org/debian/ squeeze/main libxpm-dev i386 1:3.5.8-1 [95.8 kB]
Get:2 http://ftp.jp.debian.org/debian/ squeeze/main libjpeg62-dev i386 6b1-1 [189 kB]
Get:3 http://ftp.jp.debian.org/debian/ squeeze/main libgd2-xpm-dev i386 2.0.36~rc1~dfsg-5 [364 kB]
Fetched 649 kB in 0s (1,756 kB/s)
Selecting previously deselected package libxpm-dev.
(Reading database ... 68719 files and directories currently installed.)
Unpacking libxpm-dev (from .../libxpm-dev_1%3a3.5.8-1_i386.deb) ...
Selecting previously deselected package libjpeg62-dev.
Unpacking libjpeg62-dev (from .../libjpeg62-dev_6b1-1_i386.deb) ...
Selecting previously deselected package libgd2-xpm-dev.
Unpacking libgd2-xpm-dev (from .../libgd2-xpm-dev_2.0.36~rc1~dfsg-5_i386.deb) ...
Processing triggers for man-db ...
Setting up libxpm-dev (1:3.5.8-1) ...
Setting up libjpeg62-dev (6b1-1) ...
Setting up libgd2-xpm-dev (2.0.36~rc1~dfsg-5) ...

この後、再度cpanでupdateを行うと以下のように成功していることが確認できる。

  CPAN.pm: Going to build L/LD/LDS/GD-2.46.tar.gz

Configuring for libgd version 2.0.36.
Checking for stray libgd header files...none found.

Included Features:          GD_XPM GD_JPEG GD_FONTCONFIG GD_FREETYPE GD_PNG GD_GIF GD_GIFANIM GD_OPENPOLYGON GD_UNCLOSEDPOLY GD_ANIMGIF GD_FTCIRCLE VERSION_33
GD library used from:       /usr
Checking if your kit is complete...
Looks good
Writing Makefile for GD
Writing MYMETA.yml and MYMETA.json
/usr/bin/perl GD/Image.pm.PLS GD/Image.pm
Extracting Image.pm (with variable substitutions)
cp GD/Polyline.pm blib/lib/GD/Polyline.pm
cp qd.pl blib/lib/qd.pl
cp GD/Image.pm blib/lib/GD/Image.pm
cp GD.pm blib/lib/GD.pm
AutoSplitting blib/lib/GD.pm (blib/lib/auto/GD)
cp GD/Simple.pm blib/lib/GD/Simple.pm
cp GD/Polygon.pm blib/lib/GD/Polygon.pm
cp GD/Group.pm blib/lib/GD/Group.pm
/usr/bin/perl /usr/local/share/perl/5.10.1/ExtUtils/xsubpp  -typemap /usr/share/perl/5.10/ExtUtils/typemap -typemap typemap  GD.xs > GD.xsc && mv GD.xsc GD.c
cc -c  -I/usr/include -Wformat=0 -O2 -g   -DVERSION=\"2.46\" -DXS_VERSION=\"2.46\" -fPIC "-I/usr/lib/perl/5.10/CORE"  -DHAVE_JPEG -DHAVE_FT -DHAVE_XPM -DHAVE_GIF -DHAVE_P
NG -DHAVE_ANIMGIF -DVERSION_33 -DHAVE_UNCLOSEDPOLY -DHAVE_FONTCONFIG -DHAVE_FTCIRCLE GD.c
Running Mkbootstrap for GD ()
chmod 644 GD.bs
rm -f blib/arch/auto/GD/GD.so
LD_RUN_PATH="/usr/lib" cc  -shared -O2 -g -L/usr/local/lib -fstack-protector GD.o  -o blib/arch/auto/GD/GD.so   \
           -L/usr/lib -L/usr/lib -L/usr/lib64 -L/usr/lib64 -lXpm -lX11 -ljpeg -lfontconfig -lfreetype -lpng12 -lz -lm -lgd      \

chmod 755 blib/arch/auto/GD/GD.so
cp GD.bs blib/arch/auto/GD/GD.bs
chmod 644 blib/arch/auto/GD/GD.bs
/usr/bin/perl "-Iblib/arch" "-Iblib/lib" bdf_scripts/bdf2gdfont.PLS bdf_scripts/bdf2gdfont.pl
Extracting bdf2gdfont.pl (with variable substitutions)
cp bdf_scripts/bdf2gdfont.pl blib/script/bdf2gdfont.pl
/usr/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/bdf2gdfont.pl
Manifying blib/man1/bdf2gdfont.pl.1p
Manifying blib/man3/GD::Polyline.3pm
Manifying blib/man3/GD::Image.3pm
Manifying blib/man3/GD::Simple.3pm
Manifying blib/man3/GD.3pm
Manifying blib/man3/GD::Polygon.3pm
  LDS/GD-2.46.tar.gz
  /usr/bin/make -- OK
CPAN: YAML loaded ok (v0.73)
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
Testing using png support.
t/GD.t ........ ok
t/Polyline.t .. ok
All tests successful.
Files=2, Tests=13,  1 wallclock secs ( 0.08 usr  0.02 sys +  0.40 cusr  0.06 csys =  0.56 CPU)
Result: PASS
  LDS/GD-2.46.tar.gz
  /usr/bin/make test -- OK
Running make install
Prepending /root/.cpan/build/GD-2.46-O32m4j/blib/arch /root/.cpan/build/GD-2.46-O32m4j/blib/lib to PERL5LIB for 'install'
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/local/lib/perl/5.10.1/auto/GD/GD.so
Installing /usr/local/lib/perl/5.10.1/auto/GD/GD.bs
Installing /usr/local/lib/perl/5.10.1/qd.pl
Installing /usr/local/lib/perl/5.10.1/GD.pm
Installing /usr/local/lib/perl/5.10.1/GD/Image.pm
Installing /usr/local/lib/perl/5.10.1/GD/Simple.pm
Installing /usr/local/lib/perl/5.10.1/GD/Polygon.pm
Installing /usr/local/lib/perl/5.10.1/GD/Polyline.pm
Installing /usr/local/lib/perl/5.10.1/GD/Group.pm
Installing /usr/local/lib/perl/5.10.1/auto/GD/autosplit.ix
Installing /usr/local/man/man1/bdf2gdfont.pl.1p
Installing /usr/local/man/man3/GD::Polygon.3pm
Installing /usr/local/man/man3/GD::Polyline.3pm
Installing /usr/local/man/man3/GD::Simple.3pm
Installing /usr/local/man/man3/GD.3pm
Installing /usr/local/man/man3/GD::Image.3pm
Installing /usr/local/bin/bdf2gdfont.pl
Appending installation info to /usr/lib/perl/5.10/perllocal.pod
  LDS/GD-2.46.tar.gz
  /usr/bin/make install  -- OK

リファレンス

  1. aptitude install manpage "-s" シュミレーション
  2. aptitude - Linux
  3. aptitude install manpage - Google 検索
  4. Debian -- パッケージ内容検索結果 -- gdlib-config
  5. Debian -- squeeze の libgd2-xpm-dev パッケージに関する詳細
  6. Debian -- squeeze の libgd2-noxpm-dev パッケージに関する詳細
  7. XPM - Wikipedia
  8. XPM - Google 検索

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2010-01-29T08:12:15+09:00
  2. Modified: 2010-01-29T08:12:15+09:00
  3. Generated: 2017-10-19T23:09:17+09:00