ART compilation failure under Archlinux

Issue #314 open
leclerc created an issue
 build-art

Program name: art
Build type: release
Build without updating: false
Checkout: 
Install primary: 

Depuis https://bitbucket.org/agriggio/art
! [rejeté] 1.21 -> 1.21 (écraserait l'étiquette existante)
CMake Deprecation Warning at CMakeLists.txt:6 (cmake_minimum_required):
Compatibility with CMake CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.


-- WARNING: gcc 13.2.1 is known to miscompile ART when using --ffp-contract=fast, forcing the option to be off
-- CMAKE_BUILD_TYPE: release
-- searching for library exiv2 in /usr/lib
-- result: /usr/lib/libexiv2.so
-- searching for library lensfun in /usr/lib
-- result: /usr/lib/liblensfun.so
-- using mimalloc library 2.1
-- using libraw library 0.21.1
-- using OpenColorIO library 2.2.0
-- CTL lib found with headers at /usr/include/CTL
-- Found CTL interpreter, version 1
-- Configuring done (0.2s)
-- Generating done (0.0s)
-- Build files have been written to: /home/jllailes/programs/code-art/build
[ 0%] Creating AboutThisBuild.txt and other version-dependent files
-- git command found: /usr/bin/git
fatal : aucune étiquette ne correspond parfaitement à 'aae729682db4e90524c74375d35b2a911be88b96'
-- Git checkout information:
-- Commit description: aae729682
-- Branch: master
-- Commit: aae729682
-- Commit date: 2024-02-22
-- Build information:
-- Build OS: Linux
-- Build date: 2024-02-25T19:11:33Z
-- CACHE_NAME_SUFFIX is ""
[ 0%] Built target UpdateInfo
[ 44%] Built target rtengine
[ 44%] Linking CXX executable ART-cli
/usr/bin/ld: ../rtengine/librtengine.a(clutstore.cc.o): attention: réadressage sur « _ZTIN3Ctl8DataTypeE » dans la section en lecture seule « .text »
/usr/bin/ld : CMakeFiles/art-cli.dir/main-cli.cc.o : dans la fonction « check_lut(int, char**) » :
main-cli.cc:(.text+0x13a9) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : CMakeFiles/art-cli.dir/main-cli.cc.o : dans la fonction « rtengine::CLUTApplication::~CLUTApplication() » :
main-cli.cc:(.text._ZN8rtengine15CLUTApplicationD2Ev[_ZN8rtengine15CLUTApplicationD5Ev]+0xd9) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : ../rtengine/librtengine.a(clutstore.cc.o) : dans la fonction « rtengine::CLUTStore::getCTLLut(Glib::ustring const&, int, int&, std::vector >&, Glib::ustring&, int&) const::{lambda(char const*)#1}::operator()(char const*) const » :
clutstore.cc:(.text+0x2dad) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : ../rtengine/librtengine.a(clutstore.cc.o) : dans la fonction « rtengine::CLUTApplication::CTL_set_params(std::map, std::allocator >, double, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > > const&, rtengine::CLUTApplication::Quality) » :
clutstore.cc:(.text+0x5902) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : clutstore.cc:(.text+0x5bd1) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : ../rtengine/librtengine.a(clutstore.cc.o):clutstore.cc:(.text+0x5c52) : encore plus de références indéfinies suivent vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : ../rtengine/librtengine.a(clutstore.cc.o) : dans la fonction « rtengine::CLUTStore::getCTLLut(Glib::ustring const&, int, int&, std::vector >&, Glib::ustring&, int&) const » :
clutstore.cc:(.text+0x9084) : référence indéfinie vers « Ctl::Interpreter::newFunctionCall(std::__cxx11::basic_string, std::allocator > const&) »
/usr/bin/ld : clutstore.cc:(.text+0x9106) : référence indéfinie vers « Ctl::SimdInterpreter::SimdInterpreter() »
/usr/bin/ld : clutstore.cc:(.text+0x9227) : référence indéfinie vers « Ctl::Interpreter::setModulePaths(std::vector, std::allocator >, std::allocator, std::allocator > > > const&) »
/usr/bin/ld : clutstore.cc:(.text+0x9384) : référence indéfinie vers « Ctl::Interpreter::loadFile(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) »
/usr/bin/ld : clutstore.cc:(.text+0x93ea) : référence indéfinie vers « Ctl::Interpreter::newFunctionCall(std::__cxx11::basic_string, std::allocator > const&) »
/usr/bin/ld : clutstore.cc:(.text+0x9437) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : clutstore.cc:(.text+0x946a) : référence indéfinie vers « typeinfo for Ctl::FloatType »
/usr/bin/ld : clutstore.cc:(.text+0x9471) : référence indéfinie vers « typeinfo for Ctl::DataType »
/usr/bin/ld : clutstore.cc:(.text+0x948d) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : clutstore.cc:(.text+0x962d) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : clutstore.cc:(.text+0x9664) : référence indéfinie vers « typeinfo for Ctl::FloatType »
/usr/bin/ld : clutstore.cc:(.text+0x966b) : référence indéfinie vers « typeinfo for Ctl::DataType »
/usr/bin/ld : clutstore.cc:(.text+0x968b) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : clutstore.cc:(.text+0x994c) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : clutstore.cc:(.text+0x9b6b) : référence indéfinie vers « typeinfo for Ctl::BoolType »
/usr/bin/ld : clutstore.cc:(.text+0x9b72) : référence indéfinie vers « typeinfo for Ctl::DataType »
/usr/bin/ld : clutstore.cc:(.text+0x9b8b) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : clutstore.cc:(.text+0x9baa) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : ../rtengine/librtengine.a(clutstore.cc.o) : dans la fonction « rtengine::CLUTApplication::get_param_descriptors(Glib::ustring const&) » :
clutstore.cc:(.text+0xbe99) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : ../rtengine/librtengine.a(clutstore.cc.o) : dans la fonction « std::vector, std::allocator > >::~vector() » :
clutstore.cc:(.text._ZNSt6vectorIN3Ctl5RcPtrINS0_12FunctionCallEEESaIS3_EED2Ev[_ZNSt6vectorIN3Ctl5RcPtrINS0_12FunctionCallEEESaIS3_EED5Ev]+0x29) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : ../rtengine/librtengine.a(clutstore.cc.o) : dans la fonction « Ctl::RcPtr::unref() » :
clutstore.cc:(.text._ZN3Ctl5RcPtrINS_11FunctionArgEE5unrefEv[_ZN3Ctl5RcPtrINS_11FunctionArgEE5unrefEv]+0x10) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : ../rtengine/librtengine.a(clutstore.cc.o):clutstore.cc:(.text._ZN3Ctl5RcPtrINS_12FunctionCallEE5unrefEv[_ZN3Ctl5RcPtrINS_12FunctionCallEE5unrefEv]+0x10) : encore plus de références indéfinies suivent vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld: attention: création de DT_TEXTREL dans un PIE
collect2: erreur: ld a retourné le statut de sortie 1
make[2]: *** [rtgui/CMakeFiles/art-cli.dir/build.make:278: rtgui/ART-cli] Error 1
make[1]: *** [CMakeFiles/Makefile2:218: rtgui/CMakeFiles/art-cli.dir/all] Error 2
make[1]: *** Attente des tâches non terminées....
[ 44%] Linking CXX executable ART
/usr/bin/ld: ../rtengine/librtengine.a(clutstore.cc.o): attention: réadressage sur « _ZTIN3Ctl8DataTypeE » dans la section en lecture seule « .text »
/usr/bin/ld : ../rtengine/librtengine.a(clutstore.cc.o) : dans la fonction « rtengine::CLUTStore::getCTLLut(Glib::ustring const&, int, int&, std::vector >&, Glib::ustring&, int&) const::{lambda(char const*)#1}::operator()(char const*) const » :
clutstore.cc:(.text+0x2dad) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : ../rtengine/librtengine.a(clutstore.cc.o) : dans la fonction « rtengine::CLUTApplication::CTL_set_params(std::map, std::allocator >, double, std::less, std::allocator > >, std::allocator, std::allocator > const, double> > > const&, rtengine::CLUTApplication::Quality) » :
clutstore.cc:(.text+0x5902) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : clutstore.cc:(.text+0x5bd1) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : clutstore.cc:(.text+0x5c52) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : ../rtengine/librtengine.a(clutstore.cc.o) : dans la fonction « rtengine::CLUTStore::getCTLLut(Glib::ustring const&, int, int&, std::vector >&, Glib::ustring&, int&) const » :
clutstore.cc:(.text+0x9084) : référence indéfinie vers « Ctl::Interpreter::newFunctionCall(std::__cxx11::basic_string, std::allocator > const&) »
/usr/bin/ld : clutstore.cc:(.text+0x9106) : référence indéfinie vers « Ctl::SimdInterpreter::SimdInterpreter() »
/usr/bin/ld : clutstore.cc:(.text+0x9227) : référence indéfinie vers « Ctl::Interpreter::setModulePaths(std::vector, std::allocator >, std::allocator, std::allocator > > > const&) »
/usr/bin/ld : clutstore.cc:(.text+0x9384) : référence indéfinie vers « Ctl::Interpreter::loadFile(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) »
/usr/bin/ld : clutstore.cc:(.text+0x93ea) : référence indéfinie vers « Ctl::Interpreter::newFunctionCall(std::__cxx11::basic_string, std::allocator > const&) »
/usr/bin/ld : clutstore.cc:(.text+0x9437) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : clutstore.cc:(.text+0x946a) : référence indéfinie vers « typeinfo for Ctl::FloatType »
/usr/bin/ld : clutstore.cc:(.text+0x9471) : référence indéfinie vers « typeinfo for Ctl::DataType »
/usr/bin/ld : clutstore.cc:(.text+0x948d) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : clutstore.cc:(.text+0x962d) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : clutstore.cc:(.text+0x9664) : référence indéfinie vers « typeinfo for Ctl::FloatType »
/usr/bin/ld : clutstore.cc:(.text+0x966b) : référence indéfinie vers « typeinfo for Ctl::DataType »
/usr/bin/ld : clutstore.cc:(.text+0x968b) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : clutstore.cc:(.text+0x994c) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : clutstore.cc:(.text+0x9b6b) : référence indéfinie vers « typeinfo for Ctl::BoolType »
/usr/bin/ld : clutstore.cc:(.text+0x9b72) : référence indéfinie vers « typeinfo for Ctl::DataType »
/usr/bin/ld : clutstore.cc:(.text+0x9b8b) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : clutstore.cc:(.text+0x9baa) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : ../rtengine/librtengine.a(clutstore.cc.o) : dans la fonction « rtengine::CLUTApplication::get_param_descriptors(Glib::ustring const&) » :
clutstore.cc:(.text+0xbe99) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : ../rtengine/librtengine.a(clutstore.cc.o) : dans la fonction « std::vector, std::allocator > >::~vector() » :
clutstore.cc:(.text._ZNSt6vectorIN3Ctl5RcPtrINS0_12FunctionCallEEESaIS3_EED2Ev[_ZNSt6vectorIN3Ctl5RcPtrINS0_12FunctionCallEEESaIS3_EED5Ev]+0x29) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : ../rtengine/librtengine.a(clutstore.cc.o) : dans la fonction « Ctl::RcPtr::unref() » :
clutstore.cc:(.text._ZN3Ctl5RcPtrINS_11FunctionArgEE5unrefEv[_ZN3Ctl5RcPtrINS_11FunctionArgEE5unrefEv]+0x10) : référence indéfinie vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld : ../rtengine/librtengine.a(clutstore.cc.o):clutstore.cc:(.text._ZN3Ctl5RcPtrINS_12FunctionCallEE5unrefEv[_ZN3Ctl5RcPtrINS_12FunctionCallEE5unrefEv]+0x10) : encore plus de références indéfinies suivent vers « Ctl::rcPtrMutex(Ctl::RcObject*) »
/usr/bin/ld: attention: création de DT_TEXTREL dans un PIE
collect2: erreur: ld a retourné le statut de sortie 1
make[2]: *** [rtgui/CMakeFiles/art.dir/build.make:2615: rtgui/ART] Error 1
make[1]: *** [CMakeFiles/Makefile2:191: rtgui/CMakeFiles/art.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

ART cannot be compiled under Archlinux. Here are the terminal error messages.

thank you

Comments (7)

  1. agriggio repo owner

    It seems it’s not finding the CTL library. I’m not familiar with arch, do you know where it is installed?

    Alternatively, you can set ENABLE_CTL=0 in CMakeCache.txt to disable CTL support

  2. leclerc reporter

    the art compilation on the AUR repository maintained by Guzzisti doesn't work either, even if it reaches 100%...

    [100%] Building CXX object rtgui/CMakeFiles/art.dir/clutparamspanel.cc.o
    [100%] Linking CXX executable ART
    /usr/src/debug/art-rawconverter-git/art-rawconverter-git_src/rtengine/dcraw.cc: In member function 'nikon_yuv_load_raw':
    /usr/src/debug/art-rawconverter-git/art-rawconverter-git_src/rtengine/dcraw.cc:1423:33: warning: 'yuv[2]' may be used uninitialized [-Wmaybe-uninitialized]
    /usr/src/debug/art-rawconverter-git/art-rawconverter-git_src/rtengine/dcraw.cc:1412:17: note: 'yuv[2]' was declared here
    /usr/src/debug/art-rawconverter-git/art-rawconverter-git_src/rtengine/dcraw.cc:1422:33: warning: 'yuv[3]' may be used uninitialized [-Wmaybe-uninitialized]
    /usr/src/debug/art-rawconverter-git/art-rawconverter-git_src/rtengine/dcraw.cc:1412:17: note: 'yuv[3]' was declared here
    In function 'memcpy',
    inlined from 'foveon_interpolate' at /usr/src/debug/art-rawconverter-git/art-rawconverter-git_src/rtengine/dcraw.cc:4155:10:
    /usr/include/bits/string_fortified.h:29:33: warning: '__builtin_memcpy' writing 132 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
    29 |   return __builtin___memcpy_chk (__dest, __src, __len,
    |                                 ^
    /usr/src/debug/art-rawconverter-git/art-rawconverter-git_src/rtengine/dcraw.cc: In member function 'foveon_interpolate':
    /usr/src/debug/art-rawconverter-git/art-rawconverter-git_src/rtengine/dcraw.cc:4144:33: note: at offset -132 into destination object of size [0, 786420] allocated by 'calloc'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o: in function `rtengine::CLUTStore::getCTLLut(Glib::ustring const&, int, int&, std::vector<rtengine::CLUTParamDescriptor, std::allocator<rtengine::CLUTParamDescriptor> >&, Glib::ustring&, int&) const::{lambda(char const*)#1}::operator()(char const*) const':
    /usr/include/CTL/CtlRcPtr.h:246:(.text+0xbaa): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /usr/include/CTL/CtlRcPtr.h:231:(.text+0xc86): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o: in function `rtengine::CLUTApplication::CTL_init_lut(int)':
    /usr/include/CTL/CtlRcPtr.h:231:(.text+0x4f06): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /usr/include/CTL/CtlRcPtr.h:246:(.text+0x5359): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o: in function `rtengine::CLUTApplication::CTL_set_params(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > > const&, rtengine::CLUTApplication::Quality)':
    /usr/include/CTL/CtlRcPtr.h:231:(.text+0x5b26): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o:/usr/include/CTL/CtlRcPtr.h:246: more undefined references to `Ctl::rcPtrMutex(Ctl::RcObject*)' follow
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o: in function `rtengine::CLUTStore::getCTLLut(Glib::ustring const&, int, int&, std::vector<rtengine::CLUTParamDescriptor, std::allocator<rtengine::CLUTParamDescriptor> >&, Glib::ustring&, int&) const':
    /usr/src/debug/art-rawconverter-git/art-rawconverter-git_src/rtengine/clutstore.cc:1042:(.text+0x9571): undefined reference to `Ctl::Interpreter::newFunctionCall(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o: in function `rtengine::CLUTStore::getCTLLut(Glib::ustring const&, int, int&, std::vector<rtengine::CLUTParamDescriptor, std::allocator<rtengine::CLUTParamDescriptor> >&, Glib::ustring&, int&) const':
    /usr/include/CTL/CtlRcPtr.h:231:(.text+0x959d): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /usr/include/CTL/CtlRcPtr.h:246:(.text+0x95eb): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o: in function `rtengine::CLUTStore::getCTLLut(Glib::ustring const&, int, int&, std::vector<rtengine::CLUTParamDescriptor, std::allocator<rtengine::CLUTParamDescriptor> >&, Glib::ustring&, int&) const':
    /usr/include/c++/13.2.1/bits/stl_construct.h:119:(.text+0x970f): undefined reference to `Ctl::SimdInterpreter::SimdInterpreter()'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o: in function `rtengine::CLUTStore::getCTLLut(Glib::ustring const&, int, int&, std::vector<rtengine::CLUTParamDescriptor, std::allocator<rtengine::CLUTParamDescriptor> >&, Glib::ustring&, int&) const':
    /usr/src/debug/art-rawconverter-git/art-rawconverter-git_src/rtengine/clutstore.cc:995:(.text+0x97fa): undefined reference to `Ctl::Interpreter::setModulePaths(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)'
    /usr/bin/ld: /usr/src/debug/art-rawconverter-git/art-rawconverter-git_src/rtengine/clutstore.cc:1000:(.text+0x999b): undefined reference to `Ctl::Interpreter::loadFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /usr/bin/ld: /usr/src/debug/art-rawconverter-git/art-rawconverter-git_src/rtengine/clutstore.cc:1002:(.text+0x9a1c): undefined reference to `Ctl::Interpreter::newFunctionCall(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o: in function `rtengine::CLUTStore::getCTLLut(Glib::ustring const&, int, int&, std::vector<rtengine::CLUTParamDescriptor, std::allocator<rtengine::CLUTParamDescriptor> >&, Glib::ustring&, int&) const':
    /usr/include/CTL/CtlRcPtr.h:231:(.text+0x9a71): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /usr/include/CTL/CtlRcPtr.h:303:(.text+0x9ab3): undefined reference to `typeinfo for Ctl::FloatType'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o:/usr/include/CTL/CtlRcPtr.h:303:(.text+0x9aba): undefined reference to `typeinfo for Ctl::DataType'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o: in function `rtengine::CLUTStore::getCTLLut(Glib::ustring const&, int, int&, std::vector<rtengine::CLUTParamDescriptor, std::allocator<rtengine::CLUTParamDescriptor> >&, Glib::ustring&, int&) const':
    /usr/include/CTL/CtlRcPtr.h:231:(.text+0x9ada): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /usr/include/CTL/CtlRcPtr.h:246:(.text+0x9b37): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /usr/include/CTL/CtlRcPtr.h:246:(.text+0x9b9b): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /usr/include/CTL/CtlRcPtr.h:231:(.text+0x9d23): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /usr/include/CTL/CtlRcPtr.h:246:(.text+0x9da3): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o:/usr/include/CTL/CtlRcPtr.h:231: more undefined references to `Ctl::rcPtrMutex(Ctl::RcObject*)' follow
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o: in function `rtengine::CLUTStore::getCTLLut(Glib::ustring const&, int, int&, std::vector<rtengine::CLUTParamDescriptor, std::allocator<rtengine::CLUTParamDescriptor> >&, Glib::ustring&, int&) const':
    /usr/include/CTL/CtlRcPtr.h:303:(.text+0x9ec9): undefined reference to `typeinfo for Ctl::FloatType'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o:/usr/include/CTL/CtlRcPtr.h:303:(.text+0x9ed0): undefined reference to `typeinfo for Ctl::DataType'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o: in function `rtengine::CLUTStore::getCTLLut(Glib::ustring const&, int, int&, std::vector<rtengine::CLUTParamDescriptor, std::allocator<rtengine::CLUTParamDescriptor> >&, Glib::ustring&, int&) const':
    /usr/include/CTL/CtlRcPtr.h:231:(.text+0x9ef2): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /usr/include/CTL/CtlRcPtr.h:246:(.text+0x9f50): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /usr/include/CTL/CtlRcPtr.h:246:(.text+0x9fb6): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /usr/include/CTL/CtlRcPtr.h:231:(.text+0xa11f): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o: in function `rtengine::CLUTApplication::get_param_descriptors(Glib::ustring const&)':
    /usr/include/CTL/CtlRcPtr.h:246:(.text+0xaf6a): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans80.ltrans.o:/usr/include/CTL/CtlRcPtr.h:246: more undefined references to `Ctl::rcPtrMutex(Ctl::RcObject*)' follow
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans127.ltrans.o: in function `rtengine::(anonymous namespace)::get_CTL_params(Glib::ustring const&, std::shared_ptr<Ctl::Interpreter>, Ctl::RcPtr<Ctl::FunctionCall>, std::vector<rtengine::CLUTParamDescriptor, std::allocator<rtengine::CLUTParamDescriptor> >&, Glib::ustring&, int&) [clone .isra.0]':
    /usr/include/CTL/CtlRcPtr.h:303:(.text+0x17328): undefined reference to `typeinfo for Ctl::BoolType'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans127.ltrans.o:/usr/include/CTL/CtlRcPtr.h:303:(.text+0x1732f): undefined reference to `typeinfo for Ctl::DataType'
    /usr/bin/ld: /tmp/ccNut8Oc.ltrans127.ltrans.o: in function `rtengine::(anonymous namespace)::get_CTL_params(Glib::ustring const&, std::shared_ptr<Ctl::Interpreter>, Ctl::RcPtr<Ctl::FunctionCall>, std::vector<rtengine::CLUTParamDescriptor, std::allocator<rtengine::CLUTParamDescriptor> >&, Glib::ustring&, int&) [clone .isra.0]':
    /usr/include/CTL/CtlRcPtr.h:231:(.text+0x17348): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    /usr/bin/ld: /usr/include/CTL/CtlRcPtr.h:246:(.text+0x17375): undefined reference to `Ctl::rcPtrMutex(Ctl::RcObject*)'
    collect2: error: ld returned 1 exit status
    make[2]: *** [rtgui/CMakeFiles/art.dir/build.make:2615: rtgui/ART] Error 1
    make[1]: *** [CMakeFiles/Makefile2:191: rtgui/CMakeFiles/art.dir/all] Error 2
    make: *** [Makefile:136: all] Error 2
    ==> ERROR: A failure occurred in build().
    Aborting...
    rm -rf /tmp/bauh@jllailes/arch/build_1708986586
    
    Échec de la mise à jour du paquet "art-rawconverter-git"
    

  3. agriggio repo owner

    Hi,

    There's still something wrong with the CTL libs I think. Unfortunately I'm not an arch user, so I can't help you much right now I'm afraid. Did you try asking the package maintainer? Maybe he has some tips.

  4. Sebastien Guyader

    I’m on the Arch-based distro Manjaro and I have no issue compiling ART. However, I built CTL from source instead of using the AUR repo. I don’t remember why I did that, maybe it was because ART failed compiling with the AUR version of CTL.

    So, try compiling CTL from source (https://github.com/ampas/CTL) and it should be fine. I did that a couple months ago so I don’t really remember how I compiled it but it was simple. If you already have `OpenEXR` and `aces-container` installed, you should have no other dependency to install and the following commands should work on the cloned CTL repo:

    git clone https://github.com/ampas/CTL
    cd CTL
    mkdir build && cd build
    cmake \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release \
      ..
    make
    sudo make install
    

  5. leclerc reporter

    hi Sebastien, thanks a lot for the tip, it worked !! i'm going to inform Guzzisti that his ctl repo doesn't work for me .

  6. Log in to comment