pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/43577: graphics/ov519view graphics/cpia2view graphics/cnxtview all fail to compile with jpeg-8b (NetBSD 4.0/i386)
>Number: 43577
>Category: pkg
>Synopsis: graphics/ov519view graphics/cpia2view graphics/cnxtview all
>fail to compile with jpeg-8b (NetBSD 4.0/i386)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Jul 07 11:05:00 +0000 2010
>Originator: Robert Elz
>Release: NetBSD 4.0 / i386 (pkgsrc current 2010-07-07)
>Organization:
Prince of Songkla University
>Environment:
System: NetBSD jade.coe.psu.ac.th 4.0_STABLE NetBSD 4.0_STABLE
(JADE-1.696-20080517) #9: Fri May 23 18:55:13 ICT 2008
kre%jade.coe.psu.ac.th@localhost:/usr/obj/4/kernels/JADE i386
Architecture: i386
Machine: i386
>Description:
It appears that jpeg-8b changed the prototype of the new
function declaration added in jpeg8 (jpeg_mem_src) by altering
the type of the 3rd arg from size_t (in jpeg-8) to unsigned long (8b).
To me, that kind of API change looks like it should deserve a
major version bump in the library, as those types are not necessarily
even slightly compatible, but ...
Because of that, the three packages (that I know of) that
declare their own jpeg_mem_src() functions (which all broke
when jpeg-8 appeared (see PRs 42698 42699 42700), have all
broken again...
This time just one PR (this) for all three of them, they are
graphics/ov519view
graphics/cpia2view
graphics/cnxtview
They're all ery similar source, and look to have a common origin,
so I am assuming they will all be fixed together.
>How-To-Repeat:
Pick any of the three, attempt to build it with jpeg-8b,
and expect to see (something like) ...
# compile ov51x-1.65-1.11-mark/jpeg_decode.o
cc -O2 -I/usr/pkg/include -I/usr/include -Wall -I/usr/pkg/include/gtk-1.2
-I/usr/pkg/include/glib/glib-1.2 -I/usr/pkg/lib/glib/include
-I/usr/pkg/include/gtk-1.2 -I/usr/pkg/include/glib/glib-1.2
-I/usr/pkg/lib/glib/include -I/usr/pkg/include -I/usr/pkg/include
-I/usr/pkg/include -I/usr/pkg/include -I/usr/include -c jpeg_decode.c
jpeg_decode.c:86: error: conflicting types for 'jpeg_mem_src'
/pkg_comp/obj/pkgsrc/graphics/ov519view/4x/.buildlink/include/jpeglib.h:959:
error: previous declaration of 'jpeg_mem_src' was here
*** Error code 1
Stop.
make: stopped in /pkg_comp/obj/pkgsrc/graphics/ov519view/4x/ov51x-1.65-1.11-mark
*** Error code 1
Stop.
The conflicting types, as far as I could see, amounted entirely
to the different 3rd arg in the prototype of the function (of course,
I might also have just not spotted some other change...)
>Fix:
Change these 3 to all use "unsigned long" as the 3rd arg type,
instead of size_t (it's unlikely that will have any fallout, just
changing the declaration - in each - should be sufficient).
Then hope that the upstream idiots looking after graphics/jpeg
don't do anything like this again... (it is actually surprising,
after so many years of jpeg6 being so good, that they'd mess up
this badly).
Home |
Main Index |
Thread Index |
Old Index