Новости:

Форуму исполнилось 12 лет!

Мы в матрице .
Мы в телеге .

Главное меню

Проблема с установкой GD

Автор dok, 04 февраля 2014, 15:53:29

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

dok

Категорически приветствую,
Не могу разобраться в чем проблема:
ставлю GD через CPAN, тест не проходит, модуль не ставится.
В системе libgd стоит и работает без проблем и все связанные с ней библиотеки установлены (вывод ниже).
Прошу обратить внимание на сообщение выделенное жирным шрифтом, помоему в этом причина, но не могу понять его суть.
Файл /usr/include/gd.h есть , а /usr/X11R6/includegd.h нет. Не подскажете, что это означает?

В PHP GD работает -print_r(gd_info()) выдает данные по библиотеке.

> ldd /usr/lib/libgd.so
        linux-gate.so.1 =>  (0xffffe000)
        libXpm.so.4 => /usr/lib/libXpm.so.4 (0xb777d000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb7660000)
        libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0xb762b000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb75fd000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7586000)
        libpng14.so.14 => /usr/lib/libpng14.so.14 (0xb7561000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb754d000)
        libm.so.6 => /lib/libm.so.6 (0xb7527000)
        libc.so.6 => /lib/libc.so.6 (0xb73c4000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb73ac000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb73a8000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb73a3000)
        libdl.so.2 => /lib/libdl.so.2 (0xb739f000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb7377000)
        /lib/ld-linux.so.2 (0xb77e5000)



Installing GD (2.50)
Running [/usr/bin/perl5.12.3 -e use strict; BEGIN { my $old = select STDERR; $|++; select $old; $|++  ; $0 = shift(@ARGV); my $rv = do($0); die $@ if $@; } /root/.cpanplus/5.12.3/build/GD-2.50/Makefile.  PL]...
Notice: Type perl Makefile.PL -h for command-line option summary.

Configuring for libgd version 2.0.35.
Checking for stray libgd header files...

** WARNING: found gd.h header file in /usr/X11R6/includegd.h, but it is expected at /usr/include/gd.  h. This may cause compile errors! **
** Possible problems found **


Included Features:          GD_XPM GD_JPEG GD_FONTCONFIG GD_FREETYPE GD_PNG GD_GIF GD_GIFANIM GD_OPE  NPOLYGON GD_UNCLOSEDPOLY GD_ANIMGIF GD_FTCIRCLE VERSION_33
GD library used from:       /usr
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for GD
Writing MYMETA.yml and MYMETA.json
Running [/usr/bin/make test]...
Running Mkbootstrap for GD ()
chmod 644 GD.bs
PERL_DL_NONLAZY=1 /usr/bin/perl5.12.3 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test:  :Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
Testing using png support.
t/GD.t ........
Failed 1/12 subtests
        (less 1 skipped subtest: 10 okay)
t/Polyline.t .. ok

Test Summary Report
-------------------
t/GD.t      (Wstat: 0 Tests: 12 Failed: 1)
  Failed test:  10
Files=2, Tests=13,  1 wallclock secs ( 0.04 usr  0.01 sys +  0.20 cusr  0.02 csys =  0.27 CPU)
Result: FAIL
Failed 1/2 test programs. 1/13 subtests failed.
make: *** [test_dynamic] Error 255


The tests for 'GD' failed. Would you like me to proceed anyway or should we abort?

Proceed anyway? [y/N]: n
[ERROR] Unable to create a new distribution object for 'GD' -- cannot continue

*** Install log written to:
  /root/.cpanplus/install-logs/GD-2.50-1391512836.log

Error installing 'GD'

dok


Graf

Думаю, тебе, как программисту видна ошибка? ;)

http://cpansearch.perl.org/src/LDS/GD-2.50/Makefile.PL

...
...
sub check_for_stray_headers {
  my @official_libraries = @_;
  my %official_libraries = map {$_=>1} @official_libraries;
  print STDERR "Checking for stray libgd header files...";
  my $cc          = $Config{'cc'};
  my $data        = `$cc -print-search-dirs`;
  $data         ||= '';
  my ($libraries)    = $data =~ /^libraries: =(.+)/m;
  my @cc_libs        = split /:/,$libraries;
  foreach (@cc_libs) { s/\/$//; }

  my %libraries   = map {$_=>1} (@cc_libs,'/include','/usr/include',
                                 '/usr/local/include','/opt/include',
                                 '/usr/X11R6/include');
  my $problems;
  foreach (keys %libraries) {

    s/\blib\b/include/;
    next if $official_libraries{$_};
    next unless -e "$_/gd.h";

    warn "\n\n** WARNING: found gd.h header file in ${_}gd.h, but it is expected at $official_libraries[0]/gd.h. This may cause compile errors! **\n";
    $problems++;
  }
  print STDERR $problems ? "** Possible problems found **\n" : "none found.\n";
  print STDERR "\n";
}

dok

Не понимаю,зачем там это - foreach (@cc_libs) { s/\/$//; }