in reply to installing GD.pm

Regardless of the warnings the compilation completes (a GD.o is created)

But it's the GD.so (not GD.o) that's being sought and not located.

t/Polyline.t .. Can't locate loadable object for module GD in @INC (@INC contains: /home/mh/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/x86_64-linux-thread-multi /home/mh/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1 /home/mh/perl5/perlbrew/perls/perl-5.18.1/lib/5.18.1/x86_64-linux-thread-multi /home/mh/perl5/perlbrew/perls/perl-5.18.1/lib/5.18.1 .) at GD/Polyline.pm line 45.

At this stage the GD.so will be in a blib folder - but I don't see "blib" mentioned anywhere in the above error message. (For the running of 'make test' it *should* be there.)
After you've run 'make install', the GD.so should have been placed in a position where it *does* get found with the above @INC. This would explain that the module then works fine.

Does the same problem occur when you build other perl extensions ?
It won't be a problem with "pure perl" modules - but for extensions (ie those modules that involve C code that needs to be compiled) this ought to be working properly.
If the problem does not arise with other extensions, then the GD source distro would seem to be the culprit. Otherwise, it's something else ;-)

Cheers,
Rob

Replies are listed 'Best First'.
Re^2: installing GD.pm
by morgon (Priest) on Dec 24, 2013 at 13:39 UTC
    Sorry for confusing things, I wanted to refer to GD.so.

    Both GD.o and GD.so are created, GD.o in the top level, GD.so in blib/arch/auto/GD. running ldd on GD.so shows no missing libraries.

    The output from running "make test" gave me no indication about what was going wrong, so I resorted to run the test-scripts manually - this is how I generated the output I posted.

    So far I did not have any problem with the GD.pm that I installed regardless of the failed tests, still I would like to understand what the problem was - I will repeat the excercise on another machine and see what happens there...

      so I resorted to run the test-scripts manually

      I'm not entirely sure of the way you did that ... though I feel I ought to be able to deduce it from the output you provided.
      Prior to installing the module, you need to run that test script as perl -Mblib t/polyline.t

      If that's what you did, then I'm still puzzled as to the absence of blib in @INC - it *should* be there.

      Of course, after you've installed the module, you should be able to run that script as simply perl t/polyline.t

      (This may well have little or nothing to do with the problem you're trying to solve, but it's at least a bit of a puzzle in itself.)

      Cheers,
      Rob