.so file not found: I need troubleshooting ideas

Discussion in 'Perl Misc' started by kj, Nov 15, 2006.

  1. kj

    kj Guest

    I have a CGI script that fails only if I invoke it via an HTTP
    request, but not if I run the exact same executable locally. In
    the Apache logs I find an error of the form "Can't locate loadable
    object for module Foo::Bar...". I'm wracking my brains trying to
    figure out why the script fails to find the loadable object *only*
    when it is run via an HTTP request.

    I have checked all the usual reasons. In particular, 1) the loadable
    object is in /some/path/i586-linux-thread-multi/auto/Foo/Bar/Bar.so,
    and /some/path/i586-linux-thread-multi is in the @INC of the script
    when run via an HTTP request; 2) the loadable object and every
    directory in its path are all world-readable and world-executable;
    and 3) the executable can find and use this loadable object without
    any problem when I invoke it locally.

    I have run out of troubleshooting ideas and after hours of trying
    to figure this out my brain is mush. Can anyone suggest something
    else I could do to troubleshoot this problem?

    Thanks in advance!

    kj
    --
    NOTE: In my address everything before the first period is backwards;
    and the last period, and everything after it, should be discarded.
     
    kj, Nov 15, 2006
    #1
    1. Advertising

  2. kj

    Guest

    kj <> wrote:
    > I have a CGI script that fails only if I invoke it via an HTTP
    > request, but not if I run the exact same executable locally. In
    > the Apache logs I find an error of the form "Can't locate loadable
    > object for module Foo::Bar...". I'm wracking my brains trying to
    > figure out why the script fails to find the loadable object *only*
    > when it is run via an HTTP request.
    >
    > I have checked all the usual reasons. In particular, 1) the loadable
    > object is in /some/path/i586-linux-thread-multi/auto/Foo/Bar/Bar.so,
    > and /some/path/i586-linux-thread-multi is in the @INC of the script
    > when run via an HTTP request;



    Add the line:

    -e "/some/path/i586-linux-thread-multi/auto/Foo/Bar/Bar.so" or die $!;

    to the program right after the "use CGI::Carp qw(fatalsToBrowser);"


    > 2) the loadable object and every
    > directory in its path are all world-readable and world-executable;


    When you run through the httpd? Maybe you are running httpd in chroot jail
    and can't see that path.

    Xho

    --
    -------------------- http://NewsReader.Com/ --------------------
    Usenet Newsgroup Service $9.95/Month 30GB
     
    , Nov 15, 2006
    #2
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Chris Lasher
    Replies:
    8
    Views:
    357
    Michael Hoffman
    Dec 18, 2004
  2. Replies:
    3
    Views:
    577
  3. Terri
    Replies:
    3
    Views:
    182
    Ray at
    Nov 18, 2003
  4. Michael Neumann

    GSoC 2008 Project Ideas page not found!

    Michael Neumann, Mar 24, 2008, in forum: Ruby
    Replies:
    2
    Views:
    142
    Michael Neumann
    Mar 24, 2008
  5. Replies:
    1
    Views:
    1,243
    Evertjan.
    Apr 2, 2013
Loading...

Share This Page