Albert Danial wrote:
>
> > > Now the question:
> > > Although my Inline'ed code works great, Inline recompiles the C
> > > code every time I run the perl script, even if I run it twice
> > > back to back without even opening the file for viewing. Where
> > > should I look to fix my configuration? I admit I haven't done
> > > my due diligence of research so if this is a FAQ, just tell me
> > > to RTFM, no problem. -- Al
> >
> > That's no good at all. Inline should run instantly the 2nd time.
> >
> > Try running this command twice, and make sure the named object is being
> > created.
> >
> > perl -MInline=info -le 'use Inline C=>q{SV*JAxH(char*x){return newSVpvf
> > ("Just Another %s Hacker",x);}};print JAxH+Perl'
> >
> > I'd like to get to the bottom of that problem. Keep me posted.
>
> hi Brian, using the above command I was able to figure out why Inline
> keeps recompiling my C code everytime. The information section says
> it will install the executable as xxx.a. However when I look in the
> build directory I see xxx.so. I need to set my system up so that
> one of these two things happens:
> - Inline builds a shared object, then tries looking for a shared object
> second time around (instead of an archive),
> or
> - Inline builds an archive instead of a shared object so that it finds
> the archive the second time around.
As soon as I read this I said, "I'll bet he's on AIX". Sure enough.
AIX seems to have some broken behaviour in regards to its Config.pm. It
sets so=a which Inline is not prepared to handle. I asked around and
people seem to think this is an AIX/Perl bug. Regardless, I'll need to
put a fix in. Could you please send me the following:
1) Your Config.pm module
2) A tarball of your entire _Inline/ directory after running:
perl -MInline=info,force,noclean -le 'use Inline
C=>q{SV*JAxH(char*x){return newSVpvf("Just Another %s
Hacker",x);}};print JAxH+Perl'
I should have a fix this week.
In the meantime, could you try temporarily changing your Config.pm to
say "so='so'" instead of "so='a'", and let me know if Inline behaves
correctly.
Thanks, Brian
--
perl -le 'use Inline C=>q{SV*JAxH(char*x){return newSVpvf
("Just Another %s Hacker",x);}};print JAxH+Perl'