On 12/13/13 14:08, Michael Schwendt wrote:
> On Fri, 13 Dec 2013 06:43:25 +0200, Niko Sauer wrote:
>
>>> Let me try to explain. In the code snippet above, the two conditionals
>>> build a logical AND, so that in order to build with LCMS2, both
>>> HAVE_LCMS and HAVE_LCMS2 must be defined. If HAVE_LCMS were undefined,
>>> the HAVE_LCMS2 condition would not be reached. Then lcms2.h could
>>> not be included, and the source code would not compile.
>>>
>>> exif-common.c: In function ‘exif_build_formatted_ColorProfile’:
>>> exif-common.c:417:2: error: unknown type name ‘cmsUInt8Number’
>>>     cmsUInt8Number profileID[17];
>>>     ^
>>> exif-common.c:417:17: warning: unused variable ‘profileID’ 
>>> [-Wunused-variable]
>>>     cmsUInt8Number profileID[17];
>>>                    ^
>>> make[1]: *** [exif-common.o] Error 1
>>>
>> This is quite strange.
>
> Why is it strange? ;) Can we agree that it's a logical AND? Can we also
> agree that HAVE_LCMS must be defined or else the HAVE_LCMS2 conditional
> block won't ever be reached? There are also code sections that are
> conditional on just HAVE_LCMS, so they would never be built if only
> HAVE_LCMS2 is defined.
>
> If you build Geeqie with that patch, after you run "configure", what
> values do you get for HAVE_LCMS and HAVE_LCMS2?
>
> Here, HAVE_LCMS is undefined, because "configure" finds LCMS2 and takes
> that one. The adjusted patch is this:
> http://pkgs.fedoraproject.org/cgit/geeqie.git/plain/geeqie-1.1-lcms2.patch
>
>> Are we talking about the same patch?
>
> Of course.
>
>> The one I refer to is
>>
>> https://gitorious.org/geeqie/emikulic-geeqie/commit/1548a68d26046b6aa467e56ca2c8f5444b95a23b.patch
>>
>> If I don't erase that (infernal) line, the compiler looks at lcms.h
>> instead of lcms2.h.
>
> Why would it do that?
>
>> If you erase that line, precisely the opposite
>> happens. The type  cmsUInt8 is defined in lcms2.h.
>
> lcms2.h won't even be included in exif-common.c, if HAVE_LCMS is undefined.
>
Yes, the fedora patch is just the same as the other one and it does not 
work for me either.

I checked through the logic of the patched file and came to the 
conclusion that both the lines

   AC_DEFINE(HAVE_LCMS, 1, [define to enable ... lcms]

are dedundant. Much more, after doing autoconf, there is a spurious 
definition of HAVE_LCMS to be found in the new Makefile. In both cases 
the lines

   HAVE_LCMS=yes

are sufficient to allow the detection of the correct header files.

I went much further by unistalling lcms2 to see if geeqie would compile 
with lcms1 (both lines deleted). It did!

Another note: if I do autoreconf instead of autoconf, the whole thing 
gets messed up. The gamut of autoconf scripts changes too many things 
such as config.h.in and some makefiles in the source code.

It is possible that there is a version problem with autoconf --- it does 
happen. Geeqie was initially configured with autoconf-2.68. On my system 
the version is 2.69.


> ------------------------------------------------------------------------------
> Rapidly troubleshoot problems before they affect your business. Most IT
> organizations don't have a clear picture of how application performance
> affects their revenue. With AppDynamics, you get 100% visibility into your
> Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
> http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
> _______________________________________________
> Geeqie-devel mailing list
> Geeqie-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geeqie-devel
>

------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Geeqie-devel mailing list
Geeqie-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geeqie-devel

Reply via email to