http://www.perlmonks.org?node_id=610642


in reply to Installing binary-dependant module on shared hosting (Time::Piece)

Compile the module on a binary compatible system and move everything in blib/ to whatever directory you store your modules on the remote host.

perl Makefile.PL make # copy blib

Replies are listed 'Best First'.
Re^2: Installing binary-dependant module on shared hosting (Time::Piece)
by isync (Hermit) on Apr 17, 2007 at 22:20 UTC
    I did as described and still no success.

    After I wrangled with unix permissions and the output of the compiler on my local machine, I uploaded the blib path which contains

    /arch
    /lib
    /man3

    directories. Then, an error later, as I thought the module coulnd't find it, I moved a copy of the "Piece.so" file from /arch into the /lib tree and got the following error:

    "Can't load '/path/to/blib/lib//auto/Time/Piece/Piece.so' for module Time::Piece: /path/to/blib/lib//auto/Time/Piece/Piece.so: cannot open shared object file: No such file or directory at /usr/lib/perl/5.6.1/DynaLoader.pm line 202. "

    I use "use lib qw( /path/to/blib/lib/ );" in the script.
      You should use use lib '/path/to/blib' not use '/path/to/blib/lib' if i understand you correctly.

      So the argument to "use lib" should be the directory containing both "lib" and "arch".

      update: or maybe you should move the whole "arch" directory into the "lib" dir. I'm not sure.

      update 2: after inspecting the code in blib I assume what you actually need to do is:

      use lib "/path/to/blib/lib"; use lib "/path/to/blib/arch";