Clint Olsen wrote:
> 
> Hello:

Hi Clint,

Neil Watkiss and I tested 0.33 (successfully :) on almost a dozen
configurations including HP-UX 11.

> I tried building 0.32 and some of the tests fail.  I am not an expert in
> the test harness, so I don't know exactly what is happening and why.  I
> just downloaded 0.33 and also received some "make test" errors.  I'm using
> Perl 5.6.1.
> 
> If anyone can tell me what I might be doing wrong, that would be terrific.

I can try to give you some advice and make some suggestions, but the
entire solution is not readily apparent to me.

> > The C compiler '/opt/ansic/bin/cc' was not found on your system by
> > searching your PATH. You can install Inline.pm without installing
> > Inline::C. But you'll need to install another Inline language module
> > (like Inline::Java for instance) to actually make any use of it.

OK. This is definitely my fault/bug. I didn't expect full path names for
this value. So I'm searching the PATH for that long string. That should
be an easy fix. In the mean time just answer 'Y' when it asks whether
you want to install Inline::C.

BTW, this value (and many others that Inline uses) come from Config.pm.
It's always worth examining your Config.pm values when hunting down
Inline bugs. I'd be interested in the output of this command:

    perl -MData::Dumper -MConfig -e 'print Dumper \%Config'

> % make test
>         PERL_DL_NONLAZY=1 /afs/pdx/proj/otools/bin/HP-UX/perl -Iblib/arch -Iblib/lib 
>-I/afs/pdx/proj/otools/perl-5.6.1/lib/5.6.1/PA-RISC2.0 
>-I/afs/pdx/proj/otools/perl-5.6.1/lib/5.6.1 -e 'use Test::Harness qw(&runtests 
>$verbose); $verbose=0; runtests @ARGV;' t/*.t
> t/00init............ok
> t/01usages..........ok
> t/02config..........ok
> t/03errors..........ok
> t/04create..........ok
> All tests successful.
> Files=5, Tests=14,  1 wallclock secs ( 1.06 cusr +  0.25 csys =  1.31 CPU)

OK so far. One red flag I see here is '/afs'. I assume that's on an AFS
file system. I have no working knowledge of AFS. Does anyone else out
there use Inline on AFS?

>         PERL_DL_NONLAZY=1 /afs/pdx/proj/otools/bin/HP-UX/perl -I../blib/arch 
>-I../blib/lib -I/afs/pdx/proj/otools/perl-5.6.1/lib/5.6.1/PA-RISC2.0 
>-I/afs/pdx/proj/otools/perl-5.6.1/lib/5.6.1 -e 'use Test::Harness qw(&runtests 
>$verbose); $verbose=0; runtests @ARGV;' t/*.t
> t/00init............ok
> t/01syntax..........Uncaught exception from user code:
>         Uncaught exception from user code:
> 
> A problem was encountered while attempting to compile and install your Inline
> C code. The command that failed was:
>   make > out.make 2>&1
> 
> The build directory was:
> 
>/scratch/Inline-0.33/C/_Inline_test/build/main_C_01syntax_t_6b3a4278c1eae92a7312589d40abe34b/
> 
> To debug the problem, cd to the build directory, and inspect the output files.
> 
>  at t/01syntax.t line 36
>         Carp::croak('^JA problem was encountered while attempting to compile and 
>insta...') called at ../blib/lib/Inline/C.pm line 590
>         Inline::C::compile('Inline::C=HASH(0x401cb654)') called at 
>../blib/lib/Inline/C.pm line 214
>         Inline::C::build('Inline::C=HASH(0x401cb654)') called at 
>../blib/lib/Inline.pm line 233
>         Inline::glue('Inline::C=HASH(0x401cb654)') called at ../blib/lib/Inline.pm 
>line 120
>         Inline::import('Inline', 'C', '^Jint add(int x, int y) {^J    return x + 
>y;^J}^J^Jint subtract(int x...') called at t/01syntax.t line 36
>         main::BEGIN() called at t/01syntax.t line 36
>         eval {...} called at t/01syntax.t line 36
> BEGIN failed--compilation aborted at t/01syntax.t line 36.
> dubious
>         Test returned status 9 (wstat 2304, 0x900)
> DIED. FAILED tests 1-5
>         Failed 5/5 tests, 0.00% okay

Not good. The compile failed here. One thing you could do is:

    % make purge    # ensure a fresh start
    % perl Makefile.PL
    % make
    % cd C
    % perl -Mblib t/00init.t
    % perl -Mblib -MInline=REPORTBUG t/01syntax.t
    % perl -Mblib -MInline=REPORTBUG t/01config.t
    etc ...

Then follow the REPORTBUG instructions, and send me the results.

> t/02config..........Uncaught exception from user code:
>         Uncaught exception from user code:
>         Invalid value './_Inline_test' for config option DIRECTORY
> 
>  at t/02config.t line 39
>         Carp::croak('Invalid value \'./_Inline_test\' for config option 
>DIRECTORY^J^J') called at ../blib/lib/Inline.pm line 321
>         Inline::check_config('Inline=HASH(0x402d925c)', 'PRINT_INFO', 0, 'WITH', 
>'ARRAY(0x402d7984)', 'GLOBAL_LOAD', 0, 'DIRECTORY', ...) called at 
>../blib/lib/Inline.pm line 208
>         Inline::glue('Inline=HASH(0x402d925c)') called at ../blib/lib/Inline.pm line 
>120
>         Inline::import('Inline', 'C', 'char* XYZ_Howdy(){return "Hello There";}', 
>'PREFIX', 'XYZ_') called at t/02config.t line 39
>         main::BEGIN() called at t/02config.t line 39
>         eval {...} called at t/02config.t line 39
> BEGIN failed--compilation aborted at t/02config.t line 39.
> dubious
>         Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 2-3
>         Failed 2/3 tests, 33.33% okay

This is a stumper. How could './_Inline_test' not exist. The other tests
use it. Hmmm :/

> t/03typemap.........ok

Wow. This one worked! I know it compiles stuff so... weird

> t/04perlapi.........
> A problem was encountered while attempting to compile and install your Inline
> C code. The command that failed was:
>   make > out.make 2>&1

More failed compiles.

> Here's the contents from one of my out.make files:
> 
> Makefile out-of-date with respect to Makefile.PL
> Cleaning current config before rebuilding Makefile...
>         make -f Makefile.old clean > /dev/null 2>&1 || /bin/sh -c true
>         /afs/pdx/proj/otools/HP-UX/bin/perl
> "-I/afs/pdx/proj/otools/perl-5.6.1/lib/5.6.1/PA-RISC2.0"
> "-I/afs/pdx/proj/otools/perl-5.6.1/li
> b/5.6.1" Makefile.PL
> Writing Makefile for main_C_01syntax_t_6b3a4278c1eae92a7312589d40abe34b
> ==> Your Makefile has been rebuilt. <==
> ==> Please rerun the make command.  <==
>         false
> *** Error exit code 1

All this is autogenerated. In other words, this situation should never
happen. How can the Makefile be out of date? Inline just generated it.
Is AFS playing tricks on me?

> 
> Stop.

I'd definitely like to get all this squared away. But it will be hard to
do it remotely. I hope some other mailing list participants will make
suggestions. Start by sending me the requested info.

Cheers, Brian

-- 
perl -le 'use Inline C=>q{SV*JAxH(char*x){return newSVpvf
("Just Another %s Hacker",x);}};print JAxH+Perl'

Reply via email to