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