On Sun, Feb 19, 2012 at 04:00:42AM +0100, Marco d'Itri wrote:
> On Jan 15, Marco d'Itri <m...@linux.it> wrote:
> 
> > > at least #649759 suggests this might be related to not using all
> > > the compilation flags from ExtUtils::Embed, '-D_LARGEFILE_SOURCE
> > > -D_FILE_OFFSET_BITS=64' in particular. Indeed, I see the inn2 'configure'
> > > script chops those away.
> > I removed the flags because generally enabling LFS would create an inn
> > package which cannot read the on-disk data written by the precedent
> > release, and for which there is no conversion tool.
> > So I need to find out if the internal INN ABI between the perl bits and 
> > the rest of the program depends on LFS.
> This is not going to be easy. Are you totally sure that there is no 
> other option than building with LFS all code which includes perl 
> headers?

At least all code that accesses a PerlInterpreter struct, AFAICS.

The problem is that the PerlInterpreter struct has two members of type
"Stat_t" (see intrpvar.h) , which is a "struct stat" on unix and so
varies in size depending on the LFS flags. All the later interpreter
specific variables in the struct are accessed at a wrong offset if those
flags don't match the ones libperl was built with.

'PL_sv_undef' is one of these variables, and the 'Bizarre copy of unknown'
error comes from a sanity check inside the sv_setsv() call because the
wrong PL_sv_undef doesn't make any sense.

I guess you could work around that sanity check with the 'body =
&PL_sv_undef' trick, but I'd expect other problems later.

Sorry, no better ideas.
-- 
Niko Tyni   nt...@debian.org



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to