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

Bug 906495

Summary: media-gfx/viewnior-1.8: src/uni-exiv2.cpp:30:22: error: ‘AutoPtr’ in ‘class Exiv2::Image’ does not name a type
Product: Gentoo Linux Reporter: Andreas Sturmlechner <asturm>
Component: Current packagesAssignee: tea <tea+gentoo>
Status: RESOLVED FIXED    
Severity: normal CC: proxy-maint
Priority: Normal Keywords: PullRequest
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://github.com/gentoo/gentoo/pull/31055
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 906463    
Attachments: media-gfx:viewnior-1.8:20230515-201231.log

Description Andreas Sturmlechner gentoo-dev 2023-05-15 20:14:14 UTC
Created attachment 861768 [details]
media-gfx:viewnior-1.8:20230515-201231.log

> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:30:22: error: ‘AutoPtr’ in ‘class Exiv2::Image’ does not name a type
>    30 | static Exiv2::Image::AutoPtr cached_image;
>       |                      ^~~~~~~
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp: In function ‘void uni_read_exiv2_map(const char*, void (*)(const char*, const char*, void*), void*)’:
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:38:23: error: ‘AutoPtr’ is not a member of ‘Exiv2::Image’
>    38 |         Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(uri);
>       |                       ^~~~~~~
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:39:14: error: ‘image’ was not declared in this scope
>    39 |         if ( image.get() == 0 ) {
>       |              ^~~~~
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:43:9: error: ‘image’ was not declared in this scope
>    43 |         image->readMetadata();
>       |         ^~~~~
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:83:21: error: ‘AnyError’ in namespace ‘Exiv2’ does not name a type
>    83 |     } catch (Exiv2::AnyError& e) {
>       |                     ^~~~~~~~
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:84:36: error: ‘e’ was not declared in this scope
>    84 |         std::cerr << "Exiv2: '" << e << "'\n";
>       |                                    ^
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp: In function ‘int uni_read_exiv2_to_cache(const char*)’:
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:94:10: error: ‘cached_image’ was not declared in this scope
>    94 |     if ( cached_image.get() != NULL ) {
>       |          ^~~~~~~~~~~~
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:100:9: error: ‘cached_image’ was not declared in this scope
>   100 |         cached_image = Exiv2::ImageFactory::open(uri);
>       |         ^~~~~~~~~~~~
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:106:21: error: ‘AnyError’ in namespace ‘Exiv2’ does not name a type
>   106 |     } catch (Exiv2::AnyError& e) {
>       |                     ^~~~~~~~
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:107:36: error: ‘e’ was not declared in this scope
>   107 |         std::cerr << "Exiv2: '" << e << "'\n";
>       |                                    ^
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp: In function ‘int uni_write_exiv2_from_cache(const char*)’:
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:119:10: error: ‘cached_image’ was not declared in this scope
>   119 |     if ( cached_image.get() == NULL ) {
>       |          ^~~~~~~~~~~~
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:124:23: error: ‘AutoPtr’ is not a member of ‘Exiv2::Image’
>   124 |         Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(uri);
>       |                       ^~~~~~~
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:125:14: error: ‘image’ was not declared in this scope
>   125 |         if ( image.get() == 0 ) {
>       |              ^~~~~
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:129:9: error: ‘image’ was not declared in this scope
>   129 |         image->setMetadata( *cached_image );
>       |         ^~~~~
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:129:30: error: ‘cached_image’ was not declared in this scope
>   129 |         image->setMetadata( *cached_image );
>       |                              ^~~~~~~~~~~~
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:136:21: error: ‘AnyError’ in namespace ‘Exiv2’ does not name a type
>   136 |     } catch (Exiv2::AnyError& e) {
>       |                     ^~~~~~~~
> ../Viewnior-viewnior-1.8/src/uni-exiv2.cpp:137:36: error: ‘e’ was not declared in this scope
>   137 |         std::cerr << "Exiv2: '" << e << "'\n";
>       |                                    ^
Comment 1 Larry the Git Cow gentoo-dev 2023-05-17 20:32:34 UTC
The bug has been closed via the following commit(s):

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

commit 1ef5f799601b66d7fcc5cf24167ba5d0d21dc9aa
Author:     tastytea <gentoo@tastytea.de>
AuthorDate: 2023-05-16 10:01:01 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2023-05-17 20:31:49 +0000

    media-gfx/viewnior: fix building with >=media-gfx/exiv2-0.28.0
    
    Closes: https://bugs.gentoo.org/906495
    Signed-off-by: tastytea <gentoo@tastytea.de>
    Closes: https://github.com/gentoo/gentoo/pull/31055
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 ...or-1.8-add-support-for-exiv-0.28.0-errors.patch | 62 +++++++++++++++
 ...or-1.8-change-exiv2-AutoPtr-to-unique_ptr.patch | 92 ++++++++++++++++++++++
 media-gfx/viewnior/viewnior-1.8-r1.ebuild          | 50 ++++++++++++
 3 files changed, 204 insertions(+)