Don't expect shared object files to work across operating systems. Install them on each OS separately. | [reply] |
Well, I'd go even further:
- don't expect (at all) that .so files can go from one operating system to another: object files change format between operating systems (it's COFF in some UNIces, a.out in others, PE in Win32, ELF in most linuxen/BSD, etc), for starters;
- don't expect even that .so files can go from one version of one OS to another: it's possible that they depend on the installation of different versions of the kernel or some userspace libraries;
- actually, don't expect also that .so files can go from one installation of one version of one OS to another: it's possible that they depend on some userspace libraries that weren't installed.
- The installation process of a module (be it by ActiveState PPM or by CPAN or CPAN+) can put configuration files on each computer or have some other collateral effects needed for the operation of the module.
All that said, in the specific case of Net::SFTP and Net::SSH::Perl, if I were you, I would use Inline::Module -- because apparently they are both pure perl modules and it will nicely tuck them into the .pmc file of your module, that you can then distribute between your machines...
[]s, HTH, Massa (κς,πμ,πλ)
| [reply] |
| [reply] |
And even when staying on the same platform, you can run into trouble if the local Perl installation was compiled differently/individually (linker, compiler, special dependencies, etc.). If you are lucky, it will work, but I would not risk it for anything 'production-like'.
My recommendation is to individually install the Net::-packages in question. perl -MCPAN -e shell facilitates that. You can add these dependencies as prerequisites to your module. If you are in a kind of 'offline-situation' you might save a copy of the desired Net::*sources separately on your installation media. | [reply] [d/l] |