LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   compiling darktable 2.2.1 for CentOS 7 (https://www.linuxquestions.org/questions/linux-software-2/compiling-darktable-2-2-1-for-centos-7-a-4175598305/)

borisb2 01-26-2017 11:31 AM

compiling darktable 2.2.1 for CentOS 7
 
trying to complile darktable from source (there is no rpm for 2.2.1)

build.sh is erroring because it requires exiv2-0.25 library. For Centos there is only 0.23 rpm available. So I tried to compile that as well from source. make and make install went through ..but it seems that 0.23 is still installed (building makefiles for darktable still complains about wrong exiv2 version 0.23 (which was installed )

"yum list installed" also shows 0.23 :/

Did I miss anything after runnning make install? Shouldnt it be now 0.25?

Keruskerfuerst 01-26-2017 12:48 PM

You can download exiv-0.25 here: http://www.exiv2.org/download.html
and compile it afterwards.

Then the install process should complete.

borisb2 01-26-2017 01:33 PM

well .. thats exactly where I downloaded the source and compiled it.

executing "./configure" gives me this:

...
checking whether to compile with video support... no
checking whether to compile with webready support... no
checking expat.h usability... yes
checking expat.h presence... yes
checking for expat.h... yes
checking for XML_ParserCreate in -lexpat... yes
configure: creating ./config.status
config.status: creating ./Makefile
config.status: creating ./config/config.mk
config.status: creating ./config/exiv2.pc
config.status: creating ./po/Makefile.in
config.status: creating ./src/doxygen.hpp
config.status: creating ./config/config.h
config.status: executing default-1 commands
config.status: creating ./po/POTFILES
config.status: creating ./po/Makefile
config.status: executing libtool commands
------------------------------------------------------------------
-- Exiv2 0.25 feature configuration summary
--
-- Build a shared library......... YES
-- Use symbol visibility support.. YES
-- PNG image support.............. YES
-- Native language support........ YES
-- Nikon lens database............ YES
-- XMP metadata support........... YES
-- Video support.................. NO
-- Webready support............... NO
------------------------------------------------------------------


no errors shown. Running "make" next takes a while, again no errors shown.

Now running "sudo make install" gives me this:
...
libtool: install: chmod 644 /usr/local/lib/libexiv2.a
libtool: install: ranlib /usr/local/lib/libexiv2.a
libtool: finish: PATH="/sbin:/bin:/usr/sbin:/usr/bin:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib

and again, no errors.

Now the big surprise, "yum list installed" still shows 0.23

exiv2.x86_64 0.23-6.el7 @base
exiv2-devel.x86_64 0.23-6.el7 @base
exiv2-libs.x86_64 0.23-6.el7 @anaconda

and darktable wont build of course. What did I do wrong??

borisb2 01-27-2017 11:11 AM

Am I missing something?

Thanks for pointing me in the right direction

ondoho 01-27-2017 01:28 PM

you have to tell the darktable installer script or whatever that exiv2 0.25 is in /usr/local/lib, not /usr/lib.

borisb2 01-27-2017 02:59 PM

I had a look in the configure files for darktable (grep -r -e "Exiv2...") - there are quite a few place where I have to look in order to find the right variable.. What I tried instead is to compile exiv2-0.25 again, but this time in usr/lib .. make install installed it correctly

----------------------------------------------------------------------
Libraries have been installed in:
/usr/lib

.. and once more, "yum list installed" still shows 0.23

exiv2.x86_64 0.23-6.el7 @base
exiv2-devel.x86_64 0.23-6.el7 @base
exiv2-libs.x86_64 0.23-6.el7 @anaconda

This is frustrating.. shouldn't 0.25 be there instead?

John VV 01-27-2017 07:12 PM

normally if i am building something that requires NEWER versiond of software than are in the OS's repos

i build it and ALL of it's dependencies out of the system $PATH
darktable should build just like i do for gimp 2.9 development
i build it in my
/home/userName/bin/SourceFolder
and install it to
/home/userName/bin/ProgramNameFolder

and use a "config.site" file in
/home/userName/bin/ProgramNameFolder/share
the text file that is
/home/userName/bin/ProgramNameFolder/share/config.site
has the build variables to be exported to autotools
-- an example for my gimp2.9.4 build
Code:

export PATH="/home/johnvv/bin/Gimp/bin:$PATH"
export PKG_CONFIG_PATH="/home/johnvv/bin/Gimp/lib64/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="/home/johnvv/bin/Gimp/lib64:$LD_LIBRARY_PATH"
export ACLOCAL_FLAGS="-I /home/johnvv/bin/Gimp/share/aclocal $ACLOCAL_FLAGS"
export XDG_DATA_DIRS="/home/johnvv/bin/Gimp/share:$XDG_DATA_DIRS"

i build that and a newer libpng in the gimp install location

you can do the same thing for darktable on Cent7


have a read through the gimp dev build wiki
( gimp is a GREAT TOOL to use for examples do to the MASSIVE DOCUMENTATION )
http://wiki.gimp.org/wiki/Hacking:Building/Linux

just port the instructions for use with darktable

for the config.site use google and gnu
-- old but usable
https://www.gnu.org/software/automak..._002esite.html

ondoho 01-28-2017 03:50 AM

Quote:

Originally Posted by borisb2 (Post 5661140)
.. and once more, "yum list installed" still shows 0.23

yum is a packet manager; it knows only of software installed via packet management.

re my previous post:
i was rather thinking of some command line option or environment variable.
if you have a ./configure script in there, try
Code:

./configure --help
and if not, still:
documentation is probably right under your nose.

DavidMcCann 01-28-2017 10:49 AM

I've successfully installed Fedora RPMs on CentOS. Red Hat 7 was based on Ferdora 19, so try this
http://rpm.pbone.net/index.php3/stat...86_64.rpm.html

borisb2 01-28-2017 03:01 PM

thanks all . I will continue investigating.

I have darktable 2.0.7 running (installed through el7 a while ago) but that doesnt support Canon 5D IV.

haven't found a rpm for fedora 19 for darktable 2.2.1 yet - and the one existing for fedora 23/24/25 doesnt run on centos7

John VV 01-28-2017 03:47 PM

if you need a really NEW version of a program on the very very conservative ( older but bug fixed and STABLE!!! code) operating system
rhel is very conservative in use of code !!!

then build it out of the system path

it is rather easy to do

cent like it's redhat parent considers STABILITY FIRST
so the software is a bit older but DOSE NOT crash

borisb2 01-28-2017 04:05 PM

yeah I know .. I chose CentOS because its rock stable when working with graphics and 3D (what I mainly do for work)

for personal poto-editing I do miss lightroom - and still haven't found the best equivalent in linux. so far I was testing darktable and AfterShot

borisb2 01-31-2017 03:26 PM

so, in FindExiv2.cmake I found:


--------
set(EXIV2_NAMES ${EXIV2_NAMES} exiv2 libexiv2)
find_library(EXIV2_LIBRARY NAMES ${EXIV2_NAMES} )
mark_as_advanced(EXIV2_LIBRARY)

libfind_pkg_check_modules(Exiv2 exiv2)
--------

which is included by LibFindMacros.cmake here:

--------
libfind_pkg_check_modules(${PREFIX}_PKGCONF ${pkgargs})
if (pathargs)
find_path(${PREFIX}_INCLUDE_DIR NAMES ${pathargs} HINTS ${${PREFIX}_PKGCONF_INCLUDE_DIRS})
endif()
if (libraryargs)
find_library(${PREFIX}_LIBRARY NAMES ${libraryargs} HINTS ${${PREFIX}_PKGCONF_LIBRARY_DIRS})
endif()
--------

And how exactly would I define there to search in /usr/local/lib instead of /usr/lib?

borisb2 02-03-2017 02:36 AM

anyone who compiled darktable on centos?

any pointing in the right direction would be great

I love and need the stability of CentOS, but sometimes fighting for software is a bit annoying
(having similar issues at the moment for HDR-software: 10+ packages for Win/mac/ubuntu .. 0 for CentOS :( )

John VV 02-03-2017 12:24 PM

i did, build it out of the system path .

and install the dependencies you build in that folder also

see my above posts

i use gimp as a guide do to the TON!!! of documentation


All times are GMT -5. The time now is 03:14 PM.