[Evolution-hackers] More MAC'ness (s/C/d)



Hey,

Hmmm.. so I crossed tht first hurdle of Splitting the components into a
component and a shared library ( will send patches later). Now i hit the
second road block. The whole effort of this was to get Evolution
Exchange building on MAC. So when i build the exchange plugins i get
the following errors.

usr/bin/ld: multiple definitions of symbol _e_account_list_set_ddefault
/opt/gnome-2.12/lib/libedataserver-1.2.dylib(e-account-list.o)
definition of _e_account_list_set_default
../../e-util/.libs/libeutil.dylib(e-account-list.o) definition of
_e_account_list_set_default
/usr/bin/ld: multiple definitions of symbol _e_account_list_change
/opt/gnome-2.12/lib/libedataserver-1.2.dylib(e-account-list.o)
definition of _e_account_list_change
../../e-util/.libs/libeutil.dylib(e-account-list.o) definition of
_e_account_list_change
/usr/bin/ld: multiple definitions of symbol _e_account_list_construct
/opt/gnome-2.12/lib/libedataserver-1.2.dylib(e-account-list.o)
definition of _e_account_list_construct
../../e-util/.libs/libeutil.dylib(e-account-list.o) definition of
_e_account_list_construct
/usr/bin/ld: multiple definitions of symbol _e_account_list_find
/opt/gnome-2.12/lib/libedataserver-1.2.dylib(e-account-list.o)
definition of _e_account_list_find
../../e-util/.libs/libeutil.dylib(e-account-list.o) definition of
_e_account_list_find
/usr/bin/ld: multiple definitions of symbol _e_account_list_get_default
/opt/gnome-2.12/lib/libedataserver-1.2.dylib(e-account-list.o)
definition of _e_account_list_get_default

As can be seen, this is because the symbol "e_account_list_set_default"
is actually present in two libraries libedataserver-1.2.dylib and
libeutil.dylib. The
exchange plugin links to both these libraries. I am told that the
e-util/e-account<blah> is deprecated but still there is a 
lot of code using it, I would like to be *enlightened* on this wisdom.

Also are usage of e-util/e-account.c and 
e-util/e-account-list.c interchangable with
libedataserver/e-account.[c,h] and libedataserver/e-account-list.[c,h] ?

The only solution my measly brain could figure out till now was to move
the redundant files out of libeutil.dylib ( remove those files from
makefile ) and then
change all references of e-util/e-account* with
libedataserver/e-account* ofcourse most of the
libs already link to libedataserver-1.2 anyway so this shouldnt cause
too many problems if
the two sets of files are interchangable. ofcourse in my jest i seem to
have committed the proxy files only to e-util/*
but i hope thats the only difference,

Cheers,
Shreyas



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