Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 919374

Summary: net-libs/davix-0.8.5 - /.../document.h: error: assignment of read-only member rapidjson::GenericStringRef<CharType>::length
Product: Gentoo Linux Reporter: Toralf Förster <toralf>
Component: Current packagesAssignee: Guilherme Amadio <amadio>
Status: RESOLVED FIXED    
Severity: normal CC: csfore
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=914583
https://bugs.gentoo.org/show_bug.cgi?id=919587
https://bugs.gentoo.org/show_bug.cgi?id=924019
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 914580    
Attachments: emerge-info.txt
emerge-history.txt.xz
environment
etc.clang.tar.xz
etc.portage.tar.xz
net-libs:davix-0.8.5:20231206-174702.log
qlist-info.txt.xz
temp.tar.xz
remove const from problematic field
applies the commit from upstream to fix gcc 14

Description Toralf Förster gentoo-dev 2023-12-06 18:10:45 UTC
  110 |     typedef std::iterator<std::random_access_iterator_tag,ValueType> BaseType;
      |                  ^~~~~~~~
/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/stl_iterator_base_types.h:127:34: note: declared here
  127 |     struct _GLIBCXX17_DEPRECATED iterator
      |                                  ^~~~~~~~
/var/tmp/portage/net-libs/davix-0.8.5/work/davix-0.8.5/src/libs/rapidjson/document.h: In member function rapidjson::GenericStringRef<CharType>& rapidjson::GenericStringRef<CharType>::operator=(const rapidjson::GenericStringRef<CharType>&):
/var/tmp/portage/net-libs/davix-0.8.5/work/davix-0.8.5/src/libs/rapidjson/document.h:319:82: error: assignment of read-only member rapidjson::GenericStringRef<CharType>::length
  319 |     GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; }
      |                                                                           ~~~~~~~^~~~~~~~~~~~

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 17.1_desktop_gnome_systemd-20231123-170505

  -------------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-10
 [2] x86_64-pc-linux-gnu-14 *
clang/llvm (if any):
clang version 17.0.6
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm/17/bin
Configuration file: /etc/clang/x86_64-pc-linux-gnu-clang.cfg
/usr/lib/llvm/17
17.0.6
Python 3.11.7
Available Ruby profiles:
  [1]   ruby31 (with Rubygems) *
Available Rust versions:
  [1]   rust-bin-1.73.0 *
The following VMs are available for generation-2:
1)	Eclipse Temurin JDK 11.0.20.1_p1 [openjdk-bin-11]
2)	Eclipse Temurin JDK 17.0.8.1_p1 [openjdk-bin-17]
*)	Eclipse Temurin JDK 21.0.1_p12 [openjdk-bin-21]
4)	Eclipse Temurin JDK 8.382_p05 [openjdk-bin-8]
Available Java Virtual Machines:
  [1]   openjdk-bin-8 
  [2]   openjdk-bin-11 
  [3]   openjdk-bin-17 
  [4]   openjdk-bin-21  system-vm

The Glorious Glasgow Haskell Compilation System, version 9.2.8
php cli (if any):
go version go1.21.4 linux/amd64

  HEAD of ::gentoo
commit 795b9ab52a965ff334b30f7dd7879f5c76f69b5b
Author: Repository mirror & CI <repomirrorci@gentoo.org>
Date:   Wed Dec 6 16:19:51 2023 +0000

    2023-12-06 16:19:50 UTC

emerge -qpvO net-libs/davix
[ebuild  N    ] net-libs/davix-0.8.5  USE="-doc -test -tools"
Comment 1 Toralf Förster gentoo-dev 2023-12-06 18:10:46 UTC
Created attachment 877941 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2023-12-06 18:10:47 UTC
Created attachment 877942 [details]
emerge-history.txt.xz
Comment 3 Toralf Förster gentoo-dev 2023-12-06 18:10:48 UTC
Created attachment 877943 [details]
environment
Comment 4 Toralf Förster gentoo-dev 2023-12-06 18:10:49 UTC
Created attachment 877944 [details]
etc.clang.tar.xz
Comment 5 Toralf Förster gentoo-dev 2023-12-06 18:10:50 UTC
Created attachment 877945 [details]
etc.portage.tar.xz
Comment 6 Toralf Förster gentoo-dev 2023-12-06 18:10:52 UTC
Created attachment 877946 [details]
net-libs:davix-0.8.5:20231206-174702.log
Comment 7 Toralf Förster gentoo-dev 2023-12-06 18:10:53 UTC
Created attachment 877947 [details]
qlist-info.txt.xz
Comment 8 Toralf Förster gentoo-dev 2023-12-06 18:10:55 UTC
Created attachment 877948 [details]
temp.tar.xz
Comment 9 Christopher Fore 2023-12-09 18:50:11 UTC
Created attachment 878597 [details, diff]
remove const from problematic field

I'm not exactly sure if this is best practice but this seems to work, should this be upstreamed or is there a better method about this?
Comment 10 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-12-09 18:53:43 UTC
(In reply to Christopher Fore from comment #9)
> Created attachment 878597 [details, diff] [details, diff]
> remove const from problematic field
> 
> I'm not exactly sure if this is best practice but this seems to work, should
> this be upstreamed or is there a better method about this?

I'm pretty sure this is the same sort of case as https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111544. GCC got stricter.
Comment 11 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-12-09 18:54:17 UTC
(In reply to Sam James from comment #10)
> (In reply to Christopher Fore from comment #9)
> > Created attachment 878597 [details, diff] [details, diff] [details, diff]
> > remove const from problematic field
> > 
> > I'm not exactly sure if this is best practice but this seems to work, should
> > this be upstreamed or is there a better method about this?
> 
> I'm pretty sure this is the same sort of case as
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111544. GCC got stricter.

wait, yes, this is bundled rapidjson -> bug 914583
Comment 12 Christopher Fore 2023-12-09 18:57:41 UTC
Ah alright, should we use that commit as a patch then until upstream bumps its rapidjson?
Comment 13 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-12-09 18:58:04 UTC
(In reply to Christopher Fore from comment #12)
> Ah alright, should we use that commit as a patch then until upstream bumps
> its rapidjson?

yes + file another gentoo bug for unbundling rapidjson
Comment 14 Christopher Fore 2023-12-09 19:22:21 UTC
Created attachment 878598 [details, diff]
applies the commit from upstream to fix gcc 14

Here's the patch from upstream (w/ paths fixed for the package)
Comment 15 Larry the Git Cow gentoo-dev 2024-03-10 18:04:41 UTC
The bug has been closed via the following commit(s):

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

commit f6f1a18114dae011613b5bf4c2ab5eaf7b004397
Author:     Guilherme Amadio <amadio@gentoo.org>
AuthorDate: 2024-03-10 18:03:59 +0000
Commit:     Guilherme Amadio <amadio@gentoo.org>
CommitDate: 2024-03-10 18:03:59 +0000

    net-libs/davix: fix build with GCC 14, bug 919374
    
    Closes: https://bugs.gentoo.org/919374
    
    Signed-off-by: Guilherme Amadio <amadio@gentoo.org>

 net-libs/davix/davix-0.8.5.ebuild            |  4 ++++
 net-libs/davix/files/davix-0.8.5-gcc14.patch | 12 ++++++++++++
 2 files changed, 16 insertions(+)