Solved

Apache 2 error on AIX 5.3

Posted on 2009-06-30
18
584 Views
Last Modified: 2013-11-17
Here is the error output:
# /usr/local/apache2/bin/apachectl -k start
httpd: Syntax error on line 411 of /usr/local/apache2/conf/httpd.conf: Cannot lo
ad /usr/local/apache2/modules/libphp5.so into server: rtld: 0712-001 Symbol xmlT
extReaderSetup was referenced\n      from module /usr/local/apache2/modules/libp
hp5.so(), but a runtime definition\n      of the symbol was not found.

What does this output mean? I had apache and php installed and working properly.  I have not used it in a couple of months, but now I will.  Now all these errors keep arising! Any input?
0
Comment
Question by:AIX25
  • 7
  • 6
  • 5
18 Comments
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 24748963
All this looks quite like you ported the apache installation to a new machine, or reinstalled AIX.

The message above points to a problem with 'libxml2'

Where is libxml2.a ? Should be in /usr/lib !

Please check!


0
 
LVL 30

Expert Comment

by:Kerem ERSOY
ID: 24749115
When you find check if the version is 2.6.28 or higher. Becuase older versons are known not to export this symbol.
 
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 24749201
Try to find it in /opt/freeware/lib

Create a link like the one in our last case if it's there.
0
Back Up Your Microsoft Windows Server®

Back up all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 

Author Comment

by:AIX25
ID: 24749241
AIX was at 5.3.7 at the time of the apache and php install.  Now I upgraded to 5.3.9, does that have anything to do with it?
Also, I have in /usr/lib but its linked  libxml2.a -> /usr/ccs/lib/libxml2.a.  Should I not have it linked, is that causing the issue?
Not sure what verison of apache was installed? Is there a command I can run?
0
 
LVL 68

Accepted Solution

by:
woolmilkporc earned 300 total points
ID: 24749414
Apache version check is done by httpd -v

But strange that libxml2 should be in /usr/ccs/lib!

Maybe the link is broken, i.e. /usr/ccs/lib/libxml2.a does not exist?

Anyway, check /opt/freeware/lib for libxml2, if it's there do

ln -sf /opt/freeware/lib/libxml2.a /usr/lib/libxml2a

Don't worry, we can revert that anytime, if needed.

Was libxml installed via rpm? Check with rpm -qa | grep libxml2

You should then also see the version.


0
 
LVL 68

Assisted Solution

by:woolmilkporc
woolmilkporc earned 300 total points
ID: 24749427
... typo

ln -sf /opt/freeware/lib/libxml2.a /usr/lib/libxml2.a
0
 

Author Comment

by:AIX25
ID: 24749490
libxml was not installed via rpm. It was installed using a .tar source.  Also, libxml was not under /opt/freeware/lib.  Should I uninstall the current libxml and reinstall it using an rpm source?  
I executed a find on libxml...output:
# find / -name libxml
/usr/include/libxml2/libxml
/usr/lib/include/libxml2/libxml

Did this info help?  Also I ran httpd -v and I get ksh: httpd:  not found.
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 24749608
.tar source means you compiled it? This makes it even stranger that it should be in /usr/ccs...
1. You should run find / -name libxml\*  to find all relevant files, notably libxml2.a
2. Uninstalling (how?) and installing an rpm is a good idea.
3. Use /path/to/httpd -v
 
0
 

Author Comment

by:AIX25
ID: 24749675
1. Here is the oupt:
# find / -name libxml\*
/home/nuo3367/.cpan/sources/authors/id/K/KM/KMACLEOD/libxml-perl-0.08.tar.gz
/home/nuo3367/.cpan/build/libxml-perl-0.08
/home/nuo3367/.cpan/build/libxml-perl-0.08/libxml-perl.spec
/home/nuo3367/.cpan/build/libxml-perl-0.08/libxml-perl-0.08.spec
/home/nuo3367/.cpan/build/libxml-perl-0.08/blib/lib/auto/libxml-perl
/home/nuo3367/.cpan/build/libxml-perl-0.08/blib/arch/auto/libxml-perl
/opt/freeware/lib/pkgconfig/libxml-2.0.pc
/opt/freeware/share/aclocal/libxml.m4
/usr/include/libxml2
/usr/include/libxml2/libxml
/usr/lib/include/libxml2
/usr/lib/include/libxml2/libxml
/usr/lib/lib/pkgconfig/libxml-2.0.pc
/usr/lib/lib/libxml2.a
/usr/lib/lib/libxml2.la
/usr/lib/libxml2.a
/usr/lib/libxml2.la
/usr/lib/share/doc/libxml2-2.6.31
/usr/lib/share/aclocal/libxml.m4
/usr/lib/share/man/man3/libxml.3
/usr/lib/share/gtk-doc/html/libxml2
/usr/lib/share/gtk-doc/html/libxml2/libxml2.devhelp
/usr/ccs/lib/libxml2.a
/usr/share/man/man3/libxml.3
/usr/share/doc/libxml2-2.6.31
/usr/mozilla/base/components/libxmlextras.so
/usr/local/src/php5/php-5.2.8/ext/libxml
/usr/local/src/php5/php-5.2.8/ext/libxml/libxml.c
/usr/local/src/php5/php-5.2.8/ext/libxml/libxml.lo
/usr/local/src/php5/php-5.2.8/ext/libxml/.libs/libxml.o
/usr/local/src/php5/php-5.2.8/ext/xmlrpc/libxmlrpc
/usr/local/src/php5/php-5.2.9/ext/libxml
/usr/local/src/php5/php-5.2.9/ext/libxml/libxml.c
/usr/local/src/php5/php-5.2.9/ext/libxml/.libs/libxml.o
/usr/local/src/php5/php-5.2.9/ext/libxml/libxml.lo
/usr/local/src/php5/php-5.2.9/ext/xmlrpc/libxmlrpc

2. If i install a most recent version of libxml rpm source, will that be the current active one being used? Will it ignore the .tar version of libxml?

3. Server version: Apache/2.2.10 (Unix)

Hopefully these outputs will help
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 24749787
Please, we are talking about libxml2!
What are those /usr/lib/lib/libxml2... pieces? Links, too?
Please repeat the find using
find / -name libxml2\* -ls
The rpm will go to /opt/freeware, and it will try to create some links in /usr/lib and /usr/bin, which creation will fail, as the links are already there.
Namely - /usr/lib/libxml2.a, /usr/bin/xmlcatalog and /usr/bin/xmllint
You should rename these three before installing rpm, so that the links can be created properly.
 
0
 
LVL 30

Assisted Solution

by:Kerem ERSOY
Kerem ERSOY earned 200 total points
ID: 24749842
Hi,

It seems that you're missig the correct libxml2. Ro remove the link to your libxml2a

then do this:

rpm -iv http://www.oss4aix.org/download/latest/aix53/libxml2-2.6.32-1.aix5.1.ppc.rpm

Cheers,
K.
0
 

Author Comment

by:AIX25
ID: 24750343
woolmilkporc, sorry about the wrong output.  Here is the correct one:

# find / -name libxml2\* -ls
349184    1 drwxr-xr-x  3 root      system         256 Nov 13  2008 /usr/include
/libxml2
189669    1 drwxr-xr-x  3 root      system         256 Dec  5  2008 /usr/lib/inc
lude/libxml2
190049 5100 -rwxr-xr-x  1 root      system     5221381 Dec  5  2008 /usr/lib/lib
/libxml2.a
190050    1 -rwxr-xr-x  1 root      system         783 Dec  5  2008 /usr/lib/lib
/libxml2.la
  540    1 lrwxrwxrwx  1 bin       bin             22 Apr 16 17:33 /usr/lib/libx
ml2.a -> /usr/ccs/lib/libxml2.a
 3078    1 -rwxr-xr-x  1 root      system         779 Nov 13  2008 /usr/lib/libx
ml2.la
189758    1 drwxr-xr-x  4 root      system         256 Dec  5  2008 /usr/lib/sha
re/doc/libxml2-2.6.31
189779    1 drwxr-xr-x  2 root      system         256 Dec  5  2008 /usr/lib/sha
re/gtk-doc/html/libxml2
189780  328 -rw-r--r--  1 root      system      335119 Dec  5  2008 /usr/lib/sha
re/gtk-doc/html/libxml2/libxml2.devhelp
  502 20911 -r-xr-xr-x  1 bin       bin       21411932 Jan 10  2008 /usr/ccs/lib
/libxml2.a
349343    1 drwxr-xr-x  3 root      system         256 Nov 13  2008 /usr/share/d
oc/libxml2-2.6.31
#

What do you recommend to do? Remove libxml and reinstall rpm libxml.  Or is there a way around this problem to minimize my problem?
0
 
LVL 30

Expert Comment

by:Kerem ERSOY
ID: 24750448
Yup I do. Otherwise you can not get yur apache run. Because it was compiled for these libraries not the ones you've installed.
0
 

Author Comment

by:AIX25
ID: 24750493
Thank you KeremE.  One final question, what is the command to check processes for which port is being used by what?
0
 
LVL 30

Expert Comment

by:Kerem ERSOY
ID: 24750518
netstat -an
0
 
LVL 30

Assisted Solution

by:Kerem ERSOY
Kerem ERSOY earned 200 total points
ID: 24750624
But it won't you what PID is connected to what port. for this you need to install lsof. You can find lsof either from your Toolbox CD or here:

ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/lsof/lsof-4.61-3.aix5.2.ppc.rpm



0
 

Author Comment

by:AIX25
ID: 24755065
If I install lsof...then when I execute netstat -an it will give me a pid with it?
0
 
LVL 68

Assisted Solution

by:woolmilkporc
woolmilkporc earned 300 total points
ID: 24755101
Hi again,
no, it's 'lsof -i' instead of 'netstat -a'
0

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Every server (virtual or physical) needs a console: and the console can be provided through hardware directly connected, software for remote connections, local connections, through a KVM, etc. This document explains the different types of consol…
This article discusses four methods for overlaying images in a container on a web page
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question