After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 781626 - e_dbus_* symbols are no longer exported in 3.24
e_dbus_* symbols are no longer exported in 3.24
Status: RESOLVED DUPLICATE of bug 781485
Product: evolution-data-server
Classification: Platform
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Evolution Shell Maintainers Team
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2017-04-23 00:27 UTC by Jeremy Bicha
Modified: 2017-04-26 09:09 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jeremy Bicha 2017-04-23 00:27:19 UTC
I built evolution-data-server 3.24.1 on Ubuntu 17.04 and a very large number of e_dbus_* symbols are no longer being exported. Is this intentional?

If so, my understanding is that the soname should have been bumped, but the only affected library where this was done is libebook (which also had e_gdbus_* symbols go missing).

The affected libraries are:
libedataserver-1.2-22
libebook-1.2-19
libedata-book-1.2-25
libecal-1.2-19
libedata-cal-1.2-28
libebackend-1.2-10
Comment 1 Jeremy Bicha 2017-04-23 15:57:15 UTC
I'm going to go ahead and mark this as a duplicate of bug 781485 since the symbol problem could be caused by my trying not to install libedbus-private.

*** This bug has been marked as a duplicate of bug 781485 ***
Comment 2 Milan Crha 2017-04-23 16:10:05 UTC
(In reply to Jeremy Bicha from comment #1)
> I'm going to go ahead and mark this as a duplicate of bug 781485 since the
> symbol problem could be caused by my trying not to install libedbus-private.

Not to install libedbus-private? Why? It is a private library and it's a dynamic library, thus instead of statically linking it into several libraries which use it it is there only once, and the libraries using it do not export the symbols from there. Thus yes, it is intentional to not export private library symbols in public libraries.

Again, 'private' is the key word here, there is no public API which would let you access those symbols through those public libraries using this private library.
Comment 3 Jeremy Bicha 2017-04-23 16:12:51 UTC
Hi, could you read the description from https://sources.debian.net/src/evolution-data-server/unstable/debian/patches/01-noinst-libedbus-private.patch/ ?
Comment 4 Milan Crha 2017-04-26 09:09:11 UTC
Yes, I can. It mentions "problem on Windows". Hmm, eds can be built there, when webkitgtk4 dependency is disabled, thus no internal Google OAuth authentication allowed.

It mentions "undefined symbols in runtime". I see, that's a big issue.

Is it still for Windows only? I didn't notice this issue when playing with eds in time of 3.18.x on Windows, the libedbus-private.dll is installed into $PREFIX/bin, just as any other library on Windows, thus the executables can find them. That patch mentions 3.16.x, which predates my tests.

As I mentioned above, static linking can cause trouble. If you want to keep there that custom patch just because "it used to work in past", then maybe consider to retest, because it can be outdated (not needed) these days.

I'm willing to help, but the things mentioned in the patch are not conformant with my previous (also rather old) testing.