Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 692422 - app-office/libreoffice-6.3.0.4[-mariadb] fails to build with >=dev-db/mysql-connector-c-8: error: cannot convert ‘char*’ to ‘bool*’ in assignment
Summary: app-office/libreoffice-6.3.0.4[-mariadb] fails to build with >=dev-db/mysql-c...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Gentoo Office Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: mysql-8
  Show dependency tree
 
Reported: 2019-08-18 07:27 UTC by Andrew Udvare
Modified: 2019-11-05 08:52 UTC (History)
9 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build log (build.log.gz,365.57 KB, application/gzip)
2019-08-18 07:30 UTC, Andrew Udvare
Details
libreoffice-6.3.0.4-no-my_bool.patch (libreoffice-6.3.0.4-no-my_bool.patch,977 bytes, patch)
2019-08-20 03:16 UTC, Peter Levine
Details | Diff
libreoffice-6.3.0.4-no-my_bool.patch (libreoffice-6.3.0.4-no-my_bool.patch,952 bytes, patch)
2019-08-20 06:32 UTC, Peter Levine
Details | Diff
libreoffice-6.3.0.4-no-my_bool.patch (libreoffice-6.3.0.4-no-my_bool.patch,985 bytes, patch)
2019-10-28 18:21 UTC, Peter Levine
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Udvare 2019-08-18 07:27:17 UTC
LibreOffice fails to build since I updated dev-db/mysql-connector-c to version 8.0.17-r1.

From the log:

/var/tmp/portage/app-office/libreoffice-6.3.0.4/work/libreoffice-6.3.0.4/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx: In member function ‘virtual sal_Bool connectivity::mysqlc::OPreparedResultSet::next()’:
/var/tmp/portage/app-office/libreoffice-6.3.0.4/work/libreoffice-6.3.0.4/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx:635:30: error: cannot convert ‘char*’ to ‘bool*’ in assignment
  635 |         m_aData[i].is_null = &m_aMetaData[i].is_null;
      |                              ^~~~~~~~~~~~~~~~~~~~~~~
      |                              |
      |                              char*
/var/tmp/portage/app-office/libreoffice-6.3.0.4/work/libreoffice-6.3.0.4/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx:638:28: error: cannot convert ‘char*’ to ‘bool*’ in assignment
  638 |         m_aData[i].error = &m_aMetaData[i].error;
      |                            ^~~~~~~~~~~~~~~~~~~~~
      |                            |
      |                            char*
make[1]: *** [/var/tmp/portage/app-office/libreoffice-6.3.0.4/work/libreoffice-6.3.0.4/solenv/gbuild/LinkTarget.mk:293: /var/tmp/portage/app-office/libreoffice-6.3.0.4/work/libreoffice-6.3.0.4/workdir/CxxObject/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.o] Error 1
make[1]: *** Waiting for unfinished jobs....
/var/tmp/portage/app-office/libreoffice-6.3.0.4/work/libreoffice-6.3.0.4/connectivity/source/drivers/mysqlc/mysqlc_preparedstatement.cxx: In constructor ‘connectivity::mysqlc::OPreparedStatement::OPreparedStatement(connectivity::mysqlc::OConnection*, MYSQL_STMT*)’:
/var/tmp/portage/app-office/libreoffice-6.3.0.4/work/libreoffice-6.3.0.4/connectivity/source/drivers/mysqlc/mysqlc_preparedstatement.cxx:74:34: error: cannot convert ‘char*’ to ‘bool*’ in assignment
   74 |         m_binds.back().is_null = &m_bindMetas.back().is_null;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                  |
      |                                  char*
make[1]: *** [/var/tmp/portage/app-office/libreoffice-6.3.0.4/work/libreoffice-6.3.0.4/solenv/gbuild/LinkTarget.mk:291: /var/tmp/portage/app-office/libreoffice-6.3.0.4/work/libreoffice-6.3.0.4/workdir/CxxObject/connectivity/source/drivers/mysqlc/mysqlc_preparedstatement.o] Error 1

Reproducible: Always

Steps to Reproduce:
1. emerge -auvDN @world
2. libreoffice will be rebuilt after mysql-connector-c updates
Actual Results:  
LibreOffice fails to compile.

Expected Results:  
LibreOffice should compile and install.

$ cat /var/lib/portage/preserved_libs_registry
{
        "dev-db/mysql-connector-c:0": [
                "dev-db/mysql-connector-c-8.0.17-r1",
                "68911",
                [
                        "/usr/lib64/libmysqlclient.so.18.4.0",
                        "/usr/lib64/libmysqlclient.so.18"
                ]
        ]
}

$ emerge --info libreoffice
Portage 2.3.71 (python 3.6.9-final-0, default/linux/amd64/17.0/desktop/plasma/systemd, gcc-9.2.0, glibc-2.29-r4, 5.2.9-gentoo-limelight x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.2.9-gentoo-limelight-x86_64-Intel-R-_Core-TM-_i7-5930K_CPU_@_3.50GHz-with-gentoo-2.6
KiB Mem:    32798884 total,  18802096 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Sun, 18 Aug 2019 04:26:24 +0000
Head commit of repository gentoo: 02a7f68dd8220375190f4c381f8b9e3a24fae8d6

Timestamp of repository atom: Fri, 16 Aug 2019 18:38:01 +0000
Head commit of repository atom: 46fa4eb6e11a7059e3de2b0a9d413a671406712a

Head commit of repository tatsh-overlay: a2a2e9ae9aea183ed6d43207e2d89fd6447e77e9

Timestamp of repository torbrowser: Fri, 16 Aug 2019 18:37:43 +0000
Head commit of repository torbrowser: 54e7686f5fd9686098dd361028f355cd3e83ec8d

sh bash 5.0_p9
ld GNU ld (Gentoo 2.32 p2) 2.32.0
app-shells/bash:          5.0_p9::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.30.0::gentoo
dev-lang/python:          2.7.16::gentoo, 3.6.9::gentoo, 3.7.4-r1::gentoo
dev-util/cmake:           3.15.2::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/sandbox:         2.18::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.11.6-r3::gentoo, 1.13.4-r2::gentoo, 1.16.1-r1::gentoo
sys-devel/binutils:       2.32-r1::gentoo
sys-devel/gcc:            9.2.0::gentoo
sys-devel/gcc-config:     2.0::gentoo
sys-devel/libtool:        2.4.6-r5::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 5.2::gentoo (virtual/os-headers)
sys-libs/glibc:           2.29-r4::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: git
    sync-uri: https://anongit.gentoo.org/git/repo/sync/gentoo.git
    priority: -1000
    sync-git-verify-commit-signature: no

atom
    location: /var/db/repos/atom
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/atom.git
    masters: gentoo

tatsh-overlay
    location: /var/lib/tatsh-overlay
    sync-type: git
    sync-uri: https://github.com/Tatsh/tatsh-overlay.git
    masters: gentoo
    sync-git-verify-commit-signature: no

torbrowser
    location: /var/db/repos/torbrowser
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/torbrowser.git
    masters: gentoo

Installed sets: @admin, @bashcomp, @bitcoin, @bixby, @cdr, @charles, @chrome, @clang, @cups, @docker, @exfat, @firefox, @fonts, @gimp, @git, @grub, @i3, @ibus, @kde, @kdevelop, @kernel, @l2tp-ipsec, @libimobiledevice, @libreoffice, @logrotate, @media, @misc, @mlocate, @mupen64plus, @nim, @pass, @portage-utilities, @python, @rar, @shellcheck, @ssh, @stepmania, @tmux, @vim, @virtualbox, @vlc, @vscode, @wine, @x11, @x11-misc, @xirvik-vpn
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native -fomit-frame-pointer -ggdb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -march=native -fomit-frame-pointer -ggdb"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--jobs 10 --load-average 10 --with-bdeps=y --quiet-build=y --complete-graph --verbose-conflicts --exclude=cross-i686-pc-mingw32/*"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs clean-logs compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://gentoo.mirrors.pair.com/ rsync://mirrors.rit.edu/gentoo/ http://mirrors.rit.edu/gentoo/ rsync://gentoo.mirrors.tds.net/gentoo http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/"
LANG="en_GB.utf8"
LDFLAGS="-Wl,--as-needed"
LINGUAS="en_GB en"
MAKEOPTS="-j10 -l10"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa amd64 avahi bash-completion bluetooth branding bzip2 cairo cdda cdio cdr cjk cli crypt cups cxx dbus declarative dri dts dvd dvdr emboss encode exif fam ffmpeg flac fluidsynth fortran gdbm gif glamor gles gles2 gpm heif iconv icu idn ipv6 jemalloc jpeg jumbo-build kde kipi kwallet lcms libnotify libtirpc lm_sensors lto lzma mad man mng mod mp3 mp4 mpeg multilib ncurses nls nptl nvenc ogg opengl openmp opus pam pango pcre pdf phonon plasma png policykit ppds qml qt5 readline samba scanner seccomp spell split-usr ssl startup-notification svg syslog system-av1 system-cairo system-ffmpeg system-harfbuzz system-heimdal system-icu system-jpeg system-jsoncpp system-libevent system-libvpx system-llvm system-lua system-sqlite system-webp systemd tcpd tiff truetype udev udisks unicode upower usb vdpau vim-syntax vorbis webengine webp widgets wxwidgets x264 xattr xcb xcomposite xv xvid zeroconf zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev joystick" KERNEL="linux" L10N="en-GB en ja ko zh-CN zh-TW" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6 python3_7" RUBY_TARGETS="ruby26" USERLAND="GNU" VIDEO_CARDS="nvidia v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

app-office/libreoffice-6.3.0.4::gentoo was built with the following:
USE="branding cups dbus googledrive gstreamer java kde pdfimport -accessibility -bluetooth -coinmp -debug -eds -firebird -gtk -gtk2 -ldap -mariadb -odk -postgres -test" ABI_X86="(64)" LIBREOFFICE_EXTENSIONS="-nlpsolver -scripting-beanshell -scripting-javascript -wiki-publisher" PYTHON_SINGLE_TARGET="python3_6 -python2_7 -python3_5 -python3_7" PYTHON_TARGETS="python2_7 python3_6 python3_7 -python3_5"
CFLAGS="-O2 -pipe -march=native -fomit-frame-pointer"
CXXFLAGS="-O2 -pipe -march=native -fomit-frame-pointer"
Comment 1 Andrew Udvare 2019-08-18 07:30:01 UTC
Created attachment 587238 [details]
build log
Comment 2 Daniel Harding 2019-08-19 10:43:13 UTC
Same issue with app-office/libreoffice-6.2.6.2.
Comment 3 Peter Levine 2019-08-20 03:16:28 UTC
Created attachment 587590 [details, diff]
libreoffice-6.3.0.4-no-my_bool.patch

libreoffice depends on the mysql-connector-c internal type my_bool which is a typedef char.  With mysql-connector-c-8, that type was removed and it uses were replaced with bool.  This patch changes the affected data types to bool when building with >=mysql-connector-c-8 and defaults to char otherwise.

Upstream PR: https://github.com/LibreOffice/core/pull/20
Comment 4 Peter Levine 2019-08-20 06:32:32 UTC
Created attachment 587598 [details, diff]
libreoffice-6.3.0.4-no-my_bool.patch

Cleaned up extraneous timestamp.
Comment 5 Andrew Udvare 2019-08-21 07:51:40 UTC
(In reply to Peter Levine from comment #4)
> Created attachment 587598 [details, diff] [details, diff]
> libreoffice-6.3.0.4-no-my_bool.patch
> 
> Cleaned up extraneous timestamp.

Tested. Works for me.
Comment 6 Attila Tóth 2019-08-21 19:01:14 UTC
Patch works for me, thanks!
Comment 7 Niko E 2019-08-23 18:08:42 UTC
I can also confirm the patch.
Comment 8 Matt Whitlock 2019-09-09 22:58:48 UTC
Still failing on app-office/libreoffice-6.3.1.2.
Comment 9 Attila Tóth 2019-10-02 08:56:21 UTC
(In reply to Matt Whitlock from comment #8)
> Still failing on app-office/libreoffice-6.3.1.2.

Just like for app-office/libreoffice-6.3.2.2. Thanks for the patch!
Comment 11 Larry the Git Cow gentoo-dev 2019-10-18 23:59:16 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73309c9f2c62bf1c2b1c32814bd77d6fbfd7a3bf

commit 73309c9f2c62bf1c2b1c32814bd77d6fbfd7a3bf
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2019-10-18 23:47:47 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2019-10-18 23:59:05 +0000

    app-office/libreoffice: Fix build with >=dev-db/mysql-connector-c-8
    
    Thanks-to: Peter Levine <plevine457@gmail.com>
    Closes: https://bugs.gentoo.org/692422
    Package-Manager: Portage-2.3.77, Repoman-2.3.17
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 .../libreoffice-6.3.2.2-mysql-connector-c-8.patch  | 45 ++++++++++++++++++++++
 app-office/libreoffice/libreoffice-6.3.2.2.ebuild  |  3 ++
 app-office/libreoffice/libreoffice-6.3.9999.ebuild |  3 ++
 3 files changed, 51 insertions(+)
Comment 12 Jeroen Roovers (RETIRED) gentoo-dev 2019-10-25 06:33:19 UTC
*** Bug 698504 has been marked as a duplicate of this bug. ***
Comment 13 Jeroen Roovers (RETIRED) gentoo-dev 2019-10-26 08:15:55 UTC
*** Bug 698574 has been marked as a duplicate of this bug. ***
Comment 14 garmine 2019-10-28 13:57:39 UTC
The uncoditional applying of this patch breaks the build with the mariadb connector (i.e. `mariadb` useflag) enabled. I'm rebuilding now without the patch.

Libreoffice version: 6.3.2.2
Mariadb version: tried with 3.0.6-r1 and 3.1.4, both failed

Should I submit a new bug for this?
Comment 15 garmine 2019-10-28 15:00:05 UTC
Update:

Libreoffice 6.3.2.2 without the patch builds fine with mariadb-connector-c 3.1.4
Comment 16 charles17 2019-10-28 15:12:40 UTC
(In reply to garmine from comment #14)
> The uncoditional applying of this patch breaks the build with the mariadb
> connector (i.e. `mariadb` useflag) enabled. I'm rebuilding now without the
> patch.
> 
> Libreoffice version: 6.3.2.2
> Mariadb version: tried with 3.0.6-r1 and 3.1.4, both failed
> 
> Should I submit a new bug for this?

See bug 698574
Comment 17 Peter Levine 2019-10-28 18:21:38 UTC
Created attachment 594246 [details, diff]
libreoffice-6.3.0.4-no-my_bool.patch

(In reply to charles17 from comment #16)
> (In reply to garmine from comment #14)
> > The uncoditional applying of this patch breaks the build with the mariadb
> > connector (i.e. `mariadb` useflag) enabled. I'm rebuilding now without the
> > patch.
> > 
> > Libreoffice version: 6.3.2.2
> > Mariadb version: tried with 3.0.6-r1 and 3.1.4, both failed
> > 
> > Should I submit a new bug for this?
> 
> See bug 698574

Yeah, sorry.  Upstream has since modified it: https://gerrit.libreoffice.org/plugins/gitiles/core/+/d8f11761d89b3279e547f789d43d47c85a3ddba1%5E%21.

This patch should work.
Comment 18 garmine 2019-10-29 11:26:42 UTC
The new patch indeed works, libreoffice merged successfully after swapping the old patch file with the new one. Thank you!
Comment 19 Niko E 2019-11-02 16:25:14 UTC
Issue is no longer present in app-office/libreoffice-6.3.3.2
Comment 20 Alexander Weber 2019-11-05 08:52:50 UTC
Confirm the issue is solved in app-office/libreoffice-6.3.3.2 for me