EPrints Technical Mailing List Archive
Message: #04794
< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First
[EP-tech] Re: Apache segfault
- To: eprints-tech@ecs.soton.ac.uk
- Subject: [EP-tech] Re: Apache segfault
- From: George Mamalakis <mamalos@eng.auth.gr>
- Date: Fri, 25 Sep 2015 15:26:08 +0300
Hmm, OK,
I read the site behind the link a bit more carefully and it seems that this is your problem indeed. You can verify it by checking the apache2 and mod_perl binaries and see if they're both linked with expat. Eg, run: # ldd /usr/bin/apache2 | grep -i expat # ldd /usr/lib/apache2/modules/mod_perl.so | grep -i expat and you should only see only one of them returning a link with the expat library. If both return it, then it seems that this is your case indeed. In that case, you'll have to build apache from source if you want to collocate apache and XML::Parser for perl. There's this guide for building apache2.4 for Ubuntu (!!not 2.2!!), but from what I see all apache dependencies are installed (as it says) from apache2 package, so there might be a problem with linking to libexpat as well (http://phpboyscout.uk/compiling-apache-2-4-ubuntu-12-04/). On the other hand, linking is mainly performed based on what the configure script instructs, so at that point you should probably remove some of it's flags that cause this linkage, but I'm not sure which. But I'm not sure where the problem comes from: should apache be built without expat support or mod_perl? Because this is not clear from the wiki I've done a small research with problems related to apache and lib-expat and in another situation (which seems very similar) that involved apache and mod_wsgi the problem was that the two installed expat libraries had different versions that caused apache to crash (because it was calling some library function with a different prototype, most probably). You can check each expat version by running something like: # strings /path/to/your/libexpat/binary | grep expat_ and you'll most probably find out that the versions differ. The solution would be for both binaries to use the same expat library, which theoretically can be achieved by LD_PRELOAD, so maybe you could start the apache binary from command line using something like: # LD_PRELOAD=/path/to/mod_perls/expat/library /usr/sbin/apachectl start In that case it may work...but this means that you cannot start or stop apache using Ubuntu's startup scripts, except if Ubuntu has a way of telling which libraries should be preloaded before executing the apache binary (which is way out of my knowledge, since I'm mostly a BSD guy). I'm not sure if I helped...:) On 25/09/2015 02:07 μμ, George Mamalakis wrote:
-- George Mamalakis IT and Security Officer, Electrical and Computer Engineer (Aristotle Univ. of Thessaloniki), PhD (Aristotle Univ. of Thessaloniki), MSc (Imperial College of London) School of Electrical and Computer Engineering Aristotle University of Thessaloniki phone number : +30 (2310) 994379 |
- References:
- [EP-tech] Apache segfault
- From: Richard Jones <richard@cottagelabs.com>
- [EP-tech] Re: Apache segfault
- From: George Mamalakis <mamalos@eng.auth.gr>
- [EP-tech] Re: Apache segfault
- From: Richard Jones <richard@cottagelabs.com>
- [EP-tech] Re: Apache segfault
- From: George Mamalakis <mamalos@eng.auth.gr>
- [EP-tech] Apache segfault
- Prev by Date: [EP-tech] Re: Apache segfault
- Next by Date: [EP-tech] search for 2-character-string
- Previous by thread: [EP-tech] Re: Apache segfault
- Next by thread: [EP-tech] Re: Apache segfault
- Index(es):