in reply to Re^2: can't locate object method bootstrap
in thread can't locate object method bootstrap

... but I don't have the auto directory and the SO file

Ah, I'm beginning to see what the problem is.  Thing is, you do need this shared object file, because Socket6 is an architecture-specific Perl module. And if you need to install it on 30+ machines of varying architectures, you're going to need a separate .so file (or .sl or .dll for that matter) for every different architecture (and Perl version). There's no way around it, however unfortunate that may be.

There are essentially two types of modules: architecture-independent pure Perl modules, and architecture-dependent ones (often called XS modules, because that's the default method to write Perl extensions (Perl-C bindings)). Only the former ones are portable across architectures. The latter ones comprise a shared object file (compiled machine code) in addition to the regular .pm file (and the shared object may itself depend on other shared objects, depending on what it was linked against). It's DynaLoader's bootstrap method that's pulling the .so file in. If it can't find it, you'll get

can't load loadable object for module...

The fact that you did not get this message with your other directory setup, but rather the message can't locate object method "bootstrap"... doesn't mean that you've somehow magically gotten past this problem... Quite the contrary, you're not even as far as that. Once the bootstrap method is found, it will complain about the missing .so file.

Replies are listed 'Best First'.
Re^4: can't locate object method bootstrap
by gokuraku (Monk) on Jan 02, 2008 at 13:37 UTC
    Ok, that makes a lot more sense now. I'll have to make some changes in how we do things then, but if this is how the modules are done. So be it. Thanks very much for clearing it all up!