Bug 100455 - Check for correct DConf version
Summary: Check for correct DConf version
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Installation (show other bugs)
Version:
(earliest affected)
5.1.3.2 release
Hardware: All All
: medium normal
Assignee: David Tardon
URL:
Whiteboard: target:5.3.0 target:5.2.0.1 target:5.1.5
Keywords:
Depends on:
Blocks:
 
Reported: 2016-06-17 14:08 UTC by Paul Menzel
Modified: 2016-10-25 18:54 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Menzel 2016-06-17 14:08:55 UTC
Building LibreOffice 5.1.3.2 fails with the error below.

```
$ ./configure \
        --enable-verbose \
        --enable-release-build \
        --with-help \
        --with-lang=de \
        --with-jdk-home=/usr/local/java \
        --with-ant-home=/package/mariux64/ant \
        --with-system-openssl \
        --without-junit \
        --without-doxygen \
        --disable-odk \
        --disable-epm \
        --enable-python=internal
[…]
$ make -j --prefix=…
[…]
[CXX] ucb/source/ucp/package/pkguri.cxx
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:200:45: error: expected ‘)’ before ‘*’ token
     explicit ChangesetHolder(DConfChangeset * changeset):
                                             ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:210:5: error: ‘DConfChangeset’ does not name a type
     DConfChangeset * get() const { return changeset_; }
     ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:216:5: error: ‘DConfChangeset’ does not name a type
     DConfChangeset * changeset_;
     ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx: In destructor ‘configmgr::dconf::{anonymous}::ChangesetHolder::~ChangesetHolder()’:
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:205:13: error: ‘changeset_’ was not declared in this scope
         if (changeset_ != nullptr) {
             ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:206:45: error: ‘dconf_changeset_unref’ was not declared in this scope
             dconf_changeset_unref(changeset_);
                                             ^
[CXX] ucb/source/ucp/tdoc/tdoc_contentcaps.cxx
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx: In function ‘bool configmgr::dconf::{anonymous}::addProperty(const configmgr::dconf::{anonymous}::ChangesetHolder&, const rtl::OString&, configmgr::Type, bool, const com::sun::star::uno::Any&)’:
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1342:19: error: ‘const class configmgr::dconf::{anonymous}::ChangesetHolder’ has no member named ‘get’
         changeset.get(), pathRepresentation.getStr(), v.get());
                   ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1342:62: error: ‘dconf_changeset_set’ was not declared in this scope
         changeset.get(), pathRepresentation.getStr(), v.get());
                                                              ^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx: In function ‘bool configmgr::dconf::{anonymous}::addNode(configmgr::Components&, const configmgr::dconf::{anonymous}::ChangesetHolder&, const rtl::Reference<configmgr::Node>&, const rtl::OString&, const rtl::Reference<configmgr::Node>&)’:
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1397:31: error: ‘const class configmgr::dconf::{anonymous}::ChangesetHolder’ has no member named ‘get’
                     changeset.get(), OString(path + "op").getStr(), v.get());
                               ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1397:76: error: ‘dconf_changeset_set’ was not declared in this scope
                     changeset.get(), OString(path + "op").getStr(), v.get());
                                                                            ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1405:31: error: ‘const class configmgr::dconf::{anonymous}::ChangesetHolder’ has no member named ‘get’
                     changeset.get(), OString(path + "template").getStr(),
                               ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx: In function ‘bool configmgr::dconf::{anonymous}::addModifications(configmgr::Components&, const configmgr::dconf::{anonymous}::ChangesetHolder&, const rtl::OString&, const rtl::Reference<configmgr::Node>&, const rtl::OUString&, const rtl::Reference<configmgr::Node>&, const configmgr::Modifications::Node&)’:
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1447:31: error: ‘const class configmgr::dconf::{anonymous}::ChangesetHolder’ has no member named ‘get’
                     changeset.get(), OString(path + "op").getStr(), v.get());
                               ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1447:76: error: ‘dconf_changeset_set’ was not declared in this scope
                     changeset.get(), OString(path + "op").getStr(), v.get());
                                                                            ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1455:31: error: ‘const class configmgr::dconf::{anonymous}::ChangesetHolder’ has no member named ‘get’
                     changeset.get(), OString(path + "template").getStr(),
                               ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1479:35: error: ‘const class configmgr::dconf::{anonymous}::ChangesetHolder’ has no member named ‘get’
                         changeset.get(), path.getStr(), v.get());
                                   ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1479:64: error: ‘dconf_changeset_set’ was not declared in this scope
                         changeset.get(), path.getStr(), v.get());
                                                                ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1495:35: error: ‘const class configmgr::dconf::{anonymous}::ChangesetHolder’ has no member named ‘get’
                         changeset.get(), OString(path + "op").getStr(),
                                   ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1496:32: error: ‘dconf_changeset_set’ was not declared in this scope
                         v.get());
                                ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1499:35: error: ‘const class configmgr::dconf::{anonymous}::ChangesetHolder’ has no member named ‘get’
                         changeset.get(), OString(path + "template").getStr(),
                                   ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1502:35: error: ‘const class configmgr::dconf::{anonymous}::ChangesetHolder’ has no member named ‘get’
                         changeset.get(), OString(path + "content/").getStr(),
                                   ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1525:27: error: ‘const class configmgr::dconf::{anonymous}::ChangesetHolder’ has no member named ‘get’
                 changeset.get(), OString(path + "op").getStr(), v.get());
                           ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1525:72: error: ‘dconf_changeset_set’ was not declared in this scope
                 changeset.get(), OString(path + "op").getStr(), v.get());
                                                                        ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1533:27: error: ‘const class configmgr::dconf::{anonymous}::ChangesetHolder’ has no member named ‘get’
                 changeset.get(), OString(path + "template").getStr(), v.get());
                           ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx: In function ‘void configmgr::dconf::readLayer(configmgr::Data&, int)’:
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1552:56: error: too few arguments to function ‘DConfClient* dconf_client_new(const gchar*, DConfWatchFunc, gpointer, GDestroyNotify)’
     GObjectHolder<DConfClient> client(dconf_client_new());
                                                        ^
In file included from /usr/include/dconf/dconf.h:26:0,
                 from /dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:23:
/usr/include/dconf/dconf-client.h:45:25: note: declared here
 DConfClient *           dconf_client_new                                (const gchar          *profile,
                         ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx: In function ‘void configmgr::dconf::writeModifications(configmgr::Components&, configmgr::Data&)’:
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1563:56: error: too few arguments to function ‘DConfClient* dconf_client_new(const gchar*, DConfWatchFunc, gpointer, GDestroyNotify)’
     GObjectHolder<DConfClient> client(dconf_client_new());
                                                        ^
In file included from /usr/include/dconf/dconf.h:26:0,
                 from /dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:23:
/usr/include/dconf/dconf-client.h:45:25: note: declared here
 DConfClient *           dconf_client_new                                (const gchar          *profile,
                         ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1567:44: error: ‘dconf_changeset_new’ was not declared in this scope
     ChangesetHolder cs(dconf_changeset_new());
                                            ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1568:12: error: ‘class configmgr::dconf::{anonymous}::ChangesetHolder’ has no member named ‘get’
     if (cs.get() == nullptr) {
            ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1582:30: error: ‘class configmgr::dconf::{anonymous}::ChangesetHolder’ has no member named ‘get’
             client.get(), cs.get(), nullptr, nullptr, nullptr))
                              ^
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/configmgr/source/dconf.cxx:1582:62: error: ‘dconf_client_change_sync’ was not declared in this scope
             client.get(), cs.get(), nullptr, nullptr, nullptr))
                                                              ^
[CXX] ucb/source/ucp/tdoc/tdoc_content.cxx
[CXX] ucb/source/ucp/tdoc/tdoc_datasupplier.cxx
[CXX] ucb/source/ucp/tdoc/tdoc_docmgr.cxx
[CXX] ucb/source/ucp/tdoc/tdoc_documentcontentfactory.cxx
/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/source/solenv/gbuild/LinkTarget.mk:189: recipe for target '/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/build/workdir/CxxObject/configmgr/source/dconf.o' failed
make[1]: *** [/dev/shm/bee-root/libreoffice/libreoffice-5.1.3.2-0/build/workdir/CxxObject/configmgr/source/dconf.o] Error 1
make[1]: *** Waiting for unfinished jobs....
Makefile:244: recipe for target 'build' failed
make: *** [build] Error 2
```

DConf 0.12.1 is installed on the system.

```
$ more /usr/lib/pkgconfig/dconf.pc
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib
includedir=/usr/include

Name: dconf
Description: dconf client library
Version: 0.12.1
Requires: gio-2.0 >= 2.25.7
Libs: -L${libdir} -ldconf
Cflags: -I${includedir}/dconf
```

The configure system should check for the required DConf version.
Comment 1 Commit Notification 2016-06-21 08:34:12 UTC
David Tardon committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=461e91ca91186c1ed23316127fffe4230e3aacd2

tdf#100455 check for minimal dconf version

It will be available in 5.3.0.

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.
Comment 2 Commit Notification 2016-06-21 08:37:47 UTC
David Tardon committed a patch related to this issue.
It has been pushed to "libreoffice-5-2":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=f5c1ba7054cfe6d7b75cf9037d616706fb1e23ab&h=libreoffice-5-2

tdf#100455 check for minimal dconf version

It will be available in 5.2.0.1.

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.
Comment 3 Commit Notification 2016-06-21 13:57:54 UTC
David Tardon committed a patch related to this issue.
It has been pushed to "libreoffice-5-1":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=53d31e56fe0fba6347f2ddc8b2f2451c6f231f7e&h=libreoffice-5-1

tdf#100455 check for minimal dconf version

It will be available in 5.1.5.

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.