Bug 294105 - Please support lcms2
Summary: Please support lcms2
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: ColorManagement-Backend (show other bugs)
Version: 2.6.0
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-14 21:42 UTC by Philip Muškovac
Modified: 2022-02-01 11:27 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.6.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philip Muškovac 2012-02-14 21:42:12 UTC
Version:           unspecified (using KDE 4.8.0) 
OS:                Linux

Ubuntu wants to deprecate lcms1 in 12.04 and digikam currently has no lcms2 support.
https://bugs.launchpad.net/ubuntu/+source/digikam/+bug/885324

Reproducible: Always

Steps to Reproduce:
Try to build digikam with lcms2

Actual Results:  
Fails to configure

Expected Results:  
Builds fine
Comment 1 caulier.gilles 2012-02-14 21:54:52 UTC
Port to LCMS2 is under progress by Francesco into git/master (next 2.6.0)

Gilles Caulier
Comment 2 Francesco Riosa 2012-02-17 15:26:53 UTC
Git commit 2dd84b3847d48e16df7ec18b2191ab6727839bec by Francesco Riosa.
Committed on 17/02/2012 at 16:14.
Pushed by riosa into branch 'master'.

[lcms2] porting

here there is another step, some private functions have been imported
from lcms2, but some small changes to cietonguewidget.cpp were needed
too.

Interface is now complete (with the exception of two informational
functions), results however are still wrong and further testing is
needed (below an example).

  Digikam::CIETongueWidget::setProfile:
  lcms1: Profile white point : x= 0.312713  y= 0.32912  Y= 1
  lcms2: Profile white point : x= 0.307693  y= 0.43076  Y= 1.24611e-306

M  +63   -26   libs/dklcms/README
M  +292  -49   libs/dklcms/digikam-lcms.cpp
M  +13   -28   libs/dklcms/digikam-lcms.h
M  +25   -0    libs/widgets/iccprofiles/cietonguewidget.cpp

http://commits.kde.org/digikam/2dd84b3847d48e16df7ec18b2191ab6727839bec
Comment 3 Francesco Riosa 2012-02-17 22:21:46 UTC
fix to the white point problem
http://commits.kde.org/digikam/e5359af735fdee3a924a81f4e6fe0ae3514fc272
Comment 4 Francesco Riosa 2012-02-20 21:05:51 UTC
Git commit 6e81976afb1b26394650765ce8c8f77a4f929143 by Francesco Riosa.
Committed on 20/02/2012 at 21:38.
Pushed by riosa into branch 'master'.

[lcms2] working colorant triangle

but the mixmatch needed is not a good sign

M  +25   -1    libs/dklcms/digikam-lcms.cpp

http://commits.kde.org/digikam/6e81976afb1b26394650765ce8c8f77a4f929143
Comment 5 Francesco Riosa 2012-02-20 21:05:51 UTC
Git commit 42ff13cca64e536196fe963ca37db47a9e42ff54 by Francesco Riosa.
Committed on 20/02/2012 at 21:28.
Pushed by riosa into branch 'master'.

[lcms2] use c++ static_cast<> instead of plain cast

M  +1    -0    libs/dklcms/README
M  +59   -30   libs/dklcms/digikam-lcms.cpp
M  +0    -1    libs/dklcms/digikam-lcms.h
M  +17   -1    libs/widgets/iccprofiles/cietonguewidget.cpp

http://commits.kde.org/digikam/42ff13cca64e536196fe963ca37db47a9e42ff54
Comment 6 Francesco Riosa 2012-02-21 19:24:20 UTC
Git commit 1b7a1fc839c61e2e25b1edf73857339e584df7e5 by Francesco Riosa.
Committed on 21/02/2012 at 20:19.
Pushed by riosa into branch 'master'.

[lcms2] fix some informational functions

the following functions are an aggregate of other fx:
- dkCmsTakeProductName()
- dkCmsTakeProductDesc()
- dkCmsTakeProductInfo()

also, now all of them return QString.

M  +2    -3    libs/dimg/filters/icc/iccprofile.cpp
M  +202  -56   libs/dklcms/digikam-lcms.cpp
M  +1    -1    libs/dklcms/digikam-lcms.h
M  +0    -41   libs/widgets/iccprofiles/cietonguewidget.cpp
M  +0    -2    libs/widgets/iccprofiles/cietonguewidget.h

http://commits.kde.org/digikam/1b7a1fc839c61e2e25b1edf73857339e584df7e5
Comment 7 Francesco Riosa 2012-02-21 23:42:04 UTC
Digikam will stay with lcms1 for this release (will use lcms2 only in absence of the former).
From the next one lcms2 will be default and lcms1 deprecated to be removed after that.

Git commit 19d4c9201ccd175ed67cee0724413e087fb4b0e2 by Francesco Riosa.
Committed on 21/02/2012 at 21:40.
Pushed by riosa into branch 'master'.

[lcms2] tag buffer need initialization

M  +4    -1    libs/dklcms/digikam-lcms.cpp

http://commits.kde.org/digikam/19d4c9201ccd175ed67cee0724413e087fb4b0e2


Git commit 326c8803e3740dfbd421a537b6226c2a25bd4426 by Francesco Riosa.
Committed on 22/02/2012 at 00:22.
Pushed by riosa into branch 'master'.

[lcms2] fixed a cast bug in cmsFloat2XYZEncoded()

We are now at feature parity with lcms1.
There are differences between the two implementations, they are
quantifiable even in 8bit images (1/256).

lcms2 should be more precise (and faster) than lcms1

M  +1    -7    libs/dklcms/digikam-lcms.cpp
M  +0    -3    libs/dklcms/digikam-lcms.h
Comment 8 Francesco Riosa 2012-02-22 15:29:30 UTC
Git commit 43d9572dbb17efacf96fbd484edfa37365e93ddf by Francesco Riosa.
Committed on 22/02/2012 at 16:26.
Pushed by riosa into branch 'master'.

[lcms2] add ENABLE_LCMS2 option to force lcms2

adding -DENABLE_LCMS2=1 to cmake options will force digikam applications
to link against lcms2, see comment in the commitdiff for a roadmap

M  +36   -31   CMakeLists.txt

http://commits.kde.org/digikam/43d9572dbb17efacf96fbd484edfa37365e93ddf
Comment 9 Francesco Riosa 2012-02-26 21:03:30 UTC
could someone please check that the this commmit:
http://commits.kde.org/digikam/43d9572dbb17efacf96fbd484edfa37365e93ddf

works under windows os? It use `pkg-config` which allegedly doesn't work on all oses.
Comment 10 caulier.gilles 2012-02-26 21:13:29 UTC
Ananta, Can you take a look to comment #9 from Francesco ?

Thanks in advance

Gilles Caulier
Comment 11 Ananta Palani 2012-02-28 09:53:56 UTC
(In reply to comment #9)
> could someone please check that the this commmit:
> http://commits.kde.org/digikam/43d9572dbb17efacf96fbd484edfa37365e93ddf
> 
> works under windows os? It use `pkg-config` which allegedly doesn't work on all
> oses.

Looks like it works fine. I don't have lcms2 installed, but I can toggle -DENABLE_LCMS2 and have it build with lcms1 when off (0) and fail to build (due to no lcms2) when on (1). Do you need me to have lcms2 to fully test your commit?

Also, does anything need to be changed in relation to this bug 290157 or any other use of lcms2 that I don't know about?
Comment 12 caulier.gilles 2012-02-28 12:27:17 UTC
Ananta,

thanks for feedback. I think Francesco need to see if lcms2 support compile and work fine under windows.

For libkdcraw (bug 290157), i'm sure than libraw authors have already tested lcms2 support everywhere...

Gilles Caulier
Comment 13 Ananta Palani 2012-02-29 11:08:43 UTC
(In reply to comment #12)
> Ananta,
> 
> thanks for feedback. I think Francesco need to see if lcms2 support compile and
> work fine under windows.
> 
> For libkdcraw (bug 290157), i'm sure than libraw authors have already tested
> lcms2 support everywhere...
> 
> Gilles Caulier

When running cmake on digikam-sc with lcms2, I get 2 errors.

1. When cmake examines the requirements of libkdcraw:

CMake Warning at extra/libkdcraw/CMakeLists.txt:110 (FIND_PACKAGE):
  Could not find module FindLCMS2.cmake or a configuration file for package
  LCMS2.

  Adjust CMAKE_MODULE_PATH to find FindLCMS2.cmake or set LCMS2_DIR to the
  directory containing a CMake configuration file for LCMS2.  The file will
  have one of the following names:

    LCMS2Config.cmake
    lcms2-config.cmake

I do not get this problem when running cmake on libkdcraw. Also, if I copy FindLCMS2.cmake from digikam-sc/extra/libkdcraw/cmake/modules to digikam-sc/cmake/modules then it finds lcms2. How should CMakeLists.txt be adjusted to use the FindLCMS2.cmake from libkdcraw? Or, should it be permanently copied to digikam-sc/cmake/modules?


2. digikam cannot find lcms2 because there is no pkg-config, as Francesco expected:

CMake Error at r:/share/apps/cmake/modules/FindPkgConfig.cmake:323 (message):
  pkg-config tool not found
Call Stack (most recent call first):
  r:/share/apps/cmake/modules/FindPkgConfig.cmake:337 (_pkg_check_modules_internal)
  core/CMakeLists.txt:171 (pkg_check_modules)

Maybe use FindLCMS2.cmake from libkdcraw, or a similar technique as it uses for WIN32?
Comment 14 caulier.gilles 2012-02-29 13:38:34 UTC
Git commit 712e983ff995bbcc59cb3da1f067238d95fa862a by Gilles Caulier.
Committed on 29/02/2012 at 14:34.
Pushed by cgilles into branch 'master'.

Add missing LCMS version 2 cmake detection script. It's the same than libkdcraw.

Laurent, it must be fine to factorize this script in kdelibs. I know that krita use lcms2 too...
Note there is already a cmake script to detect LCMS version 1 which is very different. Of course,
if this script can be patch to support version 1 and version 2, it will be great.

CCMAIL: montel@kde.org

A  +72   -0    cmake/modules/FindLCMS2.cmake

http://commits.kde.org/digikam/712e983ff995bbcc59cb3da1f067238d95fa862a
Comment 15 caulier.gilles 2012-02-29 13:39:31 UTC
Ananta, 

I add LCMS2 detection script to digiKam (it's the same than Libkdcraw).

It work better now ?

Gilles Caulier
Comment 16 Ananta Palani 2012-02-29 15:31:12 UTC
(In reply to comment #15)
> I add LCMS2 detection script to digiKam (it's the same than Libkdcraw).
> 
> It work better now ?

It works for libkdcraw as expected when building digikam-sc, but digiKam still can't compile because the method of detection that Francesco used does not use FindLCMS2.cmake, so either digiKam's CMakeFile.txt needs to be modified to use FindLCMS2.cmake or relevent code from the .cmake needs to be ported.

Also, if both lcms1 and lcms2 are on a system, libkdcraw will automatically build using lcms2. However, digiKam will only build with lcms2 support if -DENABLE_LCMS2=1. Would having libkdcraw built agains lcms2 but digiKam built against lcms1 be a problem? If so, it would be useful if the -DENABLE_LCMS2 can be toggled for libkdcraw as well (such that configuring this option for digikam-sc would cause it to apply to libkdcraw as well). Of course, if everything works fine with them built against different version of lcms, then that isn't a problem I guess, but it is slightly unexpected from a build perspective.
Comment 17 caulier.gilles 2012-03-01 13:22:34 UTC
> It works for libkdcraw as expected when building digikam-sc...

Ah. For me it doesn't work :

-- Starting CMake configuration for: libkdcraw
CMake Warning at extra/libkdcraw/CMakeLists.txt:110 (FIND_PACKAGE):
  Could not find module FindLCMS2.cmake or a configuration file for package
  LCMS2.

  Adjust CMAKE_MODULE_PATH to find FindLCMS2.cmake or set LCMS2_DIR to the
  directory containing a CMake configuration file for LCMS2.  The file will
  have one of the following names:

    LCMS2Config.cmake
    lcms2-config.cmake

Of course i cleaned previous cmake cache before... Strange...

lcms2 is of course installed on my computer :


[gilles@localhost include]$ pwd
/usr/include
[gilles@localhost include]$ ls -al *lcms*
-rw-r--r-- 1 root root 93522 janv. 28 14:37 lcms2.h
-rw-r--r-- 1 root root 24728 janv. 28 14:37 lcms2_plugin.h
-rw-r--r-- 1 root root 78034 janv. 18  2011 lcms.h

[gilles@localhost lib64]$ pwd
/usr/lib64
[gilles@localhost lib64]$ ls -al *lcms*
lrwxrwxrwx 1 root root      17 janv. 28 14:55 liblcms2.so -> liblcms2.so.2.0.3*
lrwxrwxrwx 1 root root      17 janv. 28 14:55 liblcms2.so.2 -> liblcms2.so.2.0.3*
-rwxr-xr-x 1 root root  320296 janv. 28 14:37 liblcms2.so.2.0.3*

Gilles
Comment 18 caulier.gilles 2012-03-01 14:24:29 UTC
Git commit 1fc2bf3f97baa3a37a8b3ae0df987528efcff4d1 by Gilles Caulier.
Committed on 01/03/2012 at 15:23.
Pushed by cgilles into branch 'master'.

don't overwrite cmake variable to detect LCMS2 script. Just append path as well to existing one.

M  +1    -1    CMakeLists.txt

http://commits.kde.org/libkdcraw/1fc2bf3f97baa3a37a8b3ae0df987528efcff4d1
Comment 19 caulier.gilles 2012-03-01 22:12:37 UTC
Git commit 5c250eab9929c03896cb132cf845bc313ba15345 by Gilles Caulier.
Committed on 01/03/2012 at 23:10.
Pushed by cgilles into branch 'master'.

use same logic than digiKam to compile and link with lcms2 or lcms1 shared lib. Use ENABLE_LCMS2 bool option with cmake to turn on lcms2 support, else lcms1 is used.

M  +36   -16   CMakeLists.txt

http://commits.kde.org/libkdcraw/5c250eab9929c03896cb132cf845bc313ba15345
Comment 20 caulier.gilles 2012-03-01 22:14:58 UTC
Ananta,

libkdcraw and digiKam use the same logic to compile against lcms2. The same cmake option is used for digiKam core and libkdcraw : ENABLE_LCMS2.

Please, try under windows if all is fine, and report...

Gilles Caulier
Comment 21 Francesco Riosa 2012-03-01 23:05:29 UTC
(In reply to comment #20)
> Ananta,
> 
> libkdcraw and digiKam use the same logic to compile against lcms2. The same
> cmake option is used for digiKam core and libkdcraw : ENABLE_LCMS2.
> 
> Please, try under windows if all is fine, and report...
> 
> Gilles Caulier

For the record previously both lcms1 and lcms2 were linked, this worked under linux but could have not on other arches.
Gilles thanks for managing this, I'll kinda away from keybord 'till next week
Comment 22 caulier.gilles 2012-03-02 07:31:46 UTC
No problem Francesco.

I checked with LDD, and digiKam and libkdcraw are properly linked with lcms2, or lcms1, not with both at the same time.

I see a pending problem on my computer : The lcms2 includes path passed to cmake to compile digiKam/libkdcraw is empty. I don't know why. It must be filled by lcms2 detection script. Variable is LCMS2_INCLUDE_DIR.

I print it here in lead cmake script :

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/CMakeLists.txt#L173

Can you confirm this ?

Gilles Caulier
Comment 23 Francesco Riosa 2012-03-02 11:10:27 UTC
(In reply to comment #22)
> No problem Francesco.
> 
> I checked with LDD, and digiKam and libkdcraw are properly linked with lcms2,
> or lcms1, not with both at the same time.
> 
> I see a pending problem on my computer : The lcms2 includes path passed to
> cmake to compile digiKam/libkdcraw is empty. I don't know why. It must be
> filled by lcms2 detection script. Variable is LCMS2_INCLUDE_DIR.
> 
> I print it here in lead cmake script :
> 
> https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/CMakeLists.txt#L173
> 
> Can you confirm this ?

confirmed, but lcms2.h is into /usr/include/, which is the canonical path for includes, maybe the variable is empty if the header is in that default path.

from `cmake --help-command FIND_PATH`:
<<If nothing is found, the result will be <VAR>-NOTFOUND,>>
not empty

on the other hand 

`grep LCMS2_INCLUDE CMakeCache.txt`
LCMS2_INCLUDEDIR:INTERNAL=/usr/include
LCMS2_INCLUDE_DIRS:INTERNAL=

and show that LCMS2_INCLUDEDIR has indeed the correct path.
Comment 24 caulier.gilles 2012-03-02 11:57:49 UTC
Hum perhaps LCMS2 find script need to be updated from Krita. I copied it from KOffice.

I ask to Laurent Montel if we can factorize it to kdelibs in the future, to prevent duplicates.

Gilles Caulier
Comment 25 Ananta Palani 2012-03-02 13:55:06 UTC
(In reply to comment #20)
> libkdcraw and digiKam use the same logic to compile against lcms2. The same
> cmake option is used for digiKam core and libkdcraw : ENABLE_LCMS2.
> 
> Please, try under windows if all is fine, and report...

Gilles,

PKG_CHECK_MODULES was still being used, so I switched to FindLCMS2.cmake instead and committed the change (forgot to CC this bug, sorry). Works fine on Windows now. I think this may also fix the problem you mention in comment #22?

-Ananta
Comment 26 caulier.gilles 2012-03-02 17:33:01 UTC
Git commit 2d36b980995d744f9cbe9c36125386d700ba6136 by Ananta Palani.
Committed on 02/03/2012 at 14:50.
Pushed by palani into branch 'master'.

Use FindLCMS2.cmake instead of PKG_CHECK_MODULES which doesn't work on Windows

M  +6    -6    CMakeLists.txt

http://commits.kde.org/digikam/2d36b980995d744f9cbe9c36125386d700ba6136
Comment 27 caulier.gilles 2012-03-02 17:33:31 UTC
Git commit 13308aec86a8e02322e063c2190aed2f9e0b21c8 by Ananta Palani.
Committed on 02/03/2012 at 14:51.
Pushed by palani into branch 'master'.

Use FindLCMS2.cmake instead of PKG_CHECK_MODULES which doesn't work on Windows

M  +5    -5    CMakeLists.txt

http://commits.kde.org/libkdcraw/13308aec86a8e02322e063c2190aed2f9e0b21c8
Comment 28 caulier.gilles 2012-03-02 17:40:20 UTC
Cmake configuration trace is different between libkdcraw and digiKam :


-- -------------------------------------------------------------------------
-- Starting CMake configuration for: libkdcraw
-- Check for LCMS2 availability...
-- Found JPEG: /usr/lib64/libjpeg.so 
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp 

...


---------------------------------------------------------------------------
-- Starting CMake configuration for: digikam
-- Found Jasper: /usr/lib64/libjasper.so 
-- Check for Kdcraw library in local sub-folder...
...
-- Check for LCMS2 availability...
-- checking for module 'lcms2'
--   found lcms2, version 2.3
-- Found LCMS2: lcms2 
-- Identified libjpeg version: 80+
-- Found MySQL server executable at: /usr/sbin/mysqld
-- Found MySQL install_db executable at: /usr/bin/mysql_install_db
...

Why ?

Gilles Caulier
Comment 29 caulier.gilles 2012-03-02 17:43:17 UTC
Note : I started cmake configuration script with "-DENABLE_LCMS2=on"

Gilles
Comment 30 Ananta Palani 2012-03-03 08:04:21 UTC
(In reply to comment #29)
> Note : I started cmake configuration script with "-DENABLE_LCMS2=on"
> 
> Gilles

Strange, works fine for me, either together (digikam-sc) or separately (libkdcraw, digikam). Here is separately:

-- Starting CMake configuration for: libkdcraw
...
-- Check for LCMS2 availability...
-- Found lcms version 2.03, c:/kderoot/lib/lcms-2.lib
-- Found LCMS2: c:/kderoot/lib/lcms-2.lib c:/kderoot/include

-- Found JPEG: c:/kderoot/lib/jpeg.lib
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [/openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [/openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: /openmp

----------------------------------------

-- Starting CMake configuration for: digikam
...
-- Check for LCMS2 availability...
-- Found lcms version 2.03, c:/kderoot/lib/lcms-2.lib
-- Found LCMS2: c:/kderoot/lib/lcms-2.lib c:/kderoot/include

-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP C flag = [/openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Failed
-- Try OpenMP CXX flag = [/openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: /openmp
Comment 31 Ananta Palani 2012-03-03 08:25:36 UTC
Git commit b0cfc14a4dad0bd137fdf8d9493c378dbecca652 by Ananta Palani.
Committed on 03/03/2012 at 08:11.
Pushed by palani into branch 'master'.

Give libkdcraw cmake modules preference over pre-existing ones.

M  +1    -1    CMakeLists.txt

http://commits.kde.org/libkdcraw/b0cfc14a4dad0bd137fdf8d9493c378dbecca652
Comment 32 Ananta Palani 2012-03-03 08:26:15 UTC
Gilles,

Could you have another version of FindLCMS2.cmake on your system somewhere? Your 'found' message does not look consistent with the file included in libkdcraw/digikam:

Found lcms version ${LCMS2_MAJOR_VERSION}.${LCMS2_MINOR_VERSION}, ${LCMS2_LIBRARIES}

so maybe cmake is using the wrong one? The commit I just made may fix your problem regardless.

-Ananta
Comment 33 caulier.gilles 2012-03-03 08:57:31 UTC
No other lcms2 cmake find script is on my computer.

I updated my local git and cleaned cmake cache. trace is better :


-- Starting CMake configuration for: libkdcraw
-- Check for LCMS2 availability...
-- checking for module 'lcms2'
--   found lcms2, version 2.3
-- Found lcms version 2.03, /usr/lib64/liblcms2.so
-- Found LCMS2: /usr/lib64/liblcms2.so /usr/include
-- Found JPEG: /usr/lib64/libjpeg.so 
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp 

-----------------------------------------------------------------------------
-- The following external packages were located on your system.
-- This installation will have the extra features provided by these packages.
-----------------------------------------------------------------------------
   * LCMS2 - A small-footprint color management engine
   * libjpeg - JPEG image format support

...


-- Starting CMake configuration for: digikam
-- Found Jasper: /usr/lib64/libjasper.so 
-- Check for Kdcraw library in local sub-folder...
-- Found Kdcraw library in local sub-folder: /mnt/data/Devel/GIT/2.x/extra/libkdcraw
-- Check Kexiv2 library in local sub-folder...
-- Found Kexiv2 library in local sub-folder: /mnt/data/Devel/GIT/2.x/extra/libkexiv2
-- Check Kipi library in local sub-folder...
-- Found Kipi library in local sub-folder: /mnt/data/Devel/GIT/2.x/extra/libkipi
-- Check Kface library in local sub-folder...
-- Found Kface library in local sub-folder: /mnt/data/Devel/GIT/2.x/extra/libkface
-- Check for KGeoMap library in local sub-folder...
-- Found KGeoMap library in local sub-folder: /mnt/data/Devel/GIT/2.x/extra/libkgeomap
-- checking for module 'libpgf'
--   package 'libpgf' not found
-- Could NOT find any working clapack installation
-- Check for LCMS2 availability...
-- Found lcms version 2.03, /usr/lib64/liblcms2.so
-- Found LCMS2: /usr/lib64/liblcms2.so /usr/include
-- Identified libjpeg version: 80+
-- Found MySQL server executable at: /usr/sbin/mysqld
...

i need to check OSX now...

Gilles Caulier
Comment 34 caulier.gilles 2012-03-03 10:08:50 UTC
Work fine under MACOSX :


-- ----------------------------------------------------------------------------------
-- Starting CMake configuration for: libkdcraw
-- Check for LCMS2 availability...
-- checking for module 'lcms2'
--   found lcms2, version 2.2
-- Found lcms version 2.02, /opt/local/lib/liblcms2.dylib
-- Found LCMS2: /opt/local/lib/liblcms2.dylib /opt/local/include
-- Found JPEG: /opt/local/lib/libjpeg.dylib 

-----------------------------------------------------------------------------
-- The following external packages were located on your system.
-- This installation will have the extra features provided by these packages.
-----------------------------------------------------------------------------
   * LCMS2 - A small-footprint color management engine
   * libjpeg - JPEG image format support

...


-- ----------------------------------------------------------------------------------
-- Starting CMake configuration for: digikam
-- Found Jasper: /opt/local/lib/libjasper.dylib 
-- Check for Kdcraw library in local sub-folder...
-- Found Kdcraw library in local sub-folder: /Users/gilles/Devel/2.x/extra/libkdcraw
-- Check Kexiv2 library in local sub-folder...
-- Found Kexiv2 library in local sub-folder: /Users/gilles/Devel/2.x/extra/libkexiv2
-- Check Kipi library in local sub-folder...
-- Found Kipi library in local sub-folder: /Users/gilles/Devel/2.x/extra/libkipi
-- Check Kface library in local sub-folder...
-- Found Kface library in local sub-folder: /Users/gilles/Devel/2.x/extra/libkface
-- Check for KGeoMap library in local sub-folder...
-- Found KGeoMap library in local sub-folder: /Users/gilles/Devel/2.x/extra/libkgeomap
-- checking for module 'libpgf'
--   package 'libpgf' not found
-- Found clapack includes: /System/Library/Frameworks/vecLib.framework/Headers
-- Found clapack library: /usr/lib/libclapack.dylib
-- Check for LCMS2 availability...
-- Found lcms version 2.02, /opt/local/lib/liblcms2.dylib
-- Found LCMS2: /opt/local/lib/liblcms2.dylib /opt/local/include
-- Identified libjpeg version: 80+
...

Gilles Caulier
Comment 35 caulier.gilles 2012-03-03 17:10:02 UTC
All compile fine under MACOSX through macport :


[ 56%] Building C object core/digikam/CMakeFiles/digikamcore.dir/__/libs/3rdparty/clapack/lsame.c.o
[ 57%] Building C object core/digikam/CMakeFiles/digikamcore.dir/__/libs/3rdparty/clapack/sfe.c.o
[ 57%] Building C object core/digikam/CMakeFiles/digikamcore.dir/__/libs/3rdparty/clapack/util.c.o
[ 57%] Building C object core/digikam/CMakeFiles/digikamcore.dir/__/libs/3rdparty/clapack/xerbla.c.o
[ 57%] Building CXX object core/digikam/CMakeFiles/digikamcore.dir/__/libs/dklcms/digikam-lcms.cpp.o
[ 57%] Building CXX object core/digikam/CMakeFiles/digikamcore.dir/__/libs/dimg/filters/dimgbuiltinfilter.cpp.o
[ 57%] Building CXX object core/digikam/CMakeFiles/digikamcore.dir/__/libs/dimg/filters/dimgthreadedfilter.cpp.o
[ 57%] Building CXX object core/digikam/CMakeFiles/digikamcore.dir/__/libs/dimg/filters/dimgfiltermanager.cpp.o

I close this file now...

Gilles Caulier
Comment 36 Christoph Feck 2013-08-15 15:43:04 UTC
Roadmap says:

# future plans:
#   2.7 will compile against lcms2 by default but lcms1 will stay as a fallback
#   2.8 will support lcms2 only, probably ENABLE_LCMS2 will be removed too
#       unless we decide to support another color managment library

Any plan to make lcms2 the default now, if both are found?