Package Details: exact-image 1.0.2-3

Git Clone URL: (read-only, click to copy)
Package Base: exact-image
Description: Fast image manipulation programs
Upstream URL:
Licenses: GPL2
Submitter: lisu_ml
Maintainer: nemesys
Last Packager: nemesys
Votes: 8
Popularity: 0.005241
First Submitted: 2016-08-29 16:04
Last Updated: 2020-08-08 09:39

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

« First ‹ Previous 1 2

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.

kashif commented on 2017-08-08 21:19

Hi lisu_ml,

Thanks for the quick response! The update with exact-image-types.patch did not help with the compilation issue.

The problem seems to be that both Evas and Evas_Object have the same underlying type, namely Eo, as provided by the current version of efl (1.18.4-3).

From /usr/include/evas-1/Evas_Common.h:

typedef Eo Evas;
typedef Eo Efl_Canvas_Object;
typedef Efl_Canvas_Object Evas_Object;

The compiler is upset that X11Window::CaptureIntoEvasImage(..) is overloaded with two parameter lists that are identical, and have Eo* as the first parameter.

It's curious that you aren't able to reproduce the issue. Perhaps your Evas_Common.h is provided by a different package? Maybe you have an outdated version of efl? Perhaps different gcc flags?

$ pacman -Qo /usr/include/evas-1/Evas_Common.h
/usr/include/evas-1/Evas_Common.h is owned by efl 1.18.4-3

$ gcc -v
Using built-in specs.
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl= --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --enable-libmpx --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --disable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp
Thread model: posix
gcc version 7.1.1 20170630 (GCC)

lisu_ml commented on 2017-08-08 16:54

Hey @kashif, thanks for reporting the problem.

Though I cannot reproduce it on my machine (Current Arch, gcc 7.1.1 20170630), I created the patch, that may make things work for you.

It is already committed and pushed, so could you please try rebuilding the package and let me know if your issue is solved?

Thank you.

kashif commented on 2017-08-08 14:36

Build fails:

C++ objdir/gfx/X11Helper.o
In file included from gfx/
gfx/X11Helper.hh:82:15: error: ‘static void X11Window::CaptureIntoEvasImage(Evas_Object*, Display*, Window, int, int, int, int)’ cannot be overloaded
static void CaptureIntoEvasImage (Evas_Object* ob,
gfx/X11Helper.hh:77:23: error: with ‘static Evas_Object* X11Window::CaptureIntoEvasImage(Evas*, Display*, Window, int, int, int, int)’
static Evas_Object* CaptureIntoEvasImage (Evas* evas,
gfx/ error: prototype for ‘void X11Window::CaptureIntoEvasImage(Evas_Object*, Display*, Window, int, int, int, int)’ does not match any in class ‘X11Window’
void X11Window::CaptureIntoEvasImage (Evas_Object* ob,
gfx/ error: candidate is: static Evas_Object* X11Window::CaptureIntoEvasImage(Evas*, Display*, Window, int, int, int, int)
Evas_Object* X11Window::CaptureIntoEvasImage (Evas* evas,
make: *** [build/bottom.make:58: objdir/gfx/X11Helper.o] Error 1
make: *** Waiting for unfinished jobs....
rm objdir/frontends/bardecode.o objdir/frontends/edentify.o objdir/frontends/hocr2pdf.o objdir/frontends/e2mtiff.o objdir/frontends/econvert.o objdir/frontends/empty-page.o objdir/frontends/optimize2bw.o
==> ERROR: A failure occurred in build().

lisu_ml commented on 2017-02-19 12:39

@Maxr: It seems that the problem is with the comment syntax in one of the .hh files. I created add applied the patch, so could you please try again with the fresh build?

Maxr commented on 2017-02-19 07:47

For be buildung fails too:
api/python/../api-swig.hh:25: Error: Unknown SWIG preprocessor directive: manually (if this is a block of target language code, delimit it with %{ and %})
make: *** [api/lua/Makefile:11: objdir/api/lua/] Error 1

lisu_ml commented on 2016-11-12 22:40

@krusty64: I don't know what's the problem? I was able to build the package on both Arch and Manjaro? Is the patch really required?

lisu_ml commented on 2016-11-11 18:29

Hey, thanks for the patch. I will review it soon as I have just arrived from the holidays and will be busy with some other stuff. I will try to test your patch during the weekend!

Anonymous comment on 2016-11-07 13:14

I created this patch to make it compile on manjaro:
(Renames second definition of CaptureIntoEvasImage into CaptureIntoEvasObjectImage)

@@ -11,12 +11,14 @@ source=("$pkgname-$pkgver.tar.bz2"
- "$pkgname-c-98.patch")
+ "$pkgname-c-98.patch"
+ "$pkgname-eval-object.patch")
- '4d543d6b9ee1f7842c6f6c4b4f159c21')
+ '4d543d6b9ee1f7842c6f6c4b4f159c21'
+ '237cbc483dcf4afd9621953505ef15b4')

prepare() {
cd "$pkgname-$pkgver"
@@ -24,6 +26,7 @@ prepare() {
patch -p1 -i "$srcdir/$pkgname-libpng.patch"
patch -p1 -i "$srcdir/$pkgname-libungif.patch"
patch -p1 -i "$srcdir/$pkgname-c-98.patch"
+ patch -p1 -i "$srcdir/$pkgname-eval-object.patch"

build() {
diff --git a/exact-image-eval-object.patch b/exact-image-eval-object.patch
new file mode 100644
index 0000000..5727ea3
--- /dev/null
+++ b/exact-image-eval-object.patch
@@ -0,0 +1,28 @@
+--- exact-image-0.9.1/gfx/ 2016-11-07 13:43:28.471184526 +0100
++++ exact-image-0.9.1/gfx/ 2016-11-07 13:59:47.387835587 +0100
+@@ -133,12 +133,12 @@
+ Evas_Object* ob = evas_object_image_add(evas);
+ evas_object_resize (ob, w, h);
+- CaptureIntoEvasImage (ob, dpy, window, x, y, w, h);
++ CaptureIntoEvasObjectImage (ob, dpy, window, x, y, w, h);
+ return ob;
+ }
+-void X11Window::CaptureIntoEvasImage (Evas_Object* ob,
++void X11Window::CaptureIntoEvasObjectImage (Evas_Object* ob,
+ Display* dpy,
+ Window window,
+ int x, int y, int w, int h)
+--- exact-image-0.9.1/gfx/X11Helper.orig.hh 2016-11-07 13:43:22.357851290 +0100
++++ exact-image-0.9.1/gfx/X11Helper.hh 2016-11-07 13:59:32.787835819 +0100
+@@ -79,7 +79,7 @@
+ Window window,
+ int x, int y, int w, int h);
+- static void CaptureIntoEvasImage (Evas_Object* ob,
++ static void CaptureIntoEvasObjectImage (Evas_Object* ob,
+ Display* dpy,
+ Window window,
+ int x, int y, int w, int h);