Hi!
I'm trying to compile the unstable version of digiKam from svn and install it in my homedir, following the instructions at http://www.digikam.org/?q=download/svn. The installation of exiv2 and extragear libs went fine, but compiling digiKam gives an error: /bin/sh ../../libtool --silent --tag=CXX --mode=link g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_CLEAN_NAMESPACE -R /home/pave/digikam_svn/installed/lib -R /opt/kde/lib -R /opt/qt/lib -R /home/pave/digikam_svn/installed/lib -L/opt/kde/lib -L/opt/qt/lib -L/home/pave/digikam_svn/installed/lib -lkutils -o digikam main.o -lqt-mt -lz -lpng -lz -lm -lXext -lX11 -lSM -lICE -lpthread -lkdecore -lkdeui -lkio -lkparts -lkutils libdigikam.la ./.libs/libdigikam.so: undefined reference to `KExiv2Iface::KExiv2::getExifTagsDataList(QStringList const&, bool)' ./.libs/libdigikam.so: undefined reference to `KExiv2Iface::KExiv2::getIptcTagsDataList(QStringList const&, bool)' collect2: ld returned 1 exit status make: *** [digikam] Error 1 To configure digiKam I used: ./configure -prefix=/home/pave/digikam_svn/installed --with-extra-includes=/home/pave/digikam_svn/installed/include --with-extra-libs=/home/pave/digikam_svn/installed/lib My environment variables are set as follows: bash-3.2$ echo $KDEDIRS /home/pave/digikam_svn/installed:/opt/kde:/usr (restarted kde after changing it) bash-3.2$ echo $LDPATH /home/pave/digikam_svn/installed/lib: bash-3.2$ echo $LD_LIBRARY_PATH /home/pave/digikam_svn/installed/lib: bash-3.2$ echo $PKG_CONFIG_PATH /home/pave/digikam_svn/installed/lib/pkgconfig Any idea of what I'm doing wrong? Thanks, Paweł _______________________________________________ Digikam-users mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-users |
Pawel,
Update libkexiv2 to the last stable and all will be fine. Gilles Caulier 2007/6/21, Paweł Marciniak <[hidden email]>: Hi! _______________________________________________ Digikam-users mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-users |
Gilles Caulier wrote:
> Update libkexiv2 to the last stable and all will be fine. System-wide I'm using libkexiv2 from the latest Arch extra repository package, but I wouldn't like to mess with it and rather use the one I compiled from svn and installed in my homedir. Perhaps the compilation still uses the system-wide libraries instead of the ones from my homedir. How can I prevent it? For now I used: --with-extra-includes=/home/pave/digikam_svn/installed/include --with-extra-libs=/home/pave/digikam_svn/installed/lib with digiKam's configure script, and LD_LIBRARY_PATH=/home/pave/digikam_svn/installed/lib LDPATH=/home/pave/digikam_svn/installed/lib but it seems not enough. Thanks in advance, Paweł _______________________________________________ Digikam-users mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-users |
On Fri, 22 Jun 2007, [UTF-8] Pawe�^B Marciniak wrote: > Gilles Caulier wrote: > > > Update libkexiv2 to the last stable and all will be fine. > > System-wide I'm using libkexiv2 from the latest Arch extra repository > package, but I wouldn't like to mess with it and rather use the one I > compiled from svn and installed in my homedir. Perhaps the compilation > still uses the system-wide libraries instead of the ones from my homedir. > How can I prevent it? > > For now I used: > --with-extra-includes=/home/pave/digikam_svn/installed/include > --with-extra-libs=/home/pave/digikam_svn/installed/lib > with digiKam's configure script, and > LD_LIBRARY_PATH=/home/pave/digikam_svn/installed/lib > LDPATH=/home/pave/digikam_svn/installed/lib > but it seems not enough. Due to a bug, in my opinion, the wrong kexiv2 is found. This has been discussed quite a bit. See for example, http://mail.kde.org/pipermail/digikam-users/2007-June/003687.html for a hack Gilles, can't something be done for this issue, it comes up really frequently now? (Jakub made some suggestions in the above thread, if I remember correctly ...) Best, Arnd _______________________________________________ Digikam-users mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-users |
Arnd Baecker wrote:
> Due to a bug, in my opinion, the wrong kexiv2 is found. > This has been discussed quite a bit. > See for example, > http://mail.kde.org/pipermail/digikam-users/2007-June/003687.html > for a hack Thanks for your hint. I applied the script proposed in that thread (changing the order in PKG_CONFIG_PATH), but it didn't solve my problem. I still get the same error. Note that, in the thread you mentioned, the problem appears at the stage of configuring digiKam. In my case ./configure is successful and the problem shows up when linking. Paweł _______________________________________________ Digikam-users mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-users |
On Sun, 24 Jun 2007, [UTF-8] Pawe�^B Marciniak wrote:
[...] > Thanks for your hint. Well, wasn't any good, it seesm ... ;-) > I applied the script proposed in that thread (changing > the order in PKG_CONFIG_PATH), but it didn't solve my problem. I still get > the same error. Note that, in the thread you mentioned, the problem appears > at the stage of configuring digiKam. In my case ./configure is successful > and the problem shows up when linking. Hmm, I am a bit surprised that configuration should work when two different exiv2/kexiv2 are around ... Just to be sure, at the line at which compilation fails, is there any reference to the lib directory with the new compliled libkexiv? Best, Arnd _______________________________________________ Digikam-users mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-users |
Arnd Baecker wrote:
> Just to be sure, at the line at which compilation fails, > is there any reference to the lib directory with the new compliled > libkexiv? Yes, there is -L with that directory, but _after_ -L with global kde lib dir, I'm not sure if that matters. What seems strange to me is that there is no explicit -l with kexiv2. Btw. the compiler invocation and error message are pasted in my first post. Regards, Paweł _______________________________________________ Digikam-users mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-users |
In reply to this post by Bugzilla from pave@o2.pl
On Sunday 24 June 2007, Paweł Marciniak wrote:
> Arnd Baecker wrote: > > Due to a bug, in my opinion, the wrong kexiv2 is found. > > This has been discussed quite a bit. > > See for example, > > http://mail.kde.org/pipermail/digikam-users/2007-June/003687.html > > for a hack > > Thanks for your hint. I applied the script proposed in that thread > (changing the order in PKG_CONFIG_PATH), but it didn't solve my > problem. I still get the same error. Note that, in the thread you > mentioned, the problem appears at the stage of configuring digiKam. > In my case ./configure is successful and the problem shows up when > linking. The configure script uses pkg_config to determine if your library is good enough to link with. The pkg_config program uses the PKG_CONFIG_PATH when it searches for library versions - which library it finds first depends on the contents of PKG_CONFIG_PATH. The linker, however, uses the linker path, not PKG_CONFIG_PATH, when resolving which library to actually link with. In my situation (the mail that was referred to above), pkg-config found the wrong library and configure wouldn't run - but when forced, everything would work because the linker used the right library (and would have done so, no matter what PKG_CONFIG_PATH held). In your sitaution, pkg-config finds the right library, configure thinks everything will work, but the linker path is not correctly set up and therefore the actual link fails. In this situation, configure is also wrong (like in my situation), but you're seeing a false positive whereas I was a false negative. The problem is the same though; pkg_config and the linker not agreeing on the library search path. In conclusion, repeating what I've said earlier; the concept of having a PKG_CONFIG_PATH is fundamentally broken. It can never work. If pkg_config is queried for library version numbers (as it is) then it *must* use the linker path (like the linker does) to resolve libraries. If PKG_CONFIG_PATH was set correctly (which it isn't) then it would be identical to the linker path. There is *no* valid scenario (in which pkg-config is used for library version resolution) that I can imagine, where the PKG_CONFIG_PATH would differ from the linker path. None what so ever. Any such scenario would mean, that one would want pkg_config to deliberately lie about which library would be linked - which you don't. If you don't care about the library versions, then it is easier to just not ask pkg_config than (mis-)configuring it to lie about it. I understand that pkg_config can do other things than library resolution. In those situations I claim my argument still holds; when resolving include files pkg_config should use whatever path the compiler uses for that, etc. In short; as long as PKG_CONFIG_PATH exists, these problems will exist. Any change to how PKG_CONFIG_PATH is set, is a workaround, not a fix. It is not the *value* of PKG_CONFIG_PATH that is wrong, it is the concept of its existance. -- Best regards, Jakob Oestergaard _______________________________________________ Digikam-users mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-users |
On Mon, 25 Jun 2007, Jakob [utf-8] �^Xstergaard wrote:
[ ... snip - long detailed analysis ... ] Isn't this http://bugs.kde.org/show_bug.cgi?id=147269 new bug also related to the whole problem? It would be great if these issues could be addressed, so that more people could compile and use the current version; however, with my knowledge I am out of the game... Digikam gurus seem to be needed to solve this ... Best, Arnd _______________________________________________ Digikam-users mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-users |
On Tuesday 26 June 2007, Arnd Baecker wrote:
> On Mon, 25 Jun 2007, Jakob [utf-8] �^Xstergaard wrote: > > [ ... snip - long detailed analysis ... ] > > Isn't this > http://bugs.kde.org/show_bug.cgi?id=147269 > new bug also related to the whole problem? I think that it goes into the "related" category. The problem described in 147269 is that there's no good way to specify where libkdcraw is really located. That is not the same as solving the problem with PKG_CONFIG_PATH versus the linker path, although solving 147269 properly and completely would involve solving the PKG_CONFIG_PATH problem too. > It would be great if these issues could be > addressed, so that more people could compile > and use the current version; however, with my knowledge > I am out of the game... > Digikam gurus seem to be needed to solve this ... I wonder how widely used pkg_config is (?) Is it a digikam-only thing (I doubt it) or is it a general KDE thing? -- Best regards, Jakob Oestergaard _______________________________________________ Digikam-users mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-users |
In reply to this post by Arnd Baecker
Arnd Baecker wrote:
> Hmm, I am a bit surprised that configuration should work > when two different exiv2/kexiv2 are around ... OK, just for your information. I decided to temporary remove libkexiv2* from the system lib location and restarted make. The compilation failed at the same point, but now complaining that it couldn't find libkexiv2 library, which was still installed in the homedir location specified by -L parameter. So I decided to configure everything once again, with libexiv2* only in my homedir. It went fine, and compilation succeeded. But now when I run digiKam, the stdout/err says: KIPI (loading): WARNING: KIPI::PluginLoader:: createInstanceFromLibrary returned 0 for JPEGLossless (kipiplugin_jpeglossless) with error number 3 KIPI (loading): WARNING: KLibLoader says: libkexiv2.so.0: cannot open shared object file: No such file or directory several times, when loading various stuff. I don't have access to many useful features (such as change date/time) anymore. Restoring the system-wide libkexiv* didn't help. Strange, isn't it? Best, Paweł _______________________________________________ Digikam-users mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-users |
On Wed, 27 Jun 2007, [UTF-8] Pawe�^B Marciniak wrote: > Arnd Baecker wrote: > > > Hmm, I am a bit surprised that configuration should work > > when two different exiv2/kexiv2 are around ... > > OK, just for your information. > > I decided to temporary remove libkexiv2* from the system lib location and > restarted make. The compilation failed at the same point, but now > complaining that it couldn't find libkexiv2 library, which was still > installed in the homedir location specified by -L parameter. > So I decided to configure everything once again, with libexiv2* only in my > homedir. It went fine, and compilation succeeded. > But now when I run digiKam, the stdout/err says: > > KIPI (loading): WARNING: KIPI::PluginLoader:: createInstanceFromLibrary > returned 0 for JPEGLossless (kipiplugin_jpeglossless) with error number 3 > KIPI (loading): WARNING: KLibLoader says: libkexiv2.so.0: cannot open shared > object file: No such file or directory > > several times, when loading various stuff. I don't have access to many > useful features (such as change date/time) anymore. Restoring the > system-wide libkexiv* didn't help. > > Strange, isn't it? Just to be sure, the script I use to run a self-compiled digikam is: ################ <- snip here #!/bin/bash export LANG=C export DIGIKAMDEST=/home/<place_of_digikam> export KDEDIRS=$DIGIKAMDEST:/usr export LD_LIBRARY_PATH=$DIGIKAMDEST/lib:$LD_LIBRARY_PATH export LDPATH=$DIGIKAMDEST/lib:$LDPATH export PATH=$DIGIKAMDEST/bin:$PATH hash -r kdeinit digikam ################ <- snip here But presumably you have set these variables already... And surely libkexiv* is in $DIGIKAMDEST/lib/ What does ldd $DIGIKAMDEST/bin/digikam give? Best, Arnd _______________________________________________ Digikam-users mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-users |
Free forum by Nabble | Edit this page |