The definition of the type "boolean" seems to have changed in jpeg-9, causing type mismatch errors in libreoffice-4.1.0.4: [build CXX] vcl/source/filter/jpeg/JpegReader.cxx /tmp/portage/app-office/libreoffice-4.1.0.4/work/libreoffice-4.1.0.4/vcl/source/filter/jpeg/JpegReader.cxx: In function 'void init_source(j_decompress_ptr)': /tmp/portage/app-office/libreoffice-4.1.0.4/work/libreoffice-4.1.0.4/vcl/source/filter/jpeg/JpegReader.cxx:74:29: error: invalid conversion from 'sal_Bool {aka unsigned char}' to 'boolean' [-fpermissive] /tmp/portage/app-office/libreoffice-4.1.0.4/work/libreoffice-4.1.0.4/vcl/source/filter/jpeg/JpegReader.cxx: In function 'boolean fill_input_buffer(j_decompress_ptr)': /tmp/portage/app-office/libreoffice-4.1.0.4/work/libreoffice-4.1.0.4/vcl/source/filter/jpeg/JpegReader.cxx:122:29: error: invalid conversion from 'sal_Bool {aka unsigned char}' to 'boolean' [-fpermissive] /tmp/portage/app-office/libreoffice-4.1.0.4/work/libreoffice-4.1.0.4/vcl/source/filter/jpeg/JpegReader.cxx:124:12: error: invalid conversion from 'sal_Bool {aka unsigned char}' to 'boolean' [-fpermissive] [build CXX] vcl/source/filter/jpeg/JpegWriter.cxx /tmp/portage/app-office/libreoffice-4.1.0.4/work/libreoffice-4.1.0.4/vcl/source/filter/jpeg/JpegWriter.cxx: In function 'boolean empty_output_buffer(j_compress_ptr)': /tmp/portage/app-office/libreoffice-4.1.0.4/work/libreoffice-4.1.0.4/vcl/source/filter/jpeg/JpegWriter.cxx:89:12: error: invalid conversion from 'sal_Bool {aka unsigned char}' to 'boolean' [-fpermissive] Patch attached.
Created attachment 355256 [details, diff] Patch Trying to attach the patch again.
(In reply to Andrew Church from comment #1) > Created attachment 355256 [details, diff] [details, diff] > Patch > > Trying to attach the patch again. Is this patch compatible with libjpeg-turbo-1.3.0-r2 (libjpeg.so.62) ?
I haven't tried it out (long build and all that), but it's just changing what was an implicit type conversion to an explicit one, so in theory it should be fine. Diffing the jpeg-9 and libjpeg-turbo-1.3.0 headers shows that libjpeg-turbo also defines a "boolean" type (as does jpeg-8 and earlier); it looks like the bug arose due to jpeg-9 switching the type from "int" to an enum.
I don't see a way forward with this without these questions being answered first: - The patch is still required for >=media-libs/jpeg-9-r1 ? Yes, revision matters. - The patch is compatible with >=media-libs/libjpeg-turbo-1.3.0-r2 ? Yes, revision matters.
>- The patch is still required for >=media-libs/jpeg-9-r1 ? Yes, revision matters. Yes, the patch is still required for >=media-libs/jpeg-9-r1 due to a change from jpeg-8 in the definition of the "boolean" type. (Similar patches are likely to be required in many C++ programs which use libjpeg. It would have been nice if they'd just typedef'd boolean to "bool" for C++, but that probably brings in ABI issues and whatnot.) >- The patch is compatible with >=media-libs/libjpeg-turbo-1.3.0-r2 ? Yes, revision matters. It should be, but I'll run a build now and get you a definitive answer.
I've now confirmed that the patch is compatible with libjpeg-turbo-1.3.0-r2.
jpeg-9a released to ~arch today, so i've applied the patch to libreoffice-4.2.5.2 since maintainers seem unresponsive (year with no activity in the bug) for -9999 ebuilds, the issue has to be taken upstream
Reverted the commit and reopened. Do NOT ever add patches just like this. I stated on multiple bugs already that you have to submit it upstream if you want any code change merged here. And I simply don't have time for this to forward.
(In reply to Tomáš Chvátal from comment #8) > Reverted the commit and reopened. I can understand reopening, but reverting? Then it'll be broken for users. :/ Reported at, https://bugs.freedesktop.org/show_bug.cgi?id=82911
Upstream has this fixed, http://cgit.freedesktop.org/libreoffice/core/commit/vcl/source/filter/jpeg/JpegReader.cxx?id=867aa217e6bcb543ea61c61f10088042d632bd07 http://cgit.freedesktop.org/libreoffice/core/commit/vcl/source/filter/jpeg/JpegWriter.cxx?id=867aa217e6bcb543ea61c61f10088042d632bd07
verified 4.2.6.2 still needs the attached patch which should have never been reverted. fixed already in upstream git, so nothing left to report or fix for upstream, we just need to carry the attached patch while waiting for the fix to flow into releases from upstream repository.
*** Bug 521698 has been marked as a duplicate of this bug. ***
ping? please revert the revert, the patch was fine!
Equivalent patch added straight to stable.