Created attachment 66563 [details] evolution address book driver registration TEST1 Reproduction instructions: 1) compile LibO with --enable-evolution2 passed to ./autogen.sh (our official builds don't have that) 2) run LibreOffice 3) Menu File / Wizards / Address Data Source Actual Behaviour: Choices "Evolution", "Groupwise" and "Evolution LDAP" are missing Expected behaviour: these choices are present. TEST2 Reproduction instructions: 1) compile LibO with --enable-evolution2 passed to ./autogen.sh (our official builds don't have that) 2) run LibreOffice 3) open attachment 47889 [details] 4) in the left pane, click on "tables" Actual Behaviour: Error message "no SDBC driver found for URL" Expected behaviour: list of Evolution address books, e.g.: "Personal", appears in the lower right pane LibreOffice 3.4 (Debian packages) has the "expected behaviour". (Our .deb packages do not, but that's because it is not enabled) My analysis shows that the driver (libevoablo.so) is: 1) Not installed 2) Not registered The evolution address book works correctly if I: 1) copy the attached evoab.rdb to install/program/services/ 2) copy workdir/unxlngx6/LinkTarget/Library/libevoablo.so to ./install/program/ 3) apply the attached patch Then it all works! Remaining question is: How to cause our build system to do that? This whole install / registration stuff is a bit of a magic blackbox for me. For example, the mozab driver somehow ends up in install/program/services.rdb, but I cannot find *how* so that I can do the same with evoab. Weirdly, mozab is not in workdir/unxlngx6/Rdb/ure/services.rdb, but it is in install/program/services/services.rdb I took "inspiration" from PostgreSQL-SDBC to generate a working evoab.rdb that I could drop there. It would maybe be better to put evoab also in services.rdb rather than its own file? I tried to hack our install system to do "the same with evoab than with mozab", but failed to have it make what I wanted. @dtardon: you switched connectivity to gbuild; could you please double-check that this regression was not introduced during that switch, in that the gbuild fails to do what the dmake did? Thanks. Mozab section in services.rdb: <component loader="com.sun.star.loader.SharedLibrary" uri="vnd.sun.star.expand:$LO_LIB_DIR/libmozab2lo.so"> <implementation name="com.sun.star.comp.mozilla.MozillaBootstrap"> <service name="com.sun.star.mozilla.MozillaBootstrap"/> </implementation> <implementation name="com.sun.star.comp.sdbc.MozabDriver"> <service name="com.sun.star.sdbc.Driver"/> </implementation> </component>
Created attachment 66564 [details] magic "now it works" patch (in combination with manual file copy)
Created attachment 66565 [details] my measly try to get the install system to install evoab module
https://bugzilla.novell.com/show_bug.cgi?id=777320 may be related, though that's a crash under KDE :-)
(In reply to comment #0) > Created attachment 66563 [details] > evolution address book driver registration > > TEST1 > > Reproduction instructions: > > 1) compile LibO with --enable-evolution2 passed to ./autogen.sh > (our official builds don't have that) > > 2) run LibreOffice > > 3) Menu File / Wizards / Address Data Source > > Actual Behaviour: Choices "Evolution", "Groupwise" and "Evolution LDAP" are > missing > > Expected behaviour: these choices are present. I see them just fine. > > > TEST2 > > Reproduction instructions: > > 1) compile LibO with --enable-evolution2 passed to ./autogen.sh > (our official builds don't have that) > > 2) run LibreOffice > > 3) open attachment 47889 [details] > > 4) in the left pane, click on "tables" > > > Actual Behaviour: Error message "no SDBC driver found for URL" > > Expected behaviour: list of Evolution address books, e.g.: "Personal", appears > in the lower right pane Yup, works here too. > My analysis shows that the driver (libevoablo.so) is: > > 1) Not installed > 2) Not registered > My analysis shows that that is not true :-) > This whole install / registration stuff is a bit of a magic blackbox for me. > For example, the mozab driver somehow ends up in install/program/services.rdb, > but I cannot find *how* so that I can do the same with evoab. Weirdly, mozab is > not in > workdir/unxlngx6/Rdb/ure/services.rdb, but it is in > install/program/services/services.rdb It is in workdir/unxlngx6/Rdb/uno_services.rdb . ure/services.rdb is for URE services only. > > I took "inspiration" from PostgreSQL-SDBC to generate a working evoab.rdb that > I could drop there. It would maybe be better to put evoab also in services.rdb > rather than its own file? It has never had a rdb file of its own, i.e., its service description has always been placed into services.rdb . > > > I tried to hack our install system to do "the same with evoab than with mozab", > but failed to have it make what I wanted. This happens in postprocess/packcomponents/makefile.mk . > > > @dtardon: you switched connectivity to gbuild; could you please double-check > that this regression was not introduced during that switch, in that the gbuild > fails to do what the dmake did? Thanks. Well, it is evident that it does work at least somewhere :-) It is possible there is some other condition that is true here but not in your build and which causes the evoab driver not to be included in the installation. I will double check for this.
I think I see the problem: libevoablo.so is installed in optional module "gnome" (unconditionally!), which is only added to the installation set if gconf, gio or gnomevfs are enabled. It is possible that I missed one more condition during the conversion, but I would rather guess it had already been broken. But the component should still be registered in services.rdb ...
should be better now
David Tardon committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=5e19849479ee25e1ed1c7965588ce5497831614b fdo#54450 install evolution DB driver correctly The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
David Tardon committed a patch related to this issue. It has been pushed to "libreoffice-3-6": http://cgit.freedesktop.org/libreoffice/core/commit/?id=bb1511c00acb25c607e8c885f33f1f313b5ea098&g=libreoffice-3-6 fdo#54450 install evolution DB driver correctly It will be available in LibreOffice 3.6.2. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
(In reply to comment #4) > (In reply to comment #0) >> For example, the mozab driver somehow ends up in install/program/services.rdb, >> but I cannot find *how* so that I can do the same with evoab. Weirdly, mozab is >> not in >> workdir/unxlngx6/Rdb/ure/services.rdb, but it is in >> install/program/services/services.rdb > It is in workdir/unxlngx6/Rdb/uno_services.rdb . ure/services.rdb is for URE > services only. Ah, I naively "just" did a "find . services.rdb" to find out where that file came from. >> I tried to hack our install system to do "the same with evoab than with mozab", >> but failed to have it make what I wanted. > This happens in postprocess/packcomponents/makefile.mk . Ah, I see now. Thanks.