in reply to Re: libapreq2 installtion
in thread libapreq2 installtion

Thanks I tried that. I tried settings permissions on all files and directories from /root down to 777--didn't work. Then I tried setting owner and group to nobody:nobody--still didn't work, same error. Any other ideas?

Replies are listed 'Best First'.
Re^3: libapreq2 installtion
by salvix (Pilgrim) on Mar 03, 2006 at 17:59 UTC
    Hmmm... Ok, let's try harder then :)
    strace -ffv make test 2>&1 | egrep -ie "(EPERM|ENOENT|EACCES|open|stat +)"
    This has to give you some hint... :)
      I did the strace. No EACCES or EPERM errors found. The stat references to 'Request.so' seem to indicate the file is there.

      This error message is coming from Dynaloader which is running the XS startup code of the Request.so module. This error must be occurring there and is being reported as coming from perl.

      I see two references to Request.so in the strace output:
      lstat64("Request.so", {st_dev=makedev(253, 0), st_ino=5244497, st_mode +=S_IFREG|0777, st_nlink=1, st_uid=99, st_gi d=99, st_blksize=4096, st_blocks=352, st_size=170174, st_atime=2006/03 +/03-12:07:05, st_mtime=2006/03/03-07:54:56, st_ctime=20 06/03/03-08:44:26}) = 0
      stat64("Request.so", {st_dev=makedev(253, 0), st_ino=5244497, st_mode= +S_IFREG|0777, st_nlink=1, st_uid=99, st_gid =99, st_blksize=4096, st_blocks=352, st_size=170174, st_atime=2006/03/ +03-12:07:05, st_mtime=2006/03/03-07:54:56, st_ctime=200 6/03/03-08:44:26}) = 0
      Following this, I see some ENOENT errors in some stat calls which I must assume are trapped. Then I see this error:
      [pid 20816] execve("/bin/sh", ["sh", "-c", "\"/usr/sbin/httpd\" -l"], +["HOSTNAME=jupiter.ets.com", "SHELL=/bin/bash", "TERM=v t100", "HISTSIZE=1000", "SSH_CLIENT=::ffff:10.1.10.200 39"..., "SSH_TT +Y=/dev/pts/1", "USER=root", "LS_COLORS=no=00:fi=00:di=0 1;34:l"..., "SSH_AUTH_SOCK=/tmp/ssh-DMypwk308"..., "KDEDIR=/usr", "PAT +H=/usr/kerberos/sbin:/usr/ker"..., "MAIL=/var/spool/mai l/root", "PWD=/root/build/libapreq2-2.07/g"..., "INPUTRC=/etc/inputrc" +, "APACHE_TEST_ULIMIT_SET=1", "LANG=en_US.UTF-8", "APAC HE_TEST_HTTP_09_OK=0", "SSH_ASKPASS=/usr/libexec/openssh"..., "HOME=/r +oot", "SHLVL=2", "PERL_LWP_USE_HTTP_10=1", "LOGNAME=roo t", "SSH_CONNECTION=::ffff:10.1.10.20"..., "LESSOPEN=|/usr/bin/lesspip +e.sh %"..., "HARNESS_ACTIVE=1", "G_BROKEN_FILENAMES=1", "_=/usr/bin/perl", "APACHE_TEST_HOSTNAME=test.host.n"..., "APACHE_TES +T_HOSTTYPE=z80"] <unfinished ...> [pid 20816] <... access resumed> ) = -1 ENOENT (No such file or d +irectory)
      Does this suggest anything to you?
        Try the suggestions of bowei_99, but if you really want to nail down this problem, continue reading :)

        Looking at the initial error message again, I see this important thing:

        libapreq2.so.2: cannot open shared object file: No such file or directory

        Let's check if your httpd binary has all libraries:

        ldd /usr/sbin/httpd
        And check that there are no missing libraries in the output of ldd. BTW, is /usr/sbin/httpd your correct Apache binary?

        Even if ldd of httpd locates all libraries, find where your libapreq2.so.2 is and add it to your LD_LIBRARY_PATH environment variable.

        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/of/your/libapreq2
        Then try the "make test" again.

        Note: setting the LD_LIBRARY_PATH variable is not recommended, I'm suggesting it here just for the sake of debugging.