Summary: | media-libs/freeimage-3.18.0-r2: fails to build with >=media-libs/libraw-0.20.0 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Helmut Jarausch <jarausch> |
Component: | Current packages | Assignee: | Gentoo Games <games> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | atoth, ivan, kernelpanic, leonchik1976, redblade7, rene.wilhelm, sam, vmatare+gbug, yamadharma, zlogene |
Priority: | Normal | Keywords: | PATCH, PullRequest |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://github.com/gentoo/gentoo/pull/18857 https://github.com/gentoo/gentoo/pull/18860 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 701850 | ||
Attachments: |
build log
Patch removing "substream" from Source/FreeImage/PluginRAW.cpp freeimage-libraw-0.20.0.patch |
Description
Helmut Jarausch
2020-07-30 09:21:35 UTC
Same problem here Breaks how? Configure time, compile time, run time? Created attachment 651698 [details]
build log
After upgrading to libraw-0.20.0, freeimage-3.18.0-r2 fails with error
Source/FreeImage/PluginRAW.cpp: In member function ‘virtual int LibRaw_freeimage_datastream::read(void*, size_t, size_t)’:
Source/FreeImage/PluginRAW.cpp:66:6: error: ‘substream’ was not declared in this scope
66 | if(substream) return substream->read(buffer, size, count);
| ^~~~~~~~~
Source/FreeImage/PluginRAW.cpp: In member function ‘virtual int LibRaw_freeimage_datastream::seek(INT64, int)’:
Source/FreeImage/PluginRAW.cpp:71:12: error: ‘substream’ was not declared in this scope
71 | if(substream) return substream->seek(offset, origin);
| ^~~~~~~~~
Source/FreeImage/PluginRAW.cpp: In member function ‘virtual INT64 LibRaw_freeimage_datastream::tell()’:
Source/FreeImage/PluginRAW.cpp:76:6: error: ‘substream’ was not declared in this scope
76 | if(substream) return substream->tell();
| ^~~~~~~~~
Source/FreeImage/PluginRAW.cpp: In member function ‘virtual int LibRaw_freeimage_datastream::get_char()’:
Source/FreeImage/PluginRAW.cpp:86:6: error: ‘substream’ was not declared in this scope
86 | if(substream) return substream->get_char();
| ^~~~~~~~~
Source/FreeImage/PluginRAW.cpp: In member function ‘virtual char* LibRaw_freeimage_datastream::gets(char*, int)’:
Source/FreeImage/PluginRAW.cpp:92:7: error: ‘substream’ was not declared in this scope
92 | if (substream) return substream->gets(buffer, length);
| ^~~~~~~~~
Source/FreeImage/PluginRAW.cpp: In member function ‘virtual int LibRaw_freeimage_datastream::scanf_one(const char*, void*)’:
Source/FreeImage/PluginRAW.cpp:107:6: error: ‘substream’ was not declared in this scope
107 | if(substream) return substream->scanf_one(fmt,val);
| ^~~~~~~~~
Source/FreeImage/PluginRAW.cpp: In member function ‘virtual int LibRaw_freeimage_datastream::eof()’:
Source/FreeImage/PluginRAW.cpp:130:6: error: ‘substream’ was not declared in this scope
130 | if(substream) return substream->eof();
build log attached
Same error as upgrade to libRaw. Created attachment 651956 [details, diff]
Patch removing "substream" from Source/FreeImage/PluginRAW.cpp
Attached patch removes "substream" handling and makes freeimage compile against media-libs/libraw-0.20.0.
BTW, I think that gentoo is not well served by setting bug subject headers to a short accusation of the OP. It has been pretty clear from the outset that this is a compile error.
FYI upstream applied a patch similar to the one posted by Bernd Feige, but with some additional code-style changes some time ago. https://sourceforge.net/p/freeimage/svn/1842/ (note: I have been looking into the same bug in Debian and came across this bug during my searches, I am not a Gentoo user) I have the same problem with media-libs/freeimage-3.18.0-r1 and the patch from Bernd Feige fixes it. media-libs/freeimage-3.18.0-r1 fails to emerge ever since media-libs/libraw-0.20.0 Created attachment 670805 [details, diff]
freeimage-libraw-0.20.0.patch
Here's the patch from upstream. Maintainer, can we get this applied?
Also, there seem to be tests for this package but Portage is incapable of running them. They seem to depend on `make dist` being run and can be compiled from the TestAPI directory, but seem to be somewhat broken and I couldn't get them to work.
Verified that the patch works for media-libs/freeimage-3.18.0-r2 with media-libs/libraw-0.20.2 Tried to upgrade my other machine today, and the patch is not in the tree yet. I'm putting in a pull request. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e04aa9c3a2fc91635da5023090ba023a1e4932f commit 4e04aa9c3a2fc91635da5023090ba023a1e4932f Author: Larry Pyeatt <larry.pyeatt@sdsmt.edu> AuthorDate: 2020-12-28 22:24:36 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2020-12-29 01:02:34 +0000 media-libs/freeimage: fix build with >=media-libs/libraw-0.20.0 Signed-off-by: Larry Pyeatt <larry.pyeatt@sdsmt.edu> Closes: https://bugs.gentoo.org/734724 Signed-off-by: Sam James <sam@gentoo.org> .../files/freeimage-3.18.0-libraw-0.20.0.patch | 70 ++++++++++++++++++++++ media-libs/freeimage/freeimage-3.18.0-r2.ebuild | 1 + 2 files changed, 71 insertions(+) Super site I loved it, Will return once more , keep it up. https://bit.ly/3iOiIKB |