Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 906472 - media-gfx/krita-5.1.5: plugins/metadata/common/KisExiv2IODevice.h:21:38: error: ‘AutoPtr’ in ‘class Exiv2::BasicIo’ does not name a type
Summary: media-gfx/krita-5.1.5: plugins/metadata/common/KisExiv2IODevice.h:21:38: erro...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: exiv2-0.28
  Show dependency tree
 
Reported: 2023-05-15 19:46 UTC by Andreas Sturmlechner
Modified: 2023-06-08 14:05 UTC (History)
0 users

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


Attachments
media-gfx:krita-5.1.5:20230515-194259.log (media-gfx:krita-5.1.5:20230515-194259.log,170.00 KB, text/plain)
2023-05-15 19:46 UTC, Andreas Sturmlechner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Sturmlechner gentoo-dev 2023-05-15 19:46:42 UTC
Created attachment 861754 [details]
media-gfx:krita-5.1.5:20230515-194259.log

> plugins/metadata/common/KisExiv2IODevice.h:21:38: error: ‘AutoPtr’ in ‘class Exiv2::BasicIo’ does not name a type
>    21 |     using ptr_type = Exiv2::BasicIo::AutoPtr;
>       |                                      ^~~~~~~
> plugins/metadata/common/KisExiv2IODevice.h:28:10: error: ‘long int KisExiv2IODevice::write(const Exiv2::byte*, long int)’ marked ‘override’, but does not override
>    28 |     long write(const Exiv2::byte *data, long wcount) override;
>       |          ^~~~~
> plugins/metadata/common/KisExiv2IODevice.h:29:10: error: conflicting return type specified for ‘virtual long int KisExiv2IODevice::write(Exiv2::BasicIo&)’
>    29 |     long write(Exiv2::BasicIo &src) override;
>       |          ^~~~~
> In file included from /usr/include/exiv2/exiv2.hpp:8,
>                  from plugins/metadata/common/KisExiv2IODevice.h:12:
> /usr/include/exiv2/basicio.hpp:92:18: note: overridden function is ‘virtual size_t Exiv2::BasicIo::write(Exiv2::BasicIo&)’
>    92 |   virtual size_t write(BasicIo& src) = 0;
>       |                  ^~~~~
> plugins/metadata/common/KisExiv2IODevice.h:31:20: error: ‘Exiv2::DataBuf KisExiv2IODevice::read(long int)’ marked ‘override’, but does not override
>    31 |     Exiv2::DataBuf read(long rcount) override;
>       |                    ^~~~
> plugins/metadata/common/KisExiv2IODevice.h:32:10: error: ‘long int KisExiv2IODevice::read(Exiv2::byte*, long int)’ marked ‘override’, but does not override
>    32 |     long read(Exiv2::byte *buf, long rcount) override;
>       |          ^~~~
> plugins/metadata/common/KisExiv2IODevice.h:43:10: error: conflicting return type specified for ‘virtual long int KisExiv2IODevice::tell() const’
>    43 |     long tell() const override;
>       |          ^~~~
> /usr/include/exiv2/basicio.hpp:203:32: note: overridden function is ‘virtual size_t Exiv2::BasicIo::tell() const’
>   203 |   [[nodiscard]] virtual size_t tell() const = 0;
>       |                                ^~~~
> plugins/metadata/common/KisExiv2IODevice.h:48:17: error: conflicting return type specified for ‘virtual std::string KisExiv2IODevice::path() const’
>    48 |     std::string path() const override;
>       |                 ^~~~
> /usr/include/exiv2/basicio.hpp:221:44: note: overridden function is ‘virtual const std::string& Exiv2::BasicIo::path() const’
>   221 |   [[nodiscard]] virtual const std::string& path() const noexcept = 0;
>       |                                            ^~~~
> plugins/metadata/common/KisExiv2IODevice.cpp: In member function ‘Exiv2::DataBuf KisExiv2IODevice::read(long int)’:
> plugins/metadata/common/KisExiv2IODevice.cpp:94:37: error: ‘std::vector<unsigned char> Exiv2::DataBuf::pData_’ is private within this context
>    94 |     const long readCount = read(buf.pData_, buf.size_);
>       |                                     ^~~~~~
> In file included from /usr/include/exiv2/basicio.hpp:11:
> /usr/include/exiv2/types.hpp:201:21: note: declared private here
>   201 |   std::vector<byte> pData_;
>       |                     ^~~~~~
> plugins/metadata/common/KisExiv2IODevice.cpp:94:49: error: ‘struct Exiv2::DataBuf’ has no member named ‘size_’; did you mean ‘size’?
>    94 |     const long readCount = read(buf.pData_, buf.size_);
>       |                                                 ^~~~~
>       |                                                 size
> plugins/metadata/common/KisExiv2IODevice.cpp:95:9: error: ‘struct Exiv2::DataBuf’ has no member named ‘size_’; did you mean ‘size’?
>    95 |     buf.size_ = readCount;
>       |         ^~~~~
>       |         size
Comment 1 Larry the Git Cow gentoo-dev 2023-06-08 14:05:20 UTC
The bug has been closed via the following commit(s):

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

commit 5163f3c95c5ef2e09b7f5d1c45ffb1bc8aeaae39
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2023-06-08 13:22:55 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2023-06-08 14:05:03 +0000

    media-gfx/krita: Fix build with >=exiv2-0.28
    
    Closes: https://bugs.gentoo.org/906472
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 media-gfx/krita/Manifest           | 1 +
 media-gfx/krita/krita-5.1.5.ebuild | 8 ++++++--
 2 files changed, 7 insertions(+), 2 deletions(-)