pgndev <pgnet....@gmail.com> writes:

> with

>     module_info ExtUtils::CBuilder

>         Name:        ExtUtils::CBuilder
>         Version:     0.280212
>         Directory:   /usr/lib/perl5/site_perl/5.16.2
>         File:        /usr/lib/perl5/site_perl/5.16.2/ExtUtils/CBuilder.pm
>         Core module: no

> which, iiuc, is sufficient (? is it?) to have the build also build
> necessary prereqs, nonetheless fails

Yes, that should be fine.

>     make
>     ...
>     /usr/bin/ld: unrecognized option '-Wl,-rpath,/usr/local/ssl/lib64'
>     /usr/bin/ld: use the --help option for usage information
>     Warning: ExtUtils::CBuilder not installed or no compiler detected
>     Proceeding with configuration, but compilation may fail during Build

Sigh.  The problem with embedding Perl distributions in the middle of an
Automake project is that what Automake means by "linker flags" is stuff
that you pass to the compiler driver while linking, whereas what Perl
means by "linker flags" is "we're going to pass this directly to the
linker."  Sometimes.  Of course, not everywhere.

env LD_RUN_PATH=/usr/local/ssl/lib64 ./configure <with your flags>
env LD_RUN_PATH=/usr/local/ssl/lib64 make

avoids this problem if the LD_RUN_PATH variable is supported by your
linker, which it should be.  That's one of the reasons why I like using
the environment variable set during the build instead of the -Wl approach.

Module::Build, if it can't run its test program, then gets into some weird
state where the builds all fail.

>     Checking prerequisites...
>       requires:
>         !  CGI::Application is not installed
>         !  CGI::Application::Plugin::AutoRunmode is not installed
>         !  CGI::Application::Plugin::Forward is not installed
>         !  CGI::Application::Plugin::Redirect is not installed
>         !  CGI::Application::Plugin::TT is not installed
>         !  Template is not installed

You'll eventually need all that stuff installed, but cpan, etc., will take
care of that for you (and they often have OS packages).

-- 
Russ Allbery <ea...@windlord.stanford.edu>
Technical Lead, ITS Infrastructure Delivery Group, Stanford University

Reply via email to