Opened 11 years ago

Last modified 11 years ago

#50270 new defect

digikam @4.9.0 fails to build: lensfun.h:2506:5: error: templates must have C++ linkage

Reported by: till.paala@… Owned by: jgosmann (Jan Gosmann)
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: Cc: cgilles (HumanDynamo)
Port: digikam

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Tried to install digikam on a OS X 10.11 installation. I seem to have opencv 2 installed port outdated gives among others: opencv 2.4.11_0 < 3.1.0_1 so it seems #48081 doesn't apply to me. In the beginning I got a message about ecmconfig.cmake missing, but I could come around this by installing kde-extra-cmake-modules. Still have a failure in the compilation with following errors:

:info:build /opt/local/include/lensfun/lensfun.h:2506:5: error: templates must have C++ linkage
:info:build     template<typename T> static void ModifyColor_Vignetting_PA (
:info:build     ^~~~~~~~~~~~~~~~~~~~
:info:build /opt/local/include/lensfun/lensfun.h:2508:5: error: templates must have C++ linkage
:info:build     template<typename T> static void ModifyColor_DeVignetting_PA (
:info:build     ^~~~~~~~~~~~~~~~~~~~
:info:build 2 errors generated.

See log file attached.

Attachments (2)

digikam-main.log (16.0 MB) - added by till.paala@… 11 years ago.
complete-digikam-main.log (22.7 MB) - added by till.paala@… 11 years ago.

Change History (9)

Changed 11 years ago by till.paala@…

Attachment: digikam-main.log added

comment:1 Changed 11 years ago by till.paala@…

Sorry, the text from the log should look like this:

:info:build /opt/local/include/lensfun/lensfun.h:2506:5: error: templates must have C++ linkage
:info:build     template<typename T> static void ModifyColor_Vignetting_PA (
:info:build     ^~~~~~~~~~~~~~~~~~~~
:info:build /opt/local/include/lensfun/lensfun.h:2508:5: error: templates must have C++ linkage
:info:build     template<typename T> static void ModifyColor_DeVignetting_PA (
:info:build     ^~~~~~~~~~~~~~~~~~~~
:info:build 2 errors generated.

comment:2 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Port: digikam added
Summary: digikam 4.9.0 fails to builddigikam @4.9.0 fails to build: lensfun.h:2506:5: error: templates must have C++ linkage

digikam depends on opencv. If opencv is outdated, MacPorts should upgrade it before attempting to build digikam. The log you attached is incomplete (missing lots of the beginning, up to somewhere in the build phase).

comment:3 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: caulier.gilles@… added
Owner: changed from macports-tickets@… to jan@…

comment:4 Changed 11 years ago by cgilles (HumanDynamo)

patch applied on git/master 5.0.0 (not 4.14.0) but can be backported easily :

https://quickgit.kde.org/?p=digikam.git&a=commit&h=0f159981176faa6da701f112bfe557b79804d468

Gilles Caulier

Changed 11 years ago by till.paala@…

Attachment: complete-digikam-main.log added

comment:5 in reply to:  2 Changed 11 years ago by till.paala@…

Replying to ryandesign@…:

digikam depends on opencv. If opencv is outdated, MacPorts should upgrade it before attempting to build digikam. The log you attached is incomplete (missing lots of the beginning, up to somewhere in the build phase).

Sorry, complete log attached, I didn't understand that Konsole on OS X shows only about 15 Mb of the file.

comment:6 in reply to:  4 Changed 11 years ago by till.paala@…

Replying to caulier.gilles@…:

patch applied on git/master 5.0.0 (not 4.14.0) but can be backported easily :

https://quickgit.kde.org/?p=digikam.git&a=commit&h=0f159981176faa6da701f112bfe557b79804d468

Gilles Caulier

Ok, so could I just remove the three lines manually on my computer and rebuild?

comment:7 Changed 11 years ago by till.paala@…

After changing the file according to the patch above digikam compiles fine. But I can't start the program. drkonqi crashes and produces a bug report.

This is probably already a different ticket (?) or am I ommissing something?

Note: See TracTickets for help on using tickets.