Bug 205257

Summary: graphics/gimp-gmic-plugin: Network error (data_film_presets URL changed)
Product: Ports & Packages Reporter: rotkap
Component: Individual Port(s)Assignee: Ruslan Makhmatkhanov <rm>
Status: Closed FIXED    
Severity: Affects Many People CC: ohauer, pi, ports-bugs, rm
Priority: --- Keywords: needs-qa, patch
Version: LatestFlags: rm: maintainer-feedback+
koobs: merge-quarterly?
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205390
Attachments:
Description Flags
gmic 1.6.8 update
rm: maintainer-approval+
patch-1.6.9 none

Description rotkap 2015-12-12 00:01:44 UTC
When using graphics/gimp-gmic-plugin the Filter 'Film Emulation causes a network error.

I tried it with the latest port – and also with an older port: 1.5.9.0_6

in the latest port it is this message

*** Error in ./gimp_emulate_film_bw/_gimp_emulate_film/*if/*if/*if* *** Unreachable network file 'http://gmic.sourceforge.net/data_film_presets/ilford_hp5_plus_400.cimgz'.



In the 1.5.9.0_6 port it is this:
*** Error in ./gimp_emulate_film_bw/_gimp_emulate_film/*if/*if/*if/ *** cimg::load_network_external(): Failed to load file 'http://gmic.sourceforge.net/data_film_presets/ilford_hp5_plus400.cimgz' with external commands 'wget' or 'curl'.


The Reason is: the called location isn't available any more:

Wrong: http://gmic.sourceforge.net/data_film_presets

Correct: http://gmic.eu/data_film_presets/


This new URL should be in the Code. Not the old one.
Comment 1 rotkap 2015-12-12 21:03:24 UTC
Maybe you can go to version 1.6.8  - Latest stable version.
Comment 2 rotkap 2015-12-13 15:49:58 UTC
Today I am wondering: why this error comes up now? The URL changed already before! And also should there no notwork connection necessary  if(!) this filter is already used before! Every used film_emulation_filter is only loaded from the Internet on FIRST USE! After that first use it should be stored somewhere local. It seems that this usage of local stored filters is broken.. Its always looking to the internet. But why? Maybe I'm wrong, but every try to store the filters local, to avoid the network error, wasn't successful :(
Comment 3 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2015-12-13 16:20:43 UTC
Hi, I just tried to patch src/gmic_def.gmic by replacing old url's with new ones. But it doesn't fixed the situation: it created empty  ~/.gmic_film_data directory and I'm seeing some zero-sized .gmicz files created in /tmp, but it still doesn't apply this filters. I also tried to select "[download all filters]" or something like that and it also doesn't working.

So I'm now trying to update to 1.6.8.
Comment 4 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2015-12-13 16:23:37 UTC
Btw, there is the link [1] where you can download all the plugins manually and extract them into ~/.gmic_film_presets. 

[1] http://gmic.eu/data_film_presets/all_gmic_film_presets.zip
Comment 5 rotkap 2015-12-13 17:12:04 UTC
Is it possible, that you ask the GMIC people - what happened? That
must bei a basic change on the filter system/naming/placement..

There is also a maintainer - (Project Manager and Main Developer) David
Tschumperlé. 

By the Way, another Bug in GMIC on freeBSD was, that the filter
"Details / Sharpen [inverse diffusion]" crashes since 1.6 - thats why I
stuck to 1.5.9. Maybe you can test this in 1.6.8
Comment 6 rotkap 2015-12-13 17:21:26 UTC
I Tried also the manually download and put the results into ~/.gmic_film_presets. 

I tried both:

get all:
http://gmic.eu/data_film_presets/all_gmic_film_presets.zip

and get some - picked out of this dir:
http://gmic.eu/data_film_presets
e.g. http://gmic.eu/data_film_presets/ilford_hp5_plus_400.cimgz


If you pick ALL then the names are different:

film_ilford_hp5_plus_400.cimgz
ilford_hp5_plus_400.cimgz

But - both don't work!
Comment 7 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2015-12-13 20:41:50 UTC
Created attachment 164207 [details]
gmic 1.6.8 update

So I finally ported 1.6.8 and can't say if it solves your problem (fetching of presets). But it definitely doesn't saves them to ~/.gmic_film_presets. So I asked here: https://github.com/dtschump/gmic-minimal/issues/3

You also can apply this patch to your ports tree and test yourself.
Comment 8 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2015-12-13 20:43:38 UTC
"Details / Sharpen [inverse diffusion]" doesn't seems crashing in 1.6.8 for me.
Comment 9 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2015-12-13 21:00:06 UTC
Got the response: presets are now cached into ~/.config/gmic and it's working. Please test it and let me know if everything is fine now.
Comment 10 rotkap 2015-12-14 00:03:17 UTC
In 1.6.8 NOTHING works. EVERY Filter throws that:


,----
| cimg::fopen(): Failed to open '/proc/self/status' with mode 'rb'.
`----
Comment 11 Kubilay Kocak freebsd_committer freebsd_triage 2015-12-14 00:03:46 UTC
Let's leave the merge-quarterly flag ? until MFH commit lands with PR: reference to this issue. Then set + :)
Comment 12 rotkap 2015-12-14 00:23:41 UTC
has this anything to do with it:

the olde one is in 'FreeBSD configuration' and the new one in 'default Unix configuration':


===>  Configuring for gimp-gmic-plugin-1.5.9.0_6
===>  Building for gimp-gmic-plugin-1.5.9.0_6
gmake[2]: Entering directory '/usr/ports/graphics/gimp-gmic-plugin/work/gmic-1.5.9.0/src'

**                                            
** FreeBSD configuration
**





===>  Configuring for gimp-gmic-plugin-1.6.8
===>  Building for gimp-gmic-plugin-1.6.8
gmake[2]: Entering directory '/usr/ports/graphics/gimp-gmic-plugin/work/gmic-1.6.8/src'
**
** Start building G'MIC with default Unix configuration.
**
Comment 13 rotkap 2015-12-14 00:26:56 UTC
What does this mean:


Let's leave the merge-quarterly flag ? until MFH commit lands with PR: reference to this issue. Then set + :)


Sorry I am not a developer. If there is anything to patch, please write CLEARLY 
-what to do
-in which folder
Comment 14 Kubilay Kocak freebsd_committer freebsd_triage 2015-12-14 00:27:55 UTC
(In reply to rotkap from comment #13)

The comment was more for Ruslan :)
Comment 15 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2015-12-14 05:35:09 UTC
(In reply to rotkap from comment #10)

What is your FreeBSD version/architecture? Do you have procfs mounted?
Comment 16 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2015-12-14 05:36:36 UTC
(In reply to Kubilay Kocak from comment #11)
Sorry, looks like I don't understand how it works in bugzilla. I added '+' to mark it as 'should MFH'.
Comment 17 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2015-12-14 05:37:40 UTC
(In reply to rotkap from comment #12)
That's ok. In older versions of gmic we needed some custom build code for FreeBSD, not it's not needed anymore.
Comment 18 rotkap 2015-12-14 09:08:30 UTC
my system is: FreeBSD 10.1-RELEASE-p5 amd64
I Do not have any procfs mounted 
(I even dont Know what it is for, and my system runs very good whithout it)

What I did was just this:

cd /usr/ports/graphics/gimp-gmic-plugin
patch < gmic-168.diff

That was it.
Comment 19 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2015-12-14 09:12:42 UTC
I have procfs mounted because I'm gnome user. Anyway, I can't reproduce your errors, so I'd recommend to try to mount procfs. Add this line to your /etc/fstab and do `mount /proc`.

proc			/proc			procfs	rw	0	0

If it's indeed required to run gimp-gmic, then I'll add this into pkg-message.
Comment 20 rotkap 2015-12-14 09:17:53 UTC
Please can you ask the Gmic people, if this is realy new in 1.6.8? The Plugin always worked whithout that until now.. Why this is now needed?
Comment 21 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2015-12-14 09:21:54 UTC
I just unmounted procfs and it still working just fine here. So looks like it's not the cause. The only difference with you that I test in FreeBSD 11.
Comment 22 rotkap 2015-12-14 13:36:20 UTC
Okay, now I have procfs mounted:

But still the same Errror:
,----
| cimg::fopen(): Failed to open '/proc/self/status' with mode 'rb'.
`----

That was not the reason.
Comment 23 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2015-12-14 13:40:46 UTC
Yes, I already checked it in previous comment and said so. Btw, where do you seeing this error?
Comment 24 rotkap 2015-12-14 14:09:22 UTC
It comes in a popup window:

http://rotkap.tsdh.org/Gmic-Error168.png


It apears when I Press OK (or th other Button, that caption I have only in Germen - it menas "go").

To mee, it looks like it comes "on the end" of that operation. The Preview window works.
Comment 25 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2015-12-14 14:16:08 UTC
Aha, now I see it too. Only used preview and Apply before.
Comment 26 rotkap 2015-12-14 14:25:05 UTC
Oh - ypu can see it. In my case it comes up even on the Apply button.
Comment 27 rotkap 2015-12-18 00:36:36 UTC
One idea für the behavior of gimp-gmic-plug < 1.6.8 (eg. 1.6, 1.5..)

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205390

The software gimp is always forgetting his screens!

After every new Start, there are always windows missing, that should be there, since last quit of the software.

It seems, that gimp is not writing its settings on close.

I highly think that is something to do with this gimp-gmic-plugin Bug:

The gimp-gmic-plugin has a “double error”: The project has changed the URL where to find Filters in the Internet – BUT it has also forgotten its local stored filters. So it is always searching the Internet und fails. 

The Question is: Why it is searching in the net – when it has the filters local?

See the relation? Gimp always forget his settings – also does gimp-gmic-plugin do: Forget its settings.
Comment 28 Olli Hauer freebsd_committer freebsd_triage 2015-12-19 21:48:06 UTC
Hm, /proc/self/status is first class linuxismus ...

On FreeBSD I haven't seen a /proc/self/... and I suspect there will never be one.
This should be escalated to upstream if there is no easy solution to make this work on FreeBSD.

Only a rant about the other error messages, and no I don't want to install X11 on console only any of my systems.
I suspect gimp and plugins looking for updates even a local copy exists, now SF return a hard 404 instead a 301/302 redirect and that is not right handled by gimp and plugins.

Are the issues also present with 1.5.x/1.6.x without internet access?
(I suspect a hang until it run's in a timeout and no hard errors but that's only a guess)
Comment 29 rotkap 2015-12-19 22:24:21 UTC
1)
I was thinking about the linuxismus: What does GMIC with /proc/self/ on Windows?

2)
To the original PR: Yes, Gmic (not Gimp!) is looking for it's filters in the net, even if a local copy exists. 

But: There is a Howto for Offline working, but it does not work with GMIC 1.5.x and 1.6.x

guess: the internal structure of it's filters has changed (Binary type / *.cimgz).

So a Download and offline use of this Filters (zip-file) fails, because this filters are brandnew and only for 1.6.8.

Workaround: maybe: get some offline filters for 1.5x to 1.6.x (not 1.6.8). It could work. Maybe.


3) 
Yes, the  the issues also present with 1.5.x/1.6.x - independent to the Internet Access


Finaly: it seems to be a double Bug in 1.5.x /1.6.x (maybe not 1.6.8):


1) the URL changed
2) the offline format/structure of the filters changed
Comment 30 rotkap 2016-01-06 01:34:56 UTC
Hi,

is there something happen?

Or is this peace of open source software unusable forever?!
Comment 31 rotkap 2016-01-10 18:44:11 UTC
What does  this mean (reveived via mail):


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205257

Kubilay Kocak <koobs@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://bugs.freebsd.org/bu
                   |                            |gzilla/show_bug.cgi?id=2053
                   |                            |90
Comment 32 Kurt Jaeger freebsd_committer freebsd_triage 2016-02-25 21:56:20 UTC
Created attachment 167419 [details]
patch-1.6.9

Heino, can you test if the problem is reproducable with this patch applied ?

Have you tried to rise an issue with upstream at

https://github.com/dtschump/gmic

?
Comment 33 commit-hook freebsd_committer freebsd_triage 2016-03-22 21:57:14 UTC
A commit references this bug:

Author: rm
Date: Tue Mar 22 21:57:06 UTC 2016
New revision: 411677
URL: https://svnweb.freebsd.org/changeset/ports/411677

Log:
  graphics/gimp-gmic-plugin: update to 1.6.9

  This update also solving problem with presets downloading,
  mentioned in PR.

  PR:		205257
  MFH:		2016Q1

Changes:
  head/graphics/gimp-gmic-plugin/Makefile
  head/graphics/gimp-gmic-plugin/distinfo
  head/graphics/gimp-gmic-plugin/files/patch-Makefile
  head/graphics/gimp-gmic-plugin/files/patch-gmic__gimp.cpp
Comment 34 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2016-03-22 21:58:20 UTC
Problem resolved.