Re: [Evolution-hackers] Problems compiling/running evo 2.3.3



Not Zed writes:
 > Well also note ... this is actually pointing to a REAL problem in the
 > code.  Your original problem - the calender is calling private mail
 > functions!

 > "/home/lithium/Hacking/build/evolution//lib/evolution/2.4/components/libevolution-calendar.so: undefined symbol: em_popup_target_new_attachments'"

 > This is a totally unacceptable piece of code, so making everything link
 > with everything else is ok as a workaround to get things working, but
 > this should NOT go into CVS, EVER.

Would it be a good idea to start using libtool's -no-undefined on all
platforms, and thus having to list all dependent libraries explicitly
at link time, thus perhaps making problems like this much more
apparent? My gut feeling is that this is very common, Evolution's
shared libraries calling functions in each others freely, relying on
that they will all be loaded at run-time anyway, so symbols will
resolve.

Hmm, except that the circular dependencies will then cause problems on
all other platforms except Windows (where one links to separate
"import libraries", not the real shared object, and such an import
library can be constructed beforehand, cf. the win32 directory).

But actually, IMHO we should try to get rid of the circular
dependecies. Why does Evolution need to be structured in such a way
that circular dependencies between shared libraries occur? Why are the
a11y libraries for instance separate shared libraries, when they de
facto seem to all get loaded at run-time anyway?

--tml




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]