On Jan 15,  6:23pm, Jarkko Hietaniemi wrote:
> > cc='cc -n32 -mips4 -TARG:platform=ip32';
> > 
> > > perl -V:ccflags
> > 
> > ccflags='-D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -DLANGUAGE_C 
>-I/server/people/staff/easmith/include -DDEBUGGING';
> >
> > >    Does the C compiler show by -V:cc exist in your system?
> > 
> > Yes. It is capable of compiling the above program. cc -n32 -mips4
> > -TARG:platform=ip32 -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184
> > -DLANGUAGE_C -I/server/people/staff/easmith/include -DDEBUGGING -c
> > also compiles it.
> 
> Hmmm.  You don't have the environment variable CC set, by any chance?

Yes, actually:

cc -mips4 -n32 -L/server/people/staff/easmith/lib32 -L/usr/lib32/mips4
-L/usr/lib32 -L/lib32 
-Wl,-rpath,/server/people/staff/easmith/lib32:/usr/lib32/mips4:/usr/lib32:/lib32 
-Wl,-multigot -woff 1110

Hmm... interesting. Unsetting this results in Makefile.PL succeeding
in producing a Makefile, which successfully does a make and make test:

/usr/sbin/perl -I/usr/share/lib/perl5/5.6.0/IP32-irix -I/usr/share/lib/perl5/5.6.0 
/usr/share/lib/perl5/5.6.0/ExtUtils/xsubpp  -typemap 
/usr/share/lib/perl5/5.6.0/ExtUtils/typemap Resource.xs > Resource.xsc && mv 
Resource.xsc Resource.c
cc -n32 -mips4 -TARG:platform=ip32 -c  -D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 
-DLANGUAGE_C -I/server/people/staff/easmith/include -DDEBUGGING -r5000 
-OPT:fast_sqrt=OFF:Olimit=0 -TENV:X=1 -LNO:opt=1:ou_further=3 
-OPT:fold_unsafe_relops=OFF:div_split=OFF:IEEE_arithmetic=1:roundoff=0 -LNO:vintr=OFF 
-OPT:got_call_conversion=OFF     -DVERSION=\"1.11\" -DXS_VERSION=\"1.11\"  
-I/usr/share/lib/perl5/5.6.0/IP32-irix/CORE  Resource.c
Running Mkbootstrap for BSD::Resource ()
chmod 644 Resource.bs
LD_RUN_PATH="/usr/lib32" ld -mips4 -n32 -shared -update_registry 
/usr/lib32/so_locations -o blib/arch/auto/BSD/Resource/Resource.so -rpath "/usr/lib32" 
-L/server/people/staff/easmith/lib32 -L/usr/lib32/mips4 -L/usr/lib32/internal 
-L/usr/lib32 -L/lib32 -rpath 
/server/people/staff/easmith/lib32:/usr/lib32/mips4:/usr/lib32/internal:/usr/lib32:/lib32
 Resource.o    -lbsd 
ld32: WARNING 84 : /usr/lib32/libbsd.a is not used for resolving any symbol.
chmod 755 blib/arch/auto/BSD/Resource/Resource.so
cp Resource.bs blib/arch/auto/BSD/Resource/Resource.bs
chmod 644 blib/arch/auto/BSD/Resource/Resource.bs
Manifying blib/man3/BSD::Resource.3
PERL_DL_NONLAZY=1 /usr/sbin/perl -Iblib/arch -Iblib/lib 
-I/usr/share/lib/perl5/5.6.0/IP32-irix -I/usr/share/lib/perl5/5.6.0 -e 'use 
Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
t/getpriority....ok                                                          
t/getrlimit......ok                                                          
t/getrusage......ok                                                          
t/setpriority....ok                                                          
t/setrlimit......ok                                                          
t/times..........ok                                                          
All tests successful.
Files=6, Tests=33, 29 wallclock secs (19.46 cusr +  0.47 csys = 19.93 CPU)


> That the configuration phase claims that those headers cannot be found
> means that the try_compile_and_link() in Makefile.PL fails.  Try editing
> that and removing the 2>/dev/null from the $cccmd, maybe we'll see what
> is going wroing.

I'm afraid it didn't produce any further info. It looks to be the
checking for $ENV{CC} that's the problem. I'm also wondering about the 
'basename' in there if $cc isn't executable - it won't be if $cc is
more than just "cc" or "gcc". Ah. Yes. I stuck in lines to print out
$cc before and after that step, and got:

cc is cc -mips4 -n32 -L/server/people/staff/easmith/lib32 -L/usr/lib32/mips4 
-L/usr/lib32 -L/lib32 
-Wl,-rpath,/server/people/staff/easmith/lib32:/usr/lib32/mips4:/usr/lib32:/lib32 
-Wl,-multigot -woff 1110
cc is lib32 -Wl,-multigot -woff 1110

The latter is _not_ going to work. What happens if it uses Config{cc}
is:

cc is cc -n32 -mips4 -TARG:platform=ip32
cc is cc -n32 -mips4 -TARG:platform=ip32

The problem is that basename is seeing the '/' in the $cc above and
cutting it off after the last one. It just _happens_ that Config{cc}
doesn't have any of those... but it could on some systems, depending
on the configuration.

> > BTW, getrusage, getrlimit, getrlimit64, setrlimit, setrlimit64,
> > getpriority, and setpriority all exist on IRIX 6.5. The *64 versions:
> 
> I don't think the BSD::Resource currently supports the *64() versions.

Well, no, but I thought you might like to know about them... I would
be curious if this is how other mixed 32/64-bit systems (if there are
any other than IRIX) are doing things.

> -- 
> $jhi++; # http://www.iki.fi/jhi/
>         # There is this special biologist word we use for 'stable'.
>         # It is 'dead'. -- Jack Cohen

As I previously remarked, as a biologist I do appreciate this
quote... :-}

        Yours,

        -Allen

-- 
Allen Smith                     [EMAIL PROTECTED]
September 11, 2001              A Day That Shall Live In Infamy II
"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety." - Benjamin Franklin

Reply via email to