[Citadel Development] Re: undefined reference to `XML_StopParser'
Fr Aug 26 2011 08:34:41 EDT von Stefan @ Uncensored Betreff: undefined reference to `XML_StopParser' I would guess that the expat library in RHEL4 is too old (it's probably expat-1.95). Can someone confirm that? The build works with RHEL5 which uses the same expat version. So that's not causing the error.
[Citadel Development] Re: undefined reference to `XML_StopParser'
Fr Aug 26 2011 08:34:41 EDT von Stefan @ Uncensored Betreff: undefined reference to `XML_StopParser' Hi, the build of Citadel 7.87 failed on RHEL4 with the following error: gcc utils/ctdlmigrate.o utillib/citadel_dirs.o \ -lz -pie -o ctdlmigrate -lresolv -lssl -lcrypto -lcitadel -lpthread -lncurses -lrt -lsieve -lical modules/xmpp/serv_xmpp.o(.text+0x2f): In function `xmpp_entity_declaration': modules/xmpp/serv_xmpp.c:78: undefined reference to `XML_StopParser' collect2: ld returned 1 exit status make: *** [citserver] Error 1 I would guess that the expat library in RHEL4 is too old (it's probably expat-1.95). Can someone confirm that? Or is it an other problem? Thanks Stefan i'd say -lexpat is missing there? maybe you should have a look at the configure output in general, i'd say that line isn't complete? since the final linking should be longer and contain all objects?
[Citadel Development] Re: undefined reference to `XML_StopParser'
You can comment out that line. Really. See http://www.cygwin.com/ml/gdb-patches/2007-01/msg00258.html for more information.
[Citadel Development] Re: undefined reference to `XML_StopParser'
The attached patch fixes that error. (see also: https://bugzilla.redhat.com/show_bug.cgi?id=700390) Thank you for the quick support. diff -urb citadel-7.87.orig//modules/xmpp/serv_xmpp.c citadel-7.87/modules/xmpp/serv_xmpp.c --- citadel-7.87.orig//modules/xmpp/serv_xmpp.c 2011-08-24 16:36:16.0 +0200 +++ citadel-7.87/modules/xmpp/serv_xmpp.c 2011-08-26 17:06:04.510935999 +0200 @@ -57,7 +57,7 @@ #include ctdl_module.h #include serv_xmpp.h -#if XML_MAJOR_VERSION 0 +#if XML_MAJOR_VERSION 1 /* XML_StopParser is present in expat 2.x */ #define HAVE_XML_STOPPARSER #endif
[Citadel Development] Re: undefined reference to `XML_StopParser'
Aha! In fact, we did XML_StopParser() specifically to handle that vulnerability. (The guy who sent out the alert was a real asshole about it too.) So we just need to change the XML_MAJOR_VERSION we're looking for from 0 to 1 and that will take care of it, as your patch demonstrates. Thanks!