Package Details: exact-image 1.0.2-2

Git Clone URL: https://aur.archlinux.org/exact-image.git (read-only, click to copy)
Package Base: exact-image
Description: Fast image manipulation programs
Upstream URL: http://exactcode.com/opensource/exactimage/
Licenses: GPL2
Submitter: lisu_ml
Maintainer: None
Last Packager: haawda
Votes: 7
Popularity: 0.095504
First Submitted: 2016-08-29 16:04
Last Updated: 2019-06-11 17:35

Pinned Comments

jmb commented on 2018-04-04 12:50

@haawda The Evas_Engine_Software_X11.h issue happens only if you have efl installed. Evas_Engine_Software_X11.h was an internal elf header that applications should not use and that has been removed in recent efl releases. If efl is not present, exact-image does not try to build edisplay and the error does not occur.

Latest Comments

1 2 Next › Last »

haawda commented on 2019-12-10 21:39

This package is orphaned. It makes more sense to file problems upstream.

octofish commented on 2019-12-10 08:01

I get the following error during build on a fully up to date system:

codecs/gif.cc: In member function ‘virtual bool GIFCodec::writeImage(std::ostream*, Image&, int, const string&)’:
codecs/gif.cc:207:7: error: ‘GifQuantizeBuffer’ was not declared in this scope
  207 |   if (GifQuantizeBuffer(image.w, image.h, &ColorMapSize,
      |       ^~~~~~~~~~~~~~~~~
make: *** [build/bottom.make:58: objdir/codecs/gif.o] Error 1

Appears to be related to https://bbs.archlinux.org/viewtopic.php?id=245406 as downgrading giflib to 5.1.9 resolves the issue.

Unfortunately, then I get a whole stack of new errors:

`In file included from /usr/include/c++/9.2.0/cstdint:35,
                 from /usr/include/OpenEXR/ImfFrameBuffer.h:55,
                 from /usr/include/OpenEXR/ImfInputFile.h:47,
                 from codecs/openexr.cc:24:
/usr/include/c++/9.2.0/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
   32 | #error This file requires compiler and library support \
      |  ^~~~~
In file included from /usr/include/OpenEXR/ImfXdr.h:108,
                 from /usr/include/OpenEXR/ImfGenericOutputFile.h:40,
                 from /usr/include/OpenEXR/ImfTiledOutputFile.h:50,
                 from /usr/include/OpenEXR/ImfInputFile.h:48,
                 from codecs/openexr.cc:24:
/usr/include/OpenEXR/half.h:104:5: warning: identifier ‘noexcept’ is a keyword in C++11 [-Wc++11-compat]
  104 |     half (half &&) noexcept = default;
      |     ^~~~
In file included from /usr/include/OpenEXR/ImfXdr.h:108,
                 from /usr/include/OpenEXR/ImfGenericOutputFile.h:40,
                 from /usr/include/OpenEXR/ImfTiledOutputFile.h:50,
                 from /usr/include/OpenEXR/ImfInputFile.h:48,
                 from codecs/openexr.cc:24:
/usr/include/OpenEXR/half.h:104:16: error: expected ‘,’ or ‘...’ before ‘&&’ token
  104 |     half (half &&) noexcept = default;
      |                ^~
/usr/include/OpenEXR/half.h:104:18: error: invalid constructor; you probably meant ‘half (const half&)’
  104 |     half (half &&) noexcept = default;
      |                  ^
/usr/include/OpenEXR/half.h:104:18: error: expected ‘;’ at end of member declaration
  104 |     half (half &&) noexcept = default;
      |                  ^
      |                   ;
/usr/include/OpenEXR/half.h:104:20: error: ‘noexcept’ does not name a type
  104 |     half (half &&) noexcept = default;
      |                    ^~~~~~~~
/usr/include/OpenEXR/half.h:104:20: note: C++11 ‘noexcept’ only available with ‘-std=c++11’ or ‘-std=gnu++11’
/usr/include/OpenEXR/half.h:124:43: warning: defaulted and deleted functions only available with ‘-std=c++11’ or ‘-std=gnu++11’
  124 |     half &  operator = (const half  &h) = default;
      |                                           ^~~~~~~
/usr/include/OpenEXR/half.h:125:31: error: expected ‘,’ or ‘...’ before ‘&&’ token
  125 |     half &  operator = (half  &&h) noexcept = default;
      |                               ^~
/usr/include/OpenEXR/half.h:125:34: error: expected ‘;’ at end of member declaration
  125 |     half &  operator = (half  &&h) noexcept = default;
      |                                  ^
      |                                   ;
/usr/include/OpenEXR/half.h:125:36: error: ‘noexcept’ does not name a type
  125 |     half &  operator = (half  &&h) noexcept = default;
      |                                    ^~~~~~~~
/usr/include/OpenEXR/half.h:125:36: note: C++11 ‘noexcept’ only available with ‘-std=c++11’ or ‘-std=gnu++11’
/usr/include/OpenEXR/half.h: In member function ‘half& half::operator=(float)’:
/usr/include/OpenEXR/half.h:574:20: error: ambiguous overload for ‘operator=’ (operand types are ‘half’ and ‘half’)
  574 |     *this = half (f);
      |                    ^
/usr/include/OpenEXR/half.h:124:13: note: candidate: ‘half& half::operator=(const half&)’
  124 |     half &  operator = (const half  &h) = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:125:13: note: candidate: ‘half& half::operator=(half)’
  125 |     half &  operator = (half  &&h) noexcept = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:572:1: note: candidate: ‘half& half::operator=(float)’
  572 | half::operator = (float f)
      | ^~~~
/usr/include/OpenEXR/half.h: In member function ‘half& half::operator+=(half)’:
/usr/include/OpenEXR/half.h:582:44: error: ambiguous overload for ‘operator=’ (operand types are ‘half’ and ‘half’)
  582 |     *this = half (float (*this) + float (h));
      |                                            ^
/usr/include/OpenEXR/half.h:124:13: note: candidate: ‘half& half::operator=(const half&)’
  124 |     half &  operator = (const half  &h) = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:125:13: note: candidate: ‘half& half::operator=(half)’
  125 |     half &  operator = (half  &&h) noexcept = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:572:1: note: candidate: ‘half& half::operator=(float)’
  572 | half::operator = (float f)
      | ^~~~
/usr/include/OpenEXR/half.h: In member function ‘half& half::operator+=(float)’:
/usr/include/OpenEXR/half.h:590:36: error: ambiguous overload for ‘operator=’ (operand types are ‘half’ and ‘half’)
  590 |     *this = half (float (*this) + f);
      |                                    ^
/usr/include/OpenEXR/half.h:124:13: note: candidate: ‘half& half::operator=(const half&)’
  124 |     half &  operator = (const half  &h) = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:125:13: note: candidate: ‘half& half::operator=(half)’
  125 |     half &  operator = (half  &&h) noexcept = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:572:1: note: candidate: ‘half& half::operator=(float)’
  572 | half::operator = (float f)
      | ^~~~
/usr/include/OpenEXR/half.h: In member function ‘half& half::operator-=(half)’:
/usr/include/OpenEXR/half.h:598:44: error: ambiguous overload for ‘operator=’ (operand types are ‘half’ and ‘half’)
  598 |     *this = half (float (*this) - float (h));
      |                                            ^
/usr/include/OpenEXR/half.h:124:13: note: candidate: ‘half& half::operator=(const half&)’
  124 |     half &  operator = (const half  &h) = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:125:13: note: candidate: ‘half& half::operator=(half)’
  125 |     half &  operator = (half  &&h) noexcept = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:572:1: note: candidate: ‘half& half::operator=(float)’
  572 | half::operator = (float f)
      | ^~~~
/usr/include/OpenEXR/half.h: In member function ‘half& half::operator-=(float)’:
/usr/include/OpenEXR/half.h:606:36: error: ambiguous overload for ‘operator=’ (operand types are ‘half’ and ‘half’)
  606 |     *this = half (float (*this) - f);
      |                                    ^
/usr/include/OpenEXR/half.h:124:13: note: candidate: ‘half& half::operator=(const half&)’
  124 |     half &  operator = (const half  &h) = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:125:13: note: candidate: ‘half& half::operator=(half)’
  125 |     half &  operator = (half  &&h) noexcept = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:572:1: note: candidate: ‘half& half::operator=(float)’
  572 | half::operator = (float f)
      | ^~~~
/usr/include/OpenEXR/half.h: In member function ‘half& half::operator*=(half)’:
/usr/include/OpenEXR/half.h:614:44: error: ambiguous overload for ‘operator=’ (operand types are ‘half’ and ‘half’)
  614 |     *this = half (float (*this) * float (h));
      |                                            ^
/usr/include/OpenEXR/half.h:124:13: note: candidate: ‘half& half::operator=(const half&)’
  124 |     half &  operator = (const half  &h) = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:125:13: note: candidate: ‘half& half::operator=(half)’
  125 |     half &  operator = (half  &&h) noexcept = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:572:1: note: candidate: ‘half& half::operator=(float)’
  572 | half::operator = (float f)
      | ^~~~
/usr/include/OpenEXR/half.h: In member function ‘half& half::operator*=(float)’:
/usr/include/OpenEXR/half.h:622:36: error: ambiguous overload for ‘operator=’ (operand types are ‘half’ and ‘half’)
  622 |     *this = half (float (*this) * f);
      |                                    ^
/usr/include/OpenEXR/half.h:124:13: note: candidate: ‘half& half::operator=(const half&)’
  124 |     half &  operator = (const half  &h) = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:125:13: note: candidate: ‘half& half::operator=(half)’
  125 |     half &  operator = (half  &&h) noexcept = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:572:1: note: candidate: ‘half& half::operator=(float)’
  572 | half::operator = (float f)
      | ^~~~
/usr/include/OpenEXR/half.h: In member function ‘half& half::operator/=(half)’:
/usr/include/OpenEXR/half.h:630:44: error: ambiguous overload for ‘operator=’ (operand types are ‘half’ and ‘half’)
  630 |     *this = half (float (*this) / float (h));
      |                                            ^
/usr/include/OpenEXR/half.h:124:13: note: candidate: ‘half& half::operator=(const half&)’
  124 |     half &  operator = (const half  &h) = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:125:13: note: candidate: ‘half& half::operator=(half)’
  125 |     half &  operator = (half  &&h) noexcept = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:572:1: note: candidate: ‘half& half::operator=(float)’
  572 | half::operator = (float f)
      | ^~~~
/usr/include/OpenEXR/half.h: In member function ‘half& half::operator/=(float)’:
/usr/include/OpenEXR/half.h:638:36: error: ambiguous overload for ‘operator=’ (operand types are ‘half’ and ‘half’)
  638 |     *this = half (float (*this) / f);
      |                                    ^
/usr/include/OpenEXR/half.h:124:13: note: candidate: ‘half& half::operator=(const half&)’
  124 |     half &  operator = (const half  &h) = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:125:13: note: candidate: ‘half& half::operator=(half)’
  125 |     half &  operator = (half  &&h) noexcept = default;
      |             ^~~~~~~~
/usr/include/OpenEXR/half.h:572:1: note: candidate: ‘half& half::operator=(float)’
  572 | half::operator = (float f)
      | ^~~~
make: *** [build/bottom.make:58: objdir/codecs/openexr.o] Error 1

jmb commented on 2018-04-04 12:50

@haawda The Evas_Engine_Software_X11.h issue happens only if you have efl installed. Evas_Engine_Software_X11.h was an internal elf header that applications should not use and that has been removed in recent efl releases. If efl is not present, exact-image does not try to build edisplay and the error does not occur.

haawda commented on 2018-02-03 19:33

Cannot reproduce, builds fine here.

seifferth commented on 2018-01-27 23:22

I seem to be getting the same error andybutterworth described. Does anyone here have any idea as to why? Was the issue resolved somehow?

Error Message:

In file included from gfx/X11Helper.cc:36:0:
gfx/X11Helper.hh:33:10: fatal error: Evas_Engine_Software_X11.h: No such file or directory
 #include "Evas_Engine_Software_X11.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

haawda commented on 2017-11-08 18:47

Maybe it builds for me because I have no php here. Can you please try if adding "--without-php" to the configure-options makes it buildable?

AnySomebody commented on 2017-11-08 12:37

Does not build for me:

In file included from /usr/include/php/Zend/zend.h:33:0,
from objdir/api/php/api-php-wrap.cc:748:
objdir/api/php/api-php-wrap.cc: En la función ‘void _swig_default_rsrc_destroy(zend_resource*)’:
objdir/api/php/api-php-wrap.cc:6489:9: error: ‘rsrc’ no se declaró en este ámbito
efree(rsrc->ptr);
^
/usr/include/php/Zend/zend_alloc.h:163:34: nota: en definición de macro ‘efree’
#define efree(ptr) _efree((ptr) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
^~~
make: *** [build/bottom.make:76: objdir/api/php/ExactImage.so] Error 1

andybutterworth commented on 2017-09-21 18:43

Build fails

In file included from gfx/X11Helper.cc:36:0:
gfx/X11Helper.hh:33:10: fatal error: Evas_Engine_Software_X11.h: No such file or directory
#include "Evas_Engine_Software_X11.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [build/bottom.make:58: objdir/gfx/X11Helper.o] Error 1
rm objdir/frontends/bardecode.o objdir/frontends/econvert.o objdir/frontends/edentify.o objdir/frontends/hocr2pdf.o objdir/frontends/e2mtiff.o objdir/frontends/empty-page.o objdir/frontends/optimize2bw.o
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Makepkg was unable to build exact-image.

kashif commented on 2017-08-09 15:33

Builds now, great job!

lisu_ml commented on 2017-08-08 22:15

Thanks, @kashif.

I had no elf installed, so the issue was not triggered on my machine. After installing it I experienced the issue reported by you. After quick look I decided to use patch that I found in Debian repositories.

Please let me know if the issue is now resolved on your end.