bootchk / resynthesizer

Suite of gimp plugins for texture synthesis
GNU General Public License v3.0
1.39k stars 164 forks source link

Can't build the deprecations branch on windows. #115

Open ghost opened 1 year ago

ghost commented 1 year ago

I get this error about glib config.h or something like that. I understand the deprecations branch is supposed to compile against GIMP3 which I have through msys2.

[1/13] Compiling C object src/resynthesizer/resynthesizer.exe.p/plugin.c.obj FAILED: src/resynthesizer/resynthesizer.exe.p/plugin.c.obj "cc" "-Isrc\resynthesizer\resynthesizer.exe.p" "-Isrc\resynthesizer" "-I..\src\resynthesizer" "-Ilib" "-I..\lib" "-ID:/msys64/mingw64/bin/../include/gtk-3.0" "-ID:/msys64/mingw64/bin/../include/pango-1.0" "-ID:/msys64/mingw64/bin/../include/glib-2.0" "-ID:/msys64/mingw64/bin/../lib/glib-2.0/include" "-ID:/msys64/mingw64/bin/../include" "-ID:/msys64/mingw64/bin/../include/fribidi" "-ID:/msys64/mingw64/bin/../include/freetype2" "-ID:/msys64/mingw64/bin/../include/libpng16" "-ID:/msys64/mingw64/bin/../include/harfbuzz" "-ID:/msys64/mingw64/bin/../include/cairo" "-ID:/msys64/mingw64/bin/../include/lzo" "-ID:/msys64/mingw64/bin/../include/pixman-1" "-ID:/msys64/mingw64/bin/../include/gimp-3.0" "-ID:/msys64/mingw64/bin/../include/gdk-pixbuf-2.0" "-ID:/msys64/mingw64/bin/../include/gegl-0.4" "-ID:/msys64/mingw64/bin/../include/gio-win32-2.0" "-ID:/msys64/mingw64/bin/../include/json-glib-1.0" "-ID:/msys64/mingw64/bin/../include/babl-0.1" "-ID:/msys64/mingw64/bin/../include/atk-1.0" "-fdiagnostics-color=always" "-D_FILE_OFFSET_BITS=64" "-Wall" "-Winvalid-pch" "-O2" "-g" "-DG_LOG_DOMAIN=\"Resynthesizer\"" "-DGIMP_COMPILATION" -MD -MQ src/resynthesizer/resynthesizer.exe.p/plugin.c.obj -MF "src\resynthesizer\resynthesizer.exe.p\plugin.c.obj.d" -o src/resynthesizer/resynthesizer.exe.p/plugin.c.obj "-c" ../src/resynthesizer/plugin.c ../src/resynthesizer/plugin.c:2:10: fatal error: ../../config.h: No such file or directory 2 #include "../../config.h" // GNU buildtools local configuration ^~~~ compilation terminated. [2/13] Compiling C object src/resynthesizer/resynthesizer.exe.p/resynthesizer.c.obj FAILED: src/resynthesizer/resynthesizer.exe.p/resynthesizer.c.obj "cc" "-Isrc\resynthesizer\resynthesizer.exe.p" "-Isrc\resynthesizer" "-I..\src\resynthesizer" "-Ilib" "-I..\lib" "-ID:/msys64/mingw64/bin/../include/gtk-3.0" "-ID:/msys64/mingw64/bin/../include/pango-1.0" "-ID:/msys64/mingw64/bin/../include/glib-2.0" "-ID:/msys64/mingw64/bin/../lib/glib-2.0/include" "-ID:/msys64/mingw64/bin/../include" "-ID:/msys64/mingw64/bin/../include/fribidi" "-ID:/msys64/mingw64/bin/../include/freetype2" "-ID:/msys64/mingw64/bin/../include/libpng16" "-ID:/msys64/mingw64/bin/../include/harfbuzz" "-ID:/msys64/mingw64/bin/../include/cairo" "-ID:/msys64/mingw64/bin/../include/lzo" "-ID:/msys64/mingw64/bin/../include/pixman-1" "-ID:/msys64/mingw64/bin/../include/gimp-3.0" "-ID:/msys64/mingw64/bin/../include/gdk-pixbuf-2.0" "-ID:/msys64/mingw64/bin/../include/gegl-0.4" "-ID:/msys64/mingw64/bin/../include/gio-win32-2.0" "-ID:/msys64/mingw64/bin/../include/json-glib-1.0" "-ID:/msys64/mingw64/bin/../include/babl-0.1" "-ID:/msys64/mingw64/bin/../include/atk-1.0" "-fdiagnostics-color=always" "-D_FILE_OFFSET_BITS=64" "-Wall" "-Winvalid-pch" "-O2" "-g" "-DG_LOG_DOMAIN=\"Resynthesizer\"" "-DGIMP_COMPILATION" -MD -MQ src/resynthesizer/resynthesizer.exe.p/resynthesizer.c.obj -MF "src\resynthesizer\resynthesizer.exe.p\resynthesizer.c.obj.d" -o src/resynthesizer/resynthesizer.exe.p/resynthesizer.c.obj "-c" ../src/resynthesizer/resynthesizer.c ../src/resynthesizer/resynthesizer.c:75:10: fatal error: ../../config.h: No such file or directory 75 #include "../../config.h" // GNU buildtools local configuration ^~~~ compilation terminated. [3/13] Compiling C object lib/liblibresynthesizer-3.0.dll.p/progress.c.obj FAILED: lib/liblibresynthesizer-3.0.dll.p/progress.c.obj "cc" "-Ilib\liblibresynthesizer-3.0.dll.p" "-Ilib" "-I..\lib" "-ID:/msys64/mingw64/bin/../include/glib-2.0" "-ID:/msys64/mingw64/bin/../lib/glib-2.0/include" "-ID:/msys64/mingw64/bin/../include" "-ID:/msys64/mingw64/bin/../include/gtk-3.0" "-ID:/msys64/mingw64/bin/../include/pango-1.0" "-ID:/msys64/mingw64/bin/../include/fribidi" "-ID:/msys64/mingw64/bin/../include/freetype2" "-ID:/msys64/mingw64/bin/../include/libpng16" "-ID:/msys64/mingw64/bin/../include/harfbuzz" "-ID:/msys64/mingw64/bin/../include/cairo" "-ID:/msys64/mingw64/bin/../include/lzo" "-ID:/msys64/mingw64/bin/../include/pixman-1" "-ID:/msys64/mingw64/bin/../include/gimp-3.0" "-ID:/msys64/mingw64/bin/../include/gdk-pixbuf-2.0" "-ID:/msys64/mingw64/bin/../include/gegl-0.4" "-ID:/msys64/mingw64/bin/../include/gio-win32-2.0" "-ID:/msys64/mingw64/bin/../include/json-glib-1.0" "-ID:/msys64/mingw64/bin/../include/babl-0.1" "-ID:/msys64/mingw64/bin/../include/atk-1.0" "-fdiagnostics-color=always" "-D_FILE_OFFSET_BITS=64" "-Wall" "-Winvalid-pch" "-O2" "-g" "-DG_LOG_DOMAIN=\"LibResynthesizer\"" -MD -MQ lib/liblibresynthesizer-3.0.dll.p/progress.c.obj -MF "lib\liblibresynthesizer-3.0.dll.p\progress.c.obj.d" -o lib/liblibresynthesizer-3.0.dll.p/progress.c.obj "-c" ../lib/progress.c ../lib/progress.c:8:12: fatal error: ../config.h: No such file or directory 8 #include "../config.h" // GNU buildtools local configuration ^~~~~ compilation terminated. [4/13] Compiling C object lib/liblibresynthesizer-3.0.dll.p/engine.c.obj FAILED: lib/liblibresynthesizer-3.0.dll.p/engine.c.obj "cc" "-Ilib\liblibresynthesizer-3.0.dll.p" "-Ilib" "-I..\lib" "-ID:/msys64/mingw64/bin/../include/glib-2.0" "-ID:/msys64/mingw64/bin/../lib/glib-2.0/include" "-ID:/msys64/mingw64/bin/../include" "-ID:/msys64/mingw64/bin/../include/gtk-3.0" "-ID:/msys64/mingw64/bin/../include/pango-1.0" "-ID:/msys64/mingw64/bin/../include/fribidi" "-ID:/msys64/mingw64/bin/../include/freetype2" "-ID:/msys64/mingw64/bin/../include/libpng16" "-ID:/msys64/mingw64/bin/../include/harfbuzz" "-ID:/msys64/mingw64/bin/../include/cairo" "-ID:/msys64/mingw64/bin/../include/lzo" "-ID:/msys64/mingw64/bin/../include/pixman-1" "-ID:/msys64/mingw64/bin/../include/gimp-3.0" "-ID:/msys64/mingw64/bin/../include/gdk-pixbuf-2.0" "-ID:/msys64/mingw64/bin/../include/gegl-0.4" "-ID:/msys64/mingw64/bin/../include/gio-win32-2.0" "-ID:/msys64/mingw64/bin/../include/json-glib-1.0" "-ID:/msys64/mingw64/bin/../include/babl-0.1" "-ID:/msys64/mingw64/bin/../include/atk-1.0" "-fdiagnostics-color=always" "-D_FILE_OFFSET_BITS=64" "-Wall" "-Winvalid-pch" "-O2" "-g" "-DG_LOG_DOMAIN=\"LibResynthesizer\"" -MD -MQ lib/liblibresynthesizer-3.0.dll.p/engine.c.obj -MF "lib\liblibresynthesizer-3.0.dll.p\engine.c.obj.d" -o lib/liblibresynthesizer-3.0.dll.p/engine.c.obj "-c" ../lib/engine.c ../lib/engine.c:79:12: fatal error: ../config.h: No such file or directory 79 #include "../config.h" // GNU buildtools local configuration ^~~~~ compilation terminated. [6/13] Compiling C object lib/liblibresynthesizer-3.0.dll.p/imageSynth.c.obj In file included from ../lib/imageSynth.c:56: ../lib/adaptSimple.h:183:1: warning: 'initBufferAndAntiAdapt' defined but not used [-Wunused-function] 183 initBufferAndAntiAdapt( ^~~~~~ [10/13] Compiling C object src/resynthesizer/resynthesizer.exe.p/drawable.c.obj ../src/resynthesizer/drawable.c: In function 'bpp': ../src/resynthesizer/drawable.c:96:51: warning: implicit declaration of function 'gimp_drawable_bpp'; did you mean 'gimp_drawable_type'? [-Wimplicit-function-declaration] 96 gint bpp(GimpDrawable *d) { return gimp_drawable_bpp (d); } ^~~~~ gimp_drawable_type ../src/resynthesizer/drawable.c: In function 'width': ../src/resynthesizer/drawable.c:97:51: warning: implicit declaration of function 'gimp_drawable_width'; did you mean 'gimp_drawable_fill'? [-Wimplicit-function-declaration] 97 gint width (GimpDrawable *d) { return gimp_drawable_width (d); } ^~~~~~~ gimp_drawable_fill ../src/resynthesizer/drawable.c: In function 'height': ../src/resynthesizer/drawable.c:98:51: warning: implicit declaration of function 'gimp_drawable_height'; did you mean 'gimp_drawable_get_height'? [-Wimplicit-function-declaration] 98 gint height (GimpDrawable *d) { return gimp_drawable_height(d); } ^~~~~~~~ gimp_drawable_get_height ../src/resynthesizer/drawable.c: In function 'offsets': ../src/resynthesizer/drawable.c:136:3: warning: implicit declaration of function 'gimp_drawable_offsets'; did you mean gimp_drawable_offset'? [-Wimplicit-function-declaration] 136 gimp_drawable_offsets( d, x, y ); ^~~~~ gimp_drawable_offset ../src/resynthesizer/drawable.c: In function 'get_selection': ../src/resynthesizer/drawable.c:145:55: warning: passing argument 1 of 'gimp_item_get_image' from incompatible pointer type [-Wincompatible-pointer-types] 145 return gimp_image_get_selection(gimp_item_get_image(d)); ^
GimpDrawable {aka struct _GimpDrawable }

In file included from D:/msys64/mingw64/include/gimp-3.0/libgimp/gimp_pdb_headers.h:62, from D:/msys64/mingw64/include/gimp-3.0/libgimp/gimp.h:68, from ../src/resynthesizer/drawable.c:4: D:/msys64/mingw64/include/gimp-3.0/libgimp/gimpitem_pdb.h:43:66: note: expected 'GimpItem ' {aka 'struct _GimpItem '} but argument is of type 'GimpDrawable ' {aka 'struct _GimpDrawable '} 43 | GimpImage gimp_item_get_image (GimpItem item); | ~~~~^~~~ ../src/resynthesizer/drawable.c:145:10: warning: returning 'GimpSelection ' {aka 'struct _GimpSelection '} from a function with incompatible return type 'GimpDrawable ' {aka 'struct _GimpDrawable '} [-Wincompatible-pointer-types] 145 | return gimp_image_get_selection(gimp_item_get_image(d)); | ^~~~~~~~~~~~ ninja: build stopped: subcommand failed.

What exactly is going on?

cmyk-student commented 1 year ago

There's a couple of issues.

That's enough to make the code compile. It won't yet work though, because GIMP also changed their API to potentially take in an array of layers rather than a single layer. The Resynthesizer code has to be updated for that, otherwise it crashes. I've got a few of the plug-ins ported over and working - I'll try to submit a pull request once I think it's ready to be looked at.

bootchk commented 1 year ago

@cmyk-student :

I've got a few of the plug-ins ported over and working

Do you mean you are porting the Python plugins that are part of resynthesizer to the Gimp v3 plugin API which uses GObject introspection? That is fine. Only that I didn't want to do it, but instead wrote GimpFuv3, which supports (more or less) v2 Gimp plugins in Gimp v3. And that is why I say the deprecations branch was working (more or less, at one time), without porting the plugins to the v3 API. I don't mean to say that one way is better than another, only that I am interested.

The "heal selection" plugin is the most popular, and thus highest priority.

Sometimes I wonder whether image synthesis using machine learning will make Resynthesizer obsolete. And whether everyone will be using image apps in the cloud (on websites) instead of using installed Gimp.

bootchk commented 1 year ago

@jointri : sorry for not responding. The deprecations branch is really just proof of concept, not supported by me until Gimp 3 ships, and even then maybe not. I haven't built it in a long time. cmyk-student is probably correct, Gimp master (v3) API is still changing and I did not keep up with the changes.

I have actually been working on other areas of Gimp (ScriptFu mainly) instead.

cmyk-student commented 1 year ago

@bootchk Hello! I had to make changes to both the Python scripts and the C code for the Resynthesizer plug-in. Some of the APIs have changed and don't compile. Also the Resynthesizer plug-in crashes because GIMP now expects them to support multi-layer selections - so the arguments aren't passed in correctly.

I wanted to port all the Python plug-ins over to GObject Introspection, clean up my work and try to match the current GIMP code formatting style, then reach out to you to see if you wanted me to submit a merge request. If you want to see the in-progress work, I've started posting the relevant files here: https://gitlab.gnome.org/cmyk.student/resynthesizer-v3-port So far I've got Heal Selection and Heal Transparency working, and Resynth Sharpen is ported (but I don't think it's producing the correct results, so I likely made a mistake somewhere)

Even if it become obsolete in the future, it's a really useful tool right now. :) (I've also seen a lot of people interested in getting it working in Gimp 2.99 again, which I think is nice)

JohnVV commented 1 year ago

the deves over at OpenSUSE ( linux ) have ported the plugin to the current gimp 2.10

https://download.opensuse.org/repositories/graphics/15.4/x86_64/gimp-plugin-resynthesizer-2.0.3~git.20220422-lp154.8.1.x86_64.rpm

a rpm file is basically a fancy zip file , on windows you can use any zip program to open it

On Wed, Jan 4, 2023 at 4:59 PM cmyk-student @.***> wrote:

@bootchk https://github.com/bootchk Hello! I had to make changes to both the Python scripts and the C code for the Resynthesizer plug-in. Some of the APIs have changed and don't compile. Also the Resynthesizer plug-in crashes because GIMP now expects them to support multi-layer selections - so the arguments aren't passed in correctly.

I wanted to port all the Python plug-ins over to GObject Introspection, clean up my work and try to match the current GIMP code formatting style, then reach out to you to see if you wanted me to submit a merge request. If you want to see the in-progress work, I've started posting the relevant files here: https://gitlab.gnome.org/cmyk.student/resynthesizer-v3-port So far I've got Heal Selection and Heal Transparency working, and Resynth Sharpen is ported (but I don't think it's producing the correct results, so I likely made a mistake somewhere)

Even if it become obsolete in the future, it's a really useful tool right now. :) (I've also seen a lot of people interested in getting it working in Gimp 2.99 again, which I think is nice)

— Reply to this email directly, view it on GitHub https://github.com/bootchk/resynthesizer/issues/115#issuecomment-1371477479, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQIWR4MV7VUKUOADAVUGTTWQXXC3ANCNFSM6AAAAAAQ4NU75A . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- " I don't pitch Linux OS's to my friends,

I let MS Windows 10 do that for me!!"

salvecom333 commented 11 months ago

the deves over at OpenSUSE ( linux ) have ported the plugin to the current gimp 2.10 https://download.opensuse.org/repositories/graphics/15.4/x86_64/gimp-plugin-resynthesizer-2.0.3~git.20220422-lp154.8.1.x86_64.rpm a rpm file is basically a fancy zip file , on windows you can use any zip program to open it On Wed, Jan 4, 2023 at 4:59 PM cmyk-student @.> wrote: @bootchk https://github.com/bootchk Hello! I had to make changes to both the Python scripts and the C code for the Resynthesizer plug-in. Some of the APIs have changed and don't compile. Also the Resynthesizer plug-in crashes because GIMP now expects them to support multi-layer selections - so the arguments aren't passed in correctly. I wanted to port all the Python plug-ins over to GObject Introspection, clean up my work and try to match the current GIMP code formatting style, then reach out to you to see if you wanted me to submit a merge request. If you want to see the in-progress work, I've started posting the relevant files here: https://gitlab.gnome.org/cmyk.student/resynthesizer-v3-port So far I've got Heal Selection and Heal Transparency working, and Resynth Sharpen is ported (but I don't think it's producing the correct results, so I likely made a mistake somewhere) Even if it become obsolete in the future, it's a really useful tool right now. :) (I've also seen a lot of people interested in getting it working in Gimp 2.99 again, which I think is nice) — Reply to this email directly, view it on GitHub <#115 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQIWR4MV7VUKUOADAVUGTTWQXXC3ANCNFSM6AAAAAAQ4NU75A . You are receiving this because you are subscribed to this thread.Message ID: @.> -- " I don't pitch Linux OS's to my friends, I let MS Windows 10 do that for me!!"

how do you install it, in windows?