Enrty point _ZNK10lfDatabase10GetCamerasEv could not be located

Issue #151 resolved
Michael Ezra created an issue

I managed to compile ART without errors, copied all *.dll dependencies next to the ART.exe file, but getting this error on launch of the ART.exe:

I’ve been using these commands:

cmake -G "MSYS Makefiles" -DLENSFUNDBDIR=share/lensfun -DCMAKE_BUILD_TYPE="release" -DPROC_TARGET_NUMBER="2" -DCACHE_NAME_SUFFIX="5-dev" -DOPTION_OMP="ON" -DCMAKE_C_FLAGS="-mwindows -DNDEBUG -O3 -flto" -S/c/code/repo-art

make --jobs=12
make install

It's been a while since I’ve been running this process, would appreciate any pointers:)

Thank you!

Comments (10)

  1. Michael Ezra reporter

    Could this be the issue?

    In my case I have: Lensfun: V0.3.2.0

    In Art distribution: Lensfun: V0.3.95.0

  2. Michael Ezra reporter

    my latest cmake output:

    \$ cmake -G "MSYS Makefiles" -DLENSFUNDBDIR=share/lensfun -DCMAKE_BUILD_TYPE="release" -DPROC_TARGET_NUMBER="2" -DCACHE_NAME_SUFFIX="5-dev" -DOPTION_OMP="ON" -DCMAKE_C_FLAGS="-m64 -mwin32 -msse2 -mfpmath=sse -mthreads -Wno-aggressive-loop-optimizations -Wno-parentheses -std=c++11 -mtune=generic -Werror=unused-label -fno-math-errno -Wall -Wuninitialized -Wno-deprecated-declarations -Wno-unused-result -fopenmp -Werror=unknown-pragmas -DNDEBUG -O3 -ftree-vectorize" -S/c/code/repo-art
    CMake Deprecation Warning at CMakeLists.txt:5 (cmake_minimum_required):
    Compatibility with CMake < 2.8.12 will be removed from a future version of
    CMake.

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

    -- The C compiler identification is GNU 10.2.0
    -- The CXX compiler identification is GNU 10.2.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: C:/msys64/mingw64/bin/gcc.exe - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: C:/msys64/mingw64/bin/g++.exe - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- CMAKE_BUILD_TYPE: release
    -- Found PkgConfig: C:/msys64/mingw64/bin/pkg-config.exe (found version "1.7.3")
    -- Checking for module 'gtk+-3.0>=3.22.24'
    -- Found gtk+-3.0, version 3.24.24
    -- Checking for module 'gtkmm-3.0>=3.22'
    -- Found gtkmm-3.0, version 3.24.2
    -- Checking for module 'glib-2.0>=2.44'
    -- Found glib-2.0, version 2.66.3
    -- Checking for module 'glibmm-2.4>=2.44'
    -- Found glibmm-2.4, version 2.64.2
    -- Checking for module 'cairomm-1.0'
    -- Found cairomm-1.0, version 1.12.2
    -- Checking for module 'gio-2.0>=2.44'
    -- Found gio-2.0, version 2.66.3
    -- Checking for module 'giomm-2.4>=2.44'
    -- Found giomm-2.4, version 2.64.2
    -- Checking for module 'gthread-2.0>=2.44'
    -- Found gthread-2.0, version 2.66.3
    -- Checking for module 'gobject-2.0>=2.44'
    -- Found gobject-2.0, version 2.66.3
    -- Checking for module 'sigc++-2.0>=2.3.1'
    -- Found sigc++-2.0, version 2.10.4
    -- Checking for module 'lensfun>=0.2'
    -- Found lensfun, version 0.3.2.0
    -- Checking for module 'librsvg-2.0>=2.40'
    -- Found librsvg-2.0, version 2.50.2
    -- Checking for module 'exiv2>=0.24'
    -- Found exiv2, version 0.27.3
    -- searching for library exiv2 in C:/msys64/mingw64/lib
    -- result: C:/msys64/mingw64/lib/libexiv2.dll.a
    -- Checking for module 'lcms2>=2.6'
    -- Found lcms2, version 2.11
    -- Checking for module 'expat>=2.1'
    -- Found expat, version 2.2.10
    -- Checking for module 'fftw3f'
    -- Found fftw3f, version 3.3.8
    -- Checking for module 'libtiff-4>=4.0.4'
    -- Found libtiff-4, version 4.1.0
    -- Found JPEG: C:/msys64/mingw64/lib/libjpeg.dll.a (found version "80")
    -- Found ZLIB: C:/msys64/mingw64/lib/libz.dll.a (found version "1.2.11")
    -- Found PNG: C:/msys64/mingw64/lib/libpng.dll.a (found version "1.6.37")
    -- Found OpenMP_C: -fopenmp (found version "4.5")
    -- Found OpenMP_CXX: -fopenmp (found version "4.5")
    -- Found OpenMP: TRUE (found version "4.5")
    -- Performing Test _fftw3f_multithread
    -- Performing Test _fftw3f_multithread - Success
    -- searching for library lensfun in C:/msys64/mingw64/lib
    -- result: C:/msys64/mingw64/lib/liblensfun.dll.a
    -- Performing Test LENSFUN_HAS_LOAD_DIRECTORY
    -- Performing Test LENSFUN_HAS_LOAD_DIRECTORY - Success
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/code_builds/art

  3. agriggio repo owner

    seems like there is a mismatch between the lensfun you used to build and the lensfun that is found at runtime…

    does ART start if you execute it from the MSYS shell (without copying the DLLs)?

  4. Michael Ezra reporter

    This worked:

    1. I copied ART.exe to ART installation directory
    2. replaced liblensfun.dll with the copy I had in C:\msys64\mingw64\bin

    Now it works!
    The lensfun version numbers are a bit confusing:

    • my version is 0.3.2 which seems to be more current (117 KB) ,
    • yet version 0.3.95 (591KB) is mentioned as an older Alpha: https://lensfun.github.io/

    Any idea which is a more suitable version?

  5. agriggio repo owner

    lensfun version number are a bit of a mess. I think 0.3.2 is quite old, and the current one is called 0.3.95, but IIRC there are many versions that are called 0.3.95… I would simply stick with what MSYS2 provides. Importantly though, make sure that the DLL you use at runtime is the same as that used at compile time, otherwise you will get errors like the above

  6. Michael Ezra reporter

    What would be the best way to get the latest version of lensfun?

    in MSYS2 I seem to get that old 0.3.2-7 version:

    \$ pacman -S mingw-w64-x86_64-lensfun
    warning: mingw-w64-x86_64-lensfun-0.3.2-7 is up to date -- reinstalling
    resolving dependencies...
    looking for conflicting packages...

    Packages (1) mingw-w64-x86_64-lensfun-0.3.2-7

    Total Installed Size: 2.23 MiB
    Net Upgrade Size: 0.00 MiB

  7. agriggio repo owner

    why do you need to upgrade? If you want to have more recent data, you can run lensfun-update-data, it should work also with 0.3.2

  8. Michael Ezra reporter

    🙂 there is no specific reason, aside from just running the latest version which may have bugfixes, if any

  9. Log in to comment