IO object version 1.21 does not match bootstrap parameter 1.18

E

Eugene Borukhovich

Hello,

I have Fedora Core 1 (Linux host2.macroscape.com
2.4.22-1.2188.nptl_48.rhfc1.a)
With perl:


[root@host2 scripts]# perl -v

This is perl, v5.8.3 built for i386-linux-thread-multi

I have compiled form scratch some modules for ex Net::ping and for
some reason can not use them. Any perl script I try to run gives me
the following errors:

IO object version 1.21 does not match bootstrap parameter 1.18 at
/usr/lib/perl5/5.8.3/i386-linux-thread-multi/DynaLoader.pm line 249.
Compilation failed in require at
/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/IO/Handle.pm
line 260.
BEGIN failed--compilation aborted at
/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/IO/Handle.pm
line 260.
Compilation failed in require at
/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/IO/Seekable.pm
line 101.
BEGIN failed--compilation aborted at
/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/IO/Seekable.pm
line 101.
Compilation failed in require at
/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/IO/File.pm line
117.
BEGIN failed--compilation aborted at
/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/IO/File.pm line
117.
Compilation failed in require at /usr/lib/perl5/5.8.3/FileHandle.pm
line 9.
Compilation failed in require at
/usr/lib/perl5/5.8.3/i386-linux-thread-multi/Net/Ping.pm line 14.
BEGIN failed--compilation aborted at
/usr/lib/perl5/5.8.3/i386-linux-thread-multi/Net/Ping.pm line 14.
Compilation failed in require at medco.pl line 2.
BEGIN failed--compilation aborted at test.pl line 2.

anybody have any thoghts? I actually thought to upgrade the
DynaLoader, but can not find the source for that on CPAN (I guess it
only comes with perl)

Thanks, EB
 
S

Sherm Pendley

Eugene said:
I have compiled form scratch some modules for ex Net::ping and for
some reason can not use them.

How did you compile them? Did you use the *full* standard procedure, up
to and including the "make install"? Any special options or flags?
IO object version 1.21 does not match bootstrap parameter 1.18 at
/usr/lib/perl5/5.8.3/i386-linux-thread-multi/DynaLoader.pm line 249.

The IO module has two separate pieces, a compiled C component that's in
a .so file, and a Perl component that's in a .pm file. This error
indicates that the version number reported by these two pieces does not
match.

This is generally the result of an incorrectly installed module, which
is why I asked above how you installed it.
I actually thought to upgrade the DynaLoader

That's absurd. The error message clearly states what module - IO - is
misconfigured.

sherm--
 
E

Eugene Borukhovich

Sherm Pendley said:
How did you compile them? Did you use the *full* standard procedure, up
to and including the "make install"? Any special options or flags?

Yep the full boat perl Makefile.PL;make;make install. I dont have
problems with the default modules that came with Perl, only the newly
compiled ones - maybe should start using CPAN shell - but I think I
would get into he same boat anyhow
The IO module has two separate pieces, a compiled C component that's in
a .so file, and a Perl component that's in a .pm file. This error
indicates that the version number reported by these two pieces does not
match.

This is generally the result of an incorrectly installed module, which
is why I asked above how you installed it.


That's absurd. The error message clearly states what module - IO - is
misconfigured.

So why is DynaLoader referenced? I fond that those IO messages are
misleading since at he end it actually lists the module that is
conflicting...
 
S

Sherm Pendley

Eugene said:
Yep the full boat perl Makefile.PL;make;make install. I dont have
problems with the default modules that came with Perl, only the newly
compiled ones - maybe should start using CPAN shell

The CPAN shell does the same thing.
So why is DynaLoader referenced?

DynaLoader is *reporting* the problem, not *causing* it.

Besides - the reported version numbers don't make sense for DynaLoader.
For 5.8.1, it's at 1.04, for 5.8.4 it's 1.05.

For 5.8.1, IO is at 1.20, with 5.8.4, IO is 1.21. That's more in line
with the version number's you're seeing above. (An interesting note is
that the older version you're seeing - 5.18 - predates the Perl version
you're using. That fact could be helpful in diagnosing the cause.)

So you have the latest IO.pm, which is reporting version 1.21, but when
DynaLoader tries to load IO.so, that reports version 1.18. This is a
fatal problem, so DynaLoader complains about it and dies.

Perl has separate directories for version-specific modules specifically
to prevent this sort of problem. The fact that it's happening usually
indicates either a module install gone very wrong, or a very badly
misconfigured perl.

The first problem listed is the one you need to diagnose and fix first -
the others are a result of the first. When IO fails to load, the module
that tried to use it (IO::Handle) fails. Then the module that tried to
use IO::Handle fails. And so on, until the main script fails at the end.

So the key to solving the problem is figuring out *why* your Perl is
loading the latest IO.pm, but an older IO.so.

That's why I asked about how it was installed - I've often seen folks
skip the final "make install" step and manually copy .pm files into
place. Naturally that results in the newer .pm trying to load the older .so.

Another common problem is issuing 'make install' when 'make' failed with
compilation errors. Since the .so failed to build, the only thing that
gets installed in that case is the newer .pm; the older .so is left in
place.

The *very* old IO.so that's being reported is interesting - it indicates
that libraries from a much older Perl are being found. That can happen
in any number of ways.

sherm--
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,969
Messages
2,570,161
Members
46,705
Latest member
Stefkari24

Latest Threads

Top