After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 650192 - GIMP-2.6.11 does NOT compile with libpng-1.5
GIMP-2.6.11 does NOT compile with libpng-1.5
Status: RESOLVED DUPLICATE of bug 640409
Product: GIMP
Classification: Other
Component: General
2.6.11
Other Linux
: Normal normal
: ---
Assigned To: GIMP Bugs
GIMP Bugs
Depends on:
Blocks:
 
 
Reported: 2011-05-14 16:43 UTC by alupu
Modified: 2011-05-15 04:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
config.log (114.63 KB, text/plain)
2011-05-14 16:43 UTC, alupu
Details
config.status (92.66 KB, text/plain)
2011-05-14 16:46 UTC, alupu
Details
configuration screen display (19.50 KB, text/plain)
2011-05-14 16:47 UTC, alupu
Details

Description alupu 2011-05-14 16:43:56 UTC
Created attachment 187819 [details]
config.log

The make error:
 ...
gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -pthread -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng15 -I/usr/include/libdrm   -I/usr/include  -DGIMP_DISABLE_DEPRECATED -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE  -g -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -MT file-mng.o -MD -MP -MF .deps/file-mng.Tpo -c -o file-mng.o file-mng.c

file-mng.c: In function 'mng_save_image':
file-mng.c:972: error: dereferencing pointer to incomplete type
file-mng.c:984: error: dereferencing pointer to incomplete type
---------------- <snip 24 similar error lines> ---------------
file-mng.c:1068: error: dereferencing pointer to incomplete type
file-mng.c:1080: error: dereferencing pointer to incomplete type
make[3]: *** [file-mng.o] Error 1
make[3]: Leaving directory `/usr/src/gimp-2.6.11/plug-ins/common'
<snip the few remaining lines (with depressing compile conclusion)>

FWIW, please find attached
 config.status
 config.log
 config.txt (the screen output)

SYSTEM
 (B)LFS i686-pc-linux-gnu, 2.6.38.6
 libpng-1.5.2
 cairo-1.10.2
 glib-2.28.6
 gtk+-2.24.3
 Xorg-7.6

REASON for FAILURE
Some of GIMP-2.6.11 components (file-mng in particular) have still
not heeded the libPNG-1.5 requirement:
"Portability Note
 The libpng 1.5.x series continues the evolution of the libpng API, finally
hiding the contents of the venerable and hoary png_struct and png_info data
structures inside private (i.e., non-installed) header files. ..."

The warning is in a big red box - to catch the eye of any cyber citizen
passing by) at
 www.libpng.org/pub/png/libpng.html

Notes:
1. Some GIMP components (in particular ico-load/ico-save) have followed
the libPNG-1.5 requirement and consequently, didn't fail on compile.

It's as if the libpng courier carrying the "1.5.x" message managed
to reach the "file-ico" group but then suffered an untoward fate
on his way to the "common" compound.
Release dates:
gimp-2.6.11 =  2010-10-03 (for reference)
libpng-1.5.0 = 2011-01-09
libpng-1.5.2 = 2011-03-31
Relatively plenty of time for a courier to reach both gimp compounds
(under normal circumstances) and for _all_ groups to get with the program.

2. Out of curiosity (and in fun) I made a few required "mechanical"
changes (in the process, maybe missing the intent of authors here and there)

diff file-mng.c-FIXED file-mng.c
972c972
<       if (setjmp (png_jmpbuf (png_ptr)))
---
>       if (setjmp (png_ptr->jmpbuf) != 0)
984,989c984,987
<   png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
<   png_info_ptr = png_create_info_struct (png_ptr);
<
<     png_set_IHDR(png_ptr, png_info_ptr, layer_cols, layer_rows, 8 ,
<                  PNG_COLOR_TYPE_RGB, (mng_data.interlaced == 0 ? 0 : 1),
<                  PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
---
>       png_info_ptr->width = layer_cols;
>       png_info_ptr->height = layer_rows;
>       png_info_ptr->interlace_type = (mng_data.interlaced == 0 ? 0 : 1);
>       png_info_ptr->bit_depth = 8;

With the few changes above, I've already cut the original 25 error lines
("error: dereferencing pointer to incomplete type") to 20!
It took me about one hour starting from zero (i.e. not knowing the libpng
API nor the "common" stuff from a hole in the ground).
If the man-in-the-street can do that, a dedicated, truly _professional_
programmer should need a few minutes to make all the changes necessary
in all the GIMP files to account for the now months-long transition to
libpng-1.5.

Thank you,
-- Alex
Comment 1 alupu 2011-05-14 16:46:36 UTC
Created attachment 187820 [details]
config.status
Comment 2 alupu 2011-05-14 16:47:43 UTC
Created attachment 187821 [details]
configuration screen display
Comment 3 Mikael Magnusson 2011-05-14 17:21:18 UTC
(In reply to comment #0)
> It's as if the libpng courier carrying the "1.5.x" message managed
> to reach the "file-ico" group but then suffered an untoward fate
> on his way to the "common" compound.
> Release dates:
> gimp-2.6.11 =  2010-10-03 (for reference)
> libpng-1.5.0 = 2011-01-09
> libpng-1.5.2 = 2011-03-31
> Relatively plenty of time for a courier to reach both gimp compounds
> (under normal circumstances) and for _all_ groups to get with the program.

how is negative 3 months relatively plenty of time? i am fairly sure the file-png plugin is updated in git master fwiw.
Comment 4 Michael Schumacher 2011-05-14 17:28:02 UTC
There are no plans to release any more 2.6.x versions. Please check if this problem happens in git master, too.
Comment 5 alupu 2011-05-14 20:18:47 UTC
Mikael (#3):
I assume (as you _assume_ something when you say, "i am fairly sure")
that libpng-1.5.0 = 2011-01-09 was the cut-off time when the libpng folks
said, "enough is enough" (i assume:).

(2011-01-09) - (2010-10-03) = 3 Months
(2011-05-14) - (2011-01-09) = 4 Months,

time in which GIMP should have issued either

- 2.6.12 [but see comment #4 :( ], and/or
- a big fat patch (_including_ file-mng - the _subject_ of this
bug report, BTW - and who knows what else) published officially
for all to know.

If we're at the "assuming" subject, I believe it should be fairly easy
for you to assume that

1.  I don't know where "git master" is and what to look for/download
from there so that I can certify that your assumption ("i am fairly sure")
is air-tight.

2.  I didn't know one has to go to a "master git" when their
 official, public release fails.

3.  Since, as I said, the "ico" files do abide by the libpng1.5 rules,
it is fair to assume that the libpng courier got to them in time
(within -3 Months :), or in plain english, GIMP has a problem with
project _management_, as reflected in 2.6.11 release.

4.  If you really want to help (and not just repeat the party line):
4.1 Simply give me the URL of the famous "master git".
4.2 If there's no full source package, like
  "gimp-2.6.11.source.latest_git.tar.bz2"
what exactly files I should replace in my directory of sources and
try again?
Or, should I do a whole "update" (clone/pull) like with other gits?

Michael (#4):
Please refer to my comments to Mikael above;  for me just to re-emphasize the
appalling conclusion that if an official release of a package fails
(despite user's meeting all prerequisites), the users are on their own.
I.e., it is NOT the "vendor"'s responsibility to fix the (obvious) problems.
Comment 6 Michael Natterer 2011-05-15 00:09:33 UTC
Time needed to read your comments = 1 Month
Comment 7 alupu 2011-05-15 01:47:30 UTC
Michael Natterer:
By that time we'll be at 2.8.11 and all will be forgotten.
BTW, wasn't my original submission clear and crisp?
It'd have been more interesting if you had commented on _that_
(especially in an intelligent manner).
-------------------------------------------------------------
To all:

I replaced the "old" (2.6.11 release), buggy file
'file-mng.c' (55692 bytes) with the latest "master git" file
(56014 bytes) file and did a configure/make from scratch
on the original (2010-10-03) _2.6.11_ gimp release.

Different failure now (not really a surprise):

gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -pthread -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng15 -I/usr/include/libdrm   -I/usr/include  -DGIMP_DISABLE_DEPRECATED -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE  -g -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -MT file-mng.o -MD -MP -MF .deps/file-mng.Tpo -c -o file-mng.o file-mng.c
file-mng.c: In function 'mng_save_image':
file-mng.c:686: warning: implicit declaration of function 'gimp_item_get_name'
file-mng.c:686: warning: passing argument 1 of 'parse_ms_tag_from_layer_name' makes pointer from integer without a cast
file-mng.c:699: warning: passing argument 1 of 'parse_ms_tag_from_layer_name' makes pointer from integer without a cast
file-mng.c:848: warning: assignment makes pointer from integer without a cast
file-mng.c: In function 'mng_save_dialog':
file-mng.c:1335: warning: implicit declaration of function 'gimp_export_dialog_new'
file-mng.c:1335: warning: assignment makes pointer from integer without a cast
file-mng.c:1339: warning: implicit declaration of function 'gimp_export_dialog_get_content_area'

mv -f .deps/file-mng.Tpo .deps/file-mng.Po

/bin/sh ../../libtool --tag=CC   --mode=link gcc  -g -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition   -o file-mng file-mng.o ../../libgimp/libgimpui-2.0.la ../../libgimpwidgets/libgimpwidgets-2.0.la ../../libgimpmodule/libgimpmodule-2.0.la ../../libgimp/libgimp-2.0.la ../../libgimpmath/libgimpmath-2.0.la ../../libgimpconfig/libgimpconfig-2.0.la ../../libgimpcolor/libgimpcolor-2.0.la ../../libgimpbase/libgimpbase-2.0.la -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lm -lcairo -lpng15 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0   -lmng -ljpeg -lpng15
     
libtool: link: gcc -g -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -o .libs/file-mng file-mng.o -pthread  ../../libgimp/.libs/libgimpui-2.0.so ../../libgimpwidgets/.libs/libgimpwidgets-2.0.so ../../libgimpmodule/.libs/libgimpmodule-2.0.so ../../libgimp/.libs/libgimp-2.0.so ../../libgimpmath/.libs/libgimpmath-2.0.so ../../libgimpconfig/.libs/libgimpconfig-2.0.so ../../libgimpcolor/.libs/libgimpcolor-2.0.so ../../libgimpbase/.libs/libgimpbase-2.0.so /usr/lib/libgtk-x11-2.0.so /usr/lib/libgdk-x11-2.0.so /usr/lib/libatk-1.0.so /usr/lib/libgio-2.0.so /usr/lib/libpangoft2-1.0.so /usr/lib/libpangocairo-1.0.so /usr/lib/libgdk_pixbuf-2.0.so -lm /usr/lib/libcairo.so /usr/lib/libpango-1.0.so /usr/lib/libfreetype.so /usr/lib/libfontconfig.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so -lmng /usr/lib/libjpeg.so /usr/lib/libpng15.so -pthread

/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/bin/ld: warning: libjpeg.so.7, needed by /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../libmng.so, may conflict with libjpeg.so.8

file-mng.o: In function `mng_save_image':
/usr/src/gimp-2.6.11/plug-ins/common/file-mng.c:699: undefined reference to `gimp_item_get_name'
/usr/src/gimp-2.6.11/plug-ins/common/file-mng.c:848: undefined reference to `gimp_item_get_name'
/usr/src/gimp-2.6.11/plug-ins/common/file-mng.c:686: undefined reference to `gimp_item_get_name'
file-mng.o: In function `mng_save_dialog':
/usr/src/gimp-2.6.11/plug-ins/common/file-mng.c:1335: undefined reference to `gimp_export_dialog_new'
/usr/src/gimp-2.6.11/plug-ins/common/file-mng.c:1339: undefined reference to `gimp_export_dialog_get_content_area'

collect2: ld returned 1 exit status
make[3]: *** [file-mng] Error 1
----------------------------------------------------------------
Mikael & Michael:

Please try to follow me here:

1.  The latest "master git" GIMP software most likely (we all assume)
compiles AOK+.

2.  Now comes the part that's going to be hard for you to understand.
Hope against hope, I continue.

2.1.  The "master git" GIMP _must_ work OK (libpng15-wise) because
it _is_ version 2.7.x.y.z, as of _2011-05-14_, maybe days before the
the Big, Red-Letter Announcement, gimp 2.8.0.
All trials and tribulations will be soon forgotten.

2.2.  What you're doing here is just stalling, playing for time and
participate in the usual cover-up:  2.6.11 stinks as of _2011-05-14_
(and probably as early as 2011-01-09).
It _was_ good on 2010-10-03 for various reasons, including, as I showed
in the time-line, libpng was at 1.4.x.

2.3. I'm saying the cover-up, because Linux in general has gotten
out of hand and largely irrelevant (think iPad2 and _all_ the rest).
The main reason is as you're witnessing it here.
The inherent lack of co-ordination:
one of the supporting software just changes on their own and
breaks the main software.

At the 2.8.0 release, all these ugly details reported by me
will have been long forgotten and for a fleeting moment all
will be again perfect (gimp-wise) in Linux land.

2.4. If you're interested in another cover-up case, take a look at
Bug 646150 (bugzilla.mozilla).
The Firefox-4.0 stank heavily.  Crashing continuously and reproducibly.
Then the "little" upgrade, Firefox-4.0.1 came along.  Perfect.
_Under EXACTLY the same conditions (software, hardware)_, all of a
sudden, the new package I built no longer crashed on accessing sites.
Ain't that magic?
All the "commentators" had to do was planting false leads, suspicions,
running me through hoops, etc. until the "developers" working behind
the scenes could fix the problem.
The Bug report has not been "officially" handled to this day, and one day,
who knows when, it will fade into the sunset (it's long been irrelevant now).
That was all despite clean crash dumps and backtraces proving without any
doubt the claim/situation.

You will see how this bug report will meet a similar fate:
UNCONFIRMED and dead on arrival.  Never "assigned" officially.
Just silly comments and sending the submitter on a wild goose chase.

There will never be a CONFIRMED bug in either case.
People will never know that at one time the package just didn't work.
Life goes on.

Thanks youse guys anyway for your effort,
-- Alex
Comment 8 Mukund Sivaraman 2011-05-15 04:08:43 UTC
(In reply to comment #7)
> To all:
> 
> I replaced the "old" (2.6.11 release), buggy file
> 'file-mng.c' (55692 bytes) with the latest "master git" file
> (56014 bytes) file and did a configure/make from scratch
> on the original (2010-10-03) _2.6.11_ gimp release.
> 
> Different failure now (not really a surprise):

Yes it's not a surprise, considering you are placing a file from the master tree into the 2.6 tree and expecting it to build.

> Please try to follow me here:
> 
> 1.  The latest "master git" GIMP software most likely (we all assume)
> compiles AOK+.

It's not an assumption. The PNG and MNG plug-ins in master compile and work properly.

> 2.  Now comes the part that's going to be hard for you to understand.
> Hope against hope, I continue.
> 
> 2.1.  The "master git" GIMP _must_ work OK (libpng15-wise) because
> it _is_ version 2.7.x.y.z, as of _2011-05-14_, maybe days before the
> the Big, Red-Letter Announcement, gimp 2.8.0.
> All trials and tribulations will be soon forgotten.

master "works OK."

> 2.2.  What you're doing here is just stalling, playing for time and
> participate in the usual cover-up:  2.6.11 stinks as of _2011-05-14_
> (and probably as early as 2011-01-09).
> It _was_ good on 2010-10-03 for various reasons, including, as I showed
> in the time-line, libpng was at 1.4.x.

Nobody is stalling or playing for time. You are talking nonsense. We are understaffed as a team and do as much as we can. Your accusations are not helpful.

[Snipped a whole section of unrelated gibberish. Please stick to the bug topic.]

This is not the first bug report about the libpng issues. They have been fixed in master. If we decide to do another 2.6.x release, we will ship a fixed plug-in, but there is no intention to do that currently.

Stick to your distro supplied GIMP if you want to use 2.6.x, as you don't seem to know what you're doing (compiling GIMP master code as-is in a 2.6 tree and expecting it to work).

*** This bug has been marked as a duplicate of bug 640409 ***