Solved

Apache 2 error on AIX 5.3

Posted on 2009-06-30
18
583 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
 

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
Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

 
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

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

If you've heard about htaccess and it sounds like it does what you want, but you're not sure how it works... well, you're in the right place. Read on. Some Basics #1. It's a file and its filename is .htaccess (yes, with a dot in the front). #…
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…
In a previous video, we went over how to export a DynamoDB table into Amazon S3.  In this video, we show how to load the export from S3 into a DynamoDB table.

920 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now