Project

General

Profile

Bug #10913

darktable-rs-identify broke build

Added by Roman Lebedev about 4 years ago. Updated over 3 years ago.

Status:
Fixed
Priority:
High
Assignee:
Category:
General
Target version:
Start date:
02/11/2016
Due date:
% Done:

100%

Estimated time:
Affected Version:
git development version
System:
all
bitness:
64-bit
hardware architecture:
amd64/x86

Description

cd ~/darktable/build/ && rm -rf * && CC=clang-3.8 CXX=clang++-3.8 cmake ../ && make -j9

...
[ 40%] Linking CXX executable darktable-rs-identify
cd /home/lebedevri/darktable/build/src/external/rawspeed && /usr/bin/cmake -E cmake_link_script CMakeFiles/darktable-rs-identify.dir/link.txt --verbose=1
/usr/bin/clang++-3.8   -pipe  -Wall -fno-strict-aliasing -march=native -msse3 -g -fPIC -O2 -g -DNDEBUG -O2   CMakeFiles/darktable-rs-identify.dir/rawspeed-identify.cpp.o  -o darktable-rs-identify -rdynamic ../../libdarktable.so librawspeed.a ../LuaAutoC/liblautoc.a -lgtk-3 -lgdk-3 -lpango-1.0 -lcairo -lgdk_pixbuf-2.0 -latk-1.0 -lxml2 -lsoup-2.4 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lgphoto2 -lgphoto2_port -lIlmImf -lImath -lIex -lIlmThread -lwebp /usr/local/lib/liblensfun.so -lgthread-2.0 -lgmodule-2.0 -lpangocairo-1.0 -lpthread -lrsvg-2 -lsqlite3 -lcurl -lpng -lz -ljpeg -ltiff -llcms2 -ljson-glib-1.0 -lexiv2 -lflickcurl -lopenjpeg -lsecret-1 -lGraphicsMagick -llua5.2 -lpugixml -losmgpsmap-1.0 -lcairo-gobject -lcolord -lcolordprivate -lcolord-gtk -lgtk-3 -lgdk-3 -lpango-1.0 -lcairo -lgdk_pixbuf-2.0 -latk-1.0 -lxml2 -lsoup-2.4 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lgphoto2 -lgphoto2_port -lIlmImf -lImath -lIex -lIlmThread -lwebp /usr/local/lib/liblensfun.so -lgthread-2.0 -lgmodule-2.0 -lpangocairo-1.0 -lpthread -lrsvg-2 -lsqlite3 -lcurl -lpng -lz -ljpeg -ltiff -llcms2 -ljson-glib-1.0 -lexiv2 -lflickcurl -lopenjpeg -lsecret-1 -lGraphicsMagick -llua5.2 -lpugixml -losmgpsmap-1.0 -lcairo-gobject -lcolord -lcolordprivate -lcolord-gtk -lcups -Wl,-rpath,/home/lebedevri/darktable/build/src:/usr/local/lib: 
../../libdarktable.so: error: undefined reference to 'Exiv2::PreviewImage::mimeType() const'
../../libdarktable.so: error: undefined reference to 'Exiv2::Metadatum::print(Exiv2::ExifData const*) const'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
src/external/rawspeed/CMakeFiles/darktable-rs-identify.dir/build.make:184: recipe for target 'src/external/rawspeed/darktable-rs-identify' failed
make[2]: *** [src/external/rawspeed/darktable-rs-identify] Error 1
make[2]: Leaving directory '/home/lebedevri/darktable/build'
CMakeFiles/Makefile2:1345: recipe for target 'src/external/rawspeed/CMakeFiles/darktable-rs-identify.dir/all' failed
make[1]: *** [src/external/rawspeed/CMakeFiles/darktable-rs-identify.dir/all] Error 2
make[1]: Leaving directory '/home/lebedevri/darktable/build'
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

Builds fine with GCC.

Also, if i remove darktable-rs-identify part from src/external/rawspeed/CMakeLists.txt, gcc and clang builds it just fine.

I have tried moving that cmake part into the end of src/CMakeLists.txt, didn't seem to help.

Associated revisions

Revision e5fe1c56 (diff)
Added by Roman Lebedev about 4 years ago

Fix darktable-rs-identify build. Fixes #10913. Will not work on OSX

Basically, do not link rs-identify against libdarktable,
only all other libs. I believe this is related to
C++ ABI.

Revision 7b530d7b (diff)
Added by Pedro Côrte-Real about 4 years ago

Revert "Fix darktable-rs-identify build. Fixes #10913. Will not work on OSX"

This reverts commit e5fe1c566d402be6b1f3da0a792dec4c694b9258.

History

#1 Updated by Pedro Côrte-Real about 4 years ago

Works fine here with both clang 3.4 and 3.6. So it may be something specific to clang 3.8, cmake version (I have 2.8.12.2) or your specific install.

#2 Updated by Roman Lebedev about 4 years ago

Hm, checking.

Which cmake version do you have?

$ cmake --version
cmake version 3.4.1

#3 Updated by Roman Lebedev about 4 years ago

Nope, does not with clang-3.6 and clang-3.7 either.

#4 Updated by Pedro Côrte-Real about 4 years ago

See above for the cmake version. It's probably either that or the exiv2 version (I have 0.23-1ubuntu2pmjdebruijn12).

#5 Updated by Roman Lebedev about 4 years ago

  • Priority changed from Medium to High

This broke also gcc<5 builds in my jenkins.

#6 Updated by Roman Lebedev about 4 years ago

  • Subject changed from darktable-rs-identify broke clang build to darktable-rs-identify broke build

#7 Updated by Pedro Côrte-Real about 4 years ago

Seems like it's either cmake or exiv2 version related then.

#8 Updated by Roman Lebedev about 4 years ago

  • % Done changed from 0 to 50
  • Assignee changed from Pedro Côrte-Real to Roman Lebedev
  • Status changed from New to In Progress

#9 Updated by Roman Lebedev about 4 years ago

  • % Done changed from 50 to 100
  • Status changed from In Progress to Fixed

#10 Updated by Roman Lebedev over 3 years ago

  • Target version set to 2.2.0

Also available in: Atom PDF

Go to top