Closed GoogleCodeExporter closed 9 years ago
The C extension module component of the module you are trying to use hasn't
been correctly linked against
all libraries it has as dependencies.
In particular, gcry_check_version() comes from libgcrypt.
http://www.fifi.org/doc/libgcrypt-doc/reference.html
Ideally the C extension module should be recompiled with the option '-lgcrypt'
used at the point that the
extension module is linked to produce a .so file.
If you cannot arrange this, the alternative is to force the the library into
Apache itself when it starts up.
To do this you need to add:
LD_PRELOAD=-lgcrypt
export LD_PRELOAD
to the 'envvars' file in same directory as Apache httpd executable (if it
exists), or if on a Linux distribution
that has dispensed with the standard Apache 'envvars' file, modify the system
init startup scripts for Apache,
ie., '/etc/sysconfig/httpd'.
The prefered option out of these two is to rebuild the C extension module
properly.
For similar issues, albeit with main Python library and not an extension
module, see section 'Undefined Thread
Functions on FreeBSD' and 'Undefined 'forkpty' On Fedora 7' of:
http://code.google.com/p/modwsgi/wiki/InstallationIssues
Original comment by Graham.Dumpleton@gmail.com
on 22 Apr 2008 at 9:44
Whoops. LD_PRELOAD should be absolute path to .so file for libcrypt.so and not
just -lgcrypt.
Original comment by Graham.Dumpleton@gmail.com
on 22 Apr 2008 at 9:51
The original problem - lxml not Importing properly was fixed after a good time
of
cleaning up the Debian upgrade mess, luckily without having to get in any
detail
outside of the scope of the debian package system.
I still haven't tried reproducing the segfault issue with any other type of
ImportError, but this specific linkage error does cause a segfault on all
versions
of mod_wsgi I tried to compile.
Original comment by theati...@gmail.com
on 22 Apr 2008 at 10:12
If lxml isn't the problem per stack trace and your real problem is a core dump,
you
need to work out the cause of the core dump. Usually this is because of use of
conflicting shared library versions. Various examples of this are covered in
mod_wsgi
documentation for application issues.
Without knowing exactly which Python module is being imported when crash
occurs, hard
to say which library may be conflicting. Because it is a conflicting library
and thus
a hard crash at C code level, it is impossible for mod_wsgi to somehow catch it
and
produce any sort of debug or stack trace indicating where the problem is.
All I can suggest as means to debug it, is to run Apache under gdb as described
in
'Debugging Crashes With GDB' of:
http://code.google.com/p/modwsgi/wiki/DebuggingTechniques
While debugging issue, you may want to take the discussion over to the mod_wsgi
discussion group rather than try and carry out a conversation under this issue.
Original comment by Graham.Dumpleton@gmail.com
on 22 Apr 2008 at 11:45
Nothing more heard about this so no action being taken. If there is still an
issue, bring it up on the mod_wsgi
discussion list.
Original comment by Graham.Dumpleton@gmail.com
on 26 Apr 2008 at 4:27
Original issue reported on code.google.com by
theati...@gmail.com
on 22 Apr 2008 at 2:19