You are not logged in.
Hi,
Digikam goes incredibly slowly and eats up to 100% of CPU when importing photos taken on my Nikon D90.
It is the same whether using a card reader or USB connection to the camera.
Having googled around I think the problem is related to exiv2, and the writing of exif data to the image files as happens when portrait images are automatically rotated.
Google also tells me that this may be fixed in exiv2 version 0.20 whereas the latest Arch package is 0.19.
Does anybody else have this problem, or can exiv2 be updated in the repositories?
Thanks
Francis
Last edited by fdac (2010-10-21 04:31:23)
Offline
Some related info - think these describes my problem quite closely:
https://bugs.launchpad.net/ubuntu/+sour … bug/596327
Offline
Have you tried http://aur.archlinux.org/packages.php?ID=2667 ?
I've modified the PKGBUILD to use http://www.exiv2.org/exiv2-0.20.tar.gz and 3173d08a4313dc94b7bd1b7cdbda2093 md5sum. I don't know if any other changes are needed:
pkgname=exiv2
pkgver=0.20
pkgrel=1
pkgdesc="Exif and Iptc metadata manipulation library and tools."
arch=('i686' 'x86_64')
url="http://exiv2.org"
license=('GPL2')
depends=('gcc-libs' 'zlib' 'expat')
options=('!libtool')
source=("http://www.exiv2.org/${pkgname}-${pkgver}.tar.gz")
md5sums=('3173d08a4313dc94b7bd1b7cdbda2093')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
./configure --prefix=/usr
make || return 1
}
package() {
cd ${srcdir}/${pkgname}-${pkgver}
make DESTDIR=${pkgdir} install
}
Last edited by karol (2010-10-10 03:54:37)
Offline
Okay - tried simply updating exiv2 via ABS to version 0.20. This was easy enough but when installed by pacman -U, digikam fails to start with error
digikam: error while loading shared libraries: libexiv2.so.6: cannot open shared object file: No such file or directory
Does digikam needs to be recompiled too? Or is there a simpler way?
Thanks
Francis
Offline
Are you sure you have that file? Where is it located?
Offline
Hi,
With exiv2 0.19-1 from repositories:
fdac ~ $ ls -la /usr/lib/ | grep exiv
-rw-r--r-- 1 root root 3217000 Mar 8 2010 libexiv2.a
lrwxrwxrwx 1 root root 17 Mar 8 2010 libexiv2.so -> libexiv2.so.6.0.0
lrwxrwxrwx 1 root root 17 Mar 8 2010 libexiv2.so.6 -> libexiv2.so.6.0.0
-rw-r--r-- 1 root root 2003690 Mar 8 2010 libexiv2.so.6.0.0
lrwxrwxrwx 1 root root 14 Oct 5 05:06 libkexiv2.so -> libkexiv2.so.8
lrwxrwxrwx 1 root root 18 Oct 5 05:06 libkexiv2.so.8 -> libkexiv2.so.8.1.0
-rwxr-xr-x 1 root root 570812 Oct 5 05:06 libkexiv2.so.8.1.0
After installing my newly built exiv2 0.20 package:
fdac ~ $ ls -la /usr/lib/ | grep exiv
-rw-r--r-- 1 root root 3876026 Oct 13 20:08 libexiv2.a
lrwxrwxrwx 1 root root 17 Oct 13 20:08 libexiv2.so -> libexiv2.so.9.0.0
lrwxrwxrwx 1 root root 17 Oct 13 20:08 libexiv2.so.9 -> libexiv2.so.9.0.0
-rw-r--r-- 1 root root 2247976 Oct 13 20:08 libexiv2.so.9.0.0
lrwxrwxrwx 1 root root 14 Oct 5 05:06 libkexiv2.so -> libkexiv2.so.8
lrwxrwxrwx 1 root root 18 Oct 5 05:06 libkexiv2.so.8 -> libkexiv2.so.8.1.0
-rwxr-xr-x 1 root root 570812 Oct 5 05:06 libkexiv2.so.8.1.0
So it looks like the new package replaces libexiv2.so.6* with libexiv2.so.9*.
Can this simply be symlinked or are changes required to the digikam package, I wonder?
Francis
Offline
For reference here is the PKGBUILD I used (just copied from the standard ABS tree, changed version and checksum to match 0.20 source.
pkgname=exiv2
pkgver=0.20
pkgrel=1
pkgdesc="Exif and Iptc metadata manipulation library and tools."
arch=('i686' 'x86_64')
url="http://exiv2.org"
license=('GPL2')
depends=('gcc-libs' 'zlib' 'expat')
options=('!libtool')
source=("http://www.exiv2.org/${pkgname}-${pkgver}.tar.gz")
md5sums=('3173d08a4313dc94b7bd1b7cdbda2093')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
./configure --prefix=/usr
make || return 1
}
package() {
cd ${srcdir}/${pkgname}-${pkgver}
make DESTDIR=${pkgdir} install
}
Last edited by fdac (2010-10-14 12:06:19)
Offline
If you need a quick'n'dirty fix, just symlink it and make a note about it somewhere, so you're not surprised if something mysteriously breaks because of this.
You can rebuild digikam if you want to do it the right way.
'<-' means 'depends on': digikam <- kdepimlibs <- kdelibs <- strigi <- exiv2
Last edited by karol (2010-10-14 12:33:14)
Offline
Hmm. Symlinking doesn't seem to work very well as digikam still exits with a 'symbol lookup error'.
I tried recompiling digikam with the new exiv2 library installed but that fails too.
The tail end of the build messages looked like this:
-----
-----
[ 36%] Building CXX object digikam/CMakeFiles/digikamcore.dir/__/utilities/imageeditor/rawimport/rawpostprocessing.o
[ 36%] Building CXX object digikam/CMakeFiles/digikamcore.dir/__/utilities/imageeditor/rawimport/rawimport.o
[ 37%] Building CXX object digikam/CMakeFiles/digikamcore.dir/__/utilities/imageeditor/rawimport/rawpreview.o
[ 37%] Building CXX object digikam/CMakeFiles/digikamcore.dir/__/utilities/imageeditor/rawimport/rawsettingsbox.o
[ 37%] Building CXX object digikam/CMakeFiles/digikamcore.dir/digikamconfig.o
Linking CXX shared library ../lib/libdigikamcore.so
[ 37%] Built target digikamcore
Scanning dependencies of target testlensfuniface_automoc
[ 37%] Built target testlensfuniface_automoc
Scanning dependencies of target testlensfuniface
[ 37%] Building CXX object libs/dimg/filters/lens/CMakeFiles/testlensfuniface.dir/testlensfuniface_automoc.o
[ 38%] Building CXX object libs/dimg/filters/lens/CMakeFiles/testlensfuniface.dir/testlensfuniface.o
Linking CXX executable testlensfuniface
/usr/bin/ld: warning: libexiv2.so.6, needed by /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifData::erase(__gnu_cxx::__normal_iterator<Exiv2::Exifdatum*, std::vector<Exiv2::Exifdatum, std::allocator<Exiv2::Exifdatum> > >)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpProperties::registerNs(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcKey::~IptcKey()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::TypeInfo::typeSize(Exiv2::TypeId)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::PreviewImage::size() const'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpParser::encode(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, Exiv2::XmpData const&, unsigned short, unsigned int)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpParser::initialize()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcParser::decode(Exiv2::IptcData&, unsigned char const*, unsigned int)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::PreviewImage::~PreviewImage()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifParser::decode(Exiv2::ExifData&, unsigned char const*, unsigned int)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifData::operator[](std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::CanonMakerNote::tagListSi()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Exifdatum::operator=(Exiv2::Exifdatum const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Exifdatum::operator=(unsigned short const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpData::add(Exiv2::XmpKey const&, Exiv2::Value const*)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Value::create(Exiv2::TypeId)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::PreviewImage::pData() const'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::CanonMakerNote::tagListCf()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcData::sortByKey()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Photoshop::setIptcIrb(unsigned char const*, long, Exiv2::IptcData const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcKey::key() const'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::OlympusMakerNote::tagListCs()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifKey::key() const'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Value::Value(Exiv2::TypeId)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifTags::tagTitle(unsigned short, Exiv2::IfdId)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Iptcdatum::operator=(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpKey::key() const'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifThumb::erase()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::OlympusMakerNote::tagListRi()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::DataBuf::DataBuf(unsigned char const*, long)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpData::findKey(Exiv2::XmpKey const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifTags::iopTagList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::PanasonicMakerNote::tagListRaw()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpProperties::propertyTitle(Exiv2::XmpKey const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Exifdatum::Exifdatum(Exiv2::Exifdatum const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpKey::~XmpKey()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Exifdatum::operator=(Exiv2::Value const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::OlympusMakerNote::tagListRd2()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifTags::gpsTagList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Exifdatum::operator=(int const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpProperties::propertyDesc(Exiv2::XmpKey const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifThumb::setJpegThumbnail(unsigned char const*, long)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::MinoltaMakerNote::tagListCs7D()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ImageFactory::open(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::PentaxMakerNote::tagList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::OlympusMakerNote::tagListFe()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::CanonMakerNote::tagListCs()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifKey::tag() const'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Value::~Value()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::DataValue::DataValue(unsigned char const*, long, Exiv2::ByteOrder, Exiv2::TypeId)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifParser::encode(std::vector<unsigned char, std::allocator<unsigned char> >&, unsigned char const*, unsigned int, Exiv2::ByteOrder, Exiv2::ExifData const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpParser::terminate()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifTags::exifTagList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpParser::decode(Exiv2::XmpData&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifData::findKey(Exiv2::ExifKey const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifKey::ExifKey(unsigned short, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpData::clear()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpData::begin()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::SonyMakerNote::tagList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpData::operator[](std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Iptcdatum::operator=(unsigned short const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::OlympusMakerNote::tagList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpProperties::propertyList(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::DataBuf::reset(std::pair<unsigned char*, long>)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Exifdatum::Exifdatum(Exiv2::ExifKey const&, Exiv2::Value const*)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Iptcdatum::operator=(Exiv2::Value const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifData::clear()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::PreviewManager::getPreviewImage(Exiv2::PreviewProperties const&) const'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcDataSets::dataSetDesc(unsigned short, unsigned short)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::version()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Xmpdatum::Xmpdatum(Exiv2::Xmpdatum const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Image::checkMode(Exiv2::MetadataId) const'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `typeinfo for Exiv2::Error'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Exifdatum::operator=(std::pair<int, int> const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifTags::tagDesc(unsigned short, Exiv2::IfdId)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcParser::encode(Exiv2::IptcData const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcData::add(Exiv2::IptcKey const&, Exiv2::Value*)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::OlympusMakerNote::tagListFi()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ImageFactory::open(unsigned char const*, long)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::CanonMakerNote::tagListPi()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::OlympusMakerNote::tagListEq()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcDataSets::application2RecordList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Exifdatum::operator=(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpKey::XmpKey(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifTags::ifdTagList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcDataSets::envelopeRecordList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpKey::XmpKey(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcData::erase(__gnu_cxx::__normal_iterator<Exiv2::Iptcdatum*, std::vector<Exiv2::Iptcdatum, std::allocator<Exiv2::Iptcdatum> > >)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpProperties::unregisterNs(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcDataSets::dataSetTitle(unsigned short, unsigned short)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::MinoltaMakerNote::tagList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Exifdatum::operator=(unsigned int const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Exifdatum::~Exifdatum()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifData::add(Exiv2::ExifKey const&, Exiv2::Value const*)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::MinoltaMakerNote::tagListCs5D()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::FujiMakerNote::tagList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::MinoltaMakerNote::tagListCsStd()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifThumb::ExifThumb(Exiv2::ExifData&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpData::erase(__gnu_cxx::__normal_iterator<Exiv2::Xmpdatum*, std::vector<Exiv2::Xmpdatum, std::allocator<Exiv2::Xmpdatum> > >)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::CanonMakerNote::tagListPa()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::CanonMakerNote::tagList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Nikon1MakerNote::tagList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpData::sortByKey()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::OlympusMakerNote::tagListRd()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Nikon2MakerNote::tagList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifThumbC::copy() const'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Metadatum::print(Exiv2::ExifData const*) const'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ul2Data(unsigned char*, unsigned int, Exiv2::ByteOrder)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `typeinfo for Exiv2::Value'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcKey::IptcKey(unsigned short, unsigned short)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcData::operator[](std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Nikon3MakerNote::tagList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcKey::record() const'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::PreviewManager::PreviewManager(Exiv2::Image const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifKey::~ExifKey()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpData::end()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifTags::ifdItem(Exiv2::IfdId)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::PanasonicMakerNote::tagList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::OlympusMakerNote::tagListIp()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcKey::IptcKey(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::XmpData::empty() const'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::DataBuf::release()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Error::setMsg()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifKey::ExifKey(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::DataValue::DataValue(Exiv2::TypeId)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcData::findKey(Exiv2::IptcKey const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::AnyError::~AnyError()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Iptcdatum::Iptcdatum(Exiv2::Iptcdatum const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::DataValue::read(unsigned char const*, long, Exiv2::ByteOrder)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifData::sortByKey()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::ExifThumbC::ExifThumbC(Exiv2::ExifData const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::PreviewManager::getPreviewProperties() const'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `vtable for Exiv2::Error'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Iptcdatum::operator=(Exiv2::Iptcdatum const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Xmpdatum::operator=(Exiv2::Xmpdatum const&)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::SigmaMakerNote::tagList()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::getULong(unsigned char const*, Exiv2::ByteOrder)'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::IptcKey::tag() const'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::DataValue::~DataValue()'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../libkexiv2.so: undefined reference to `Exiv2::Error::~Error()'
collect2: ld returned 1 exit status
make[2]: *** [libs/dimg/filters/lens/testlensfuniface] Error 1
make[1]: *** [libs/dimg/filters/lens/CMakeFiles/testlensfuniface.dir/all] Error 2
make: *** [all] Error 2
Aborting...
This is getting to the end of my packaging knowledge (and time frame to get my camera working properly with Arch!)
Should I file this as a bug?
Thanks
Offline
Let's start from the beginning: why isn't exiv2 updated yet? It's flagged out of date, but it's not yet replaced by the 0.20 version - maybe there is a reason to hold back.
Offline
karol - thank you very much for your advice.
I have filed a bug report to see what the Arch developers have to say.
Offline
karol - thank you very much for your advice.
I have filed a bug report to see what the Arch developers have to say.
Steps to reproduce:
Import any image taken by a Nikon camera (e.g. D90 digital SLR) using the digikam 'import' dialog. Sample attached.
There's a limit on the filesize, so you have to upload it somewhere and post a link - I don't see any sample in the bugtracker.
Offline
http://img233.imageshack.us/img233/3712/dsc0028gt.jpg
Last edited by fdac (2010-10-17 13:18:33)
Offline
Looks like it could take a while for Arch to update to exiv2 0.20.
Since I really only need Digikam at this point, does anybody have any clues on why my attempt at rebuilding digikam failed? Is there a simple fix?
(See makepkg output pasted above)
Offline
sure:
you need to rebuilt strigi with a new exiv2 first because digikam does not directly depend on evix2,
http://www.archlinux.org/packages/extra/i686/exiv2/
http://www.archlinux.org/packages/extra/i686/strigi/
http://www.archlinux.org/packages/extra/i686/digikam/
which in general points to the fact that providing new package (e.g. exiv2 0.20) without understanding how it works (dependencies) is at least useless.
however be aware that there other strigi dependencies so it is a lot of work really. Or you mess up your DE.
In short: no simple fix.
another (temporary) option is to transfer raw files to hd and then import to digikam, this will work faster (probably). In the meantime maybe new exiv2 will end up in Arch (again this needs time as a lot of dependencies is involved)
Though I have Canon (so no issues at all with raw import), I use lightzone for cataloging editing. This is anyway best photo editor for linux (similar to lightroom). It is not free though but you can use trial for some time and see if it does what you want (and fits your budget). Of course there may be another exiv2 independent software.
hopefully this will help a little
Offline
@ fdac
I'm a bit confused. Have you tried rebuilding the whole dependency chain: https://bbs.archlinux.org/viewtopic.php … 64#p840264 or just Digikam?
Offline
Ok, thanks broch and karol. I misunderstood and was just rebuilding digikam alone. If time permits I'll try doing the whole chain but I do understand it gets risky if there are other dependencies.
Learning as I go.
Offline
Bug has been closed within 4 days and exiv2 version 0.20 is in the repositories now. Thanks to Ionut Biru (wonder).
Offline