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