Hi Philip, On 2010-09-13, Philip G Graham <[email protected]> wrote: > Sorry for the delay, been off the net (my next reply will also be a few > days later this time again). > > Thanks for the excellent break down on the details of my problem. Still > a problem - seems to be slightly different? > I am running Ubuntu Karmic updated to today. > I uninstalled exiv2 and then all versions of libexiv2 from all found > directories including the /user/local/lib/ > I emptied the /usr/lib/python2.6/dist-packages/pyexiv2 directory and > also removed the previous libexiv2python.so > > I then installed exiv2 0.20-1 and ran the pyexiv2 creation program again > and installed as below:
Do you mean that you compiled pyexiv2 from a clean checkout, or did you just re-install it, as the log pasted below suggests? If you didn’t, then you should make sure you re-compile pyexiv2 against the freshly installed libexiv2 0.20-1. In pyexiv2’s branch, do the following: scons clean scons sudo scons install > user> sudo scons install > scons: Reading SConscript files ... > scons: done reading SConscript files. > scons: Building targets ... > Install file: "build/libexiv2python.so" as > "/usr/lib/python2.6/dist-packages/libexiv2python.so" > Install file: "src/pyexiv2/__init__.py" as > "/usr/lib/python2.6/dist-packages/pyexiv2/__init__.py" > Install file: "src/pyexiv2/exif.py" as > "/usr/lib/python2.6/dist-packages/pyexiv2/exif.py" > Install file: "src/pyexiv2/iptc.py" as > "/usr/lib/python2.6/dist-packages/pyexiv2/iptc.py" > Install file: "src/pyexiv2/metadata.py" as > "/usr/lib/python2.6/dist-packages/pyexiv2/metadata.py" > Install file: "src/pyexiv2/preview.py" as > "/usr/lib/python2.6/dist-packages/pyexiv2/preview.py" > Install file: "src/pyexiv2/utils.py" as > "/usr/lib/python2.6/dist-packages/pyexiv2/utils.py" > Install file: "src/pyexiv2/xmp.py" as > "/usr/lib/python2.6/dist-packages/pyexiv2/xmp.py" > scons: done building targets. > user> python > Python 2.6.4 (r264:75706, Dec 7 2009, 18:45:15) > [GCC 4.4.1] on linux2 > Type "help", "copyright", "credits" or "license" for more information. >>>> import pyexiv2 > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "/usr/lib/python2.6/dist-packages/pyexiv2/__init__.py", line 60, > in <module> > import libexiv2python > ImportError: libexiv2.so.9: cannot open shared object file: No such file > or directory > > > In /usr/local/lib there are now these files: libexiv2.a libexiv2.la > libexiv2.so libexiv2.so.9 libexiv2.so.9.0.0 which I presume were > generated by the installation of exiv2 0.20 which was packaged as DEB > using checkinstall from the successfully compiled tar.gz downloaded from > the exiv2 site. > > I also placed a link to /usr/local/lib/libexiv2.so.9.0.0 in /user/lib This shouldn’t be needed. After installing exiv2, did you run ldconfig (as root) to update the shared library cache? > but this did not seem to have any effect. > > What path should libexiv2.so.9 be in? On my machine it’s in /usr/local/lib/, and it points to libexiv2.so.9.0.0. Let me know if that helps. Cheers, Olivier > -------------PGG--------------------- > > On Sun, 2010-09-05 at 13:44 +0200, Olivier Tilloy wrote: >> Hi Philip, >> >> On 2010-09-03, Philip Graham <[email protected]> wrote: >>> Hi guys, >>> The first time around after install and getting around the initial "mt" >>> error, running python in the terminal, I got the error "undefined >>> symbol: _ZNK5Exiv27ExifKey3keyEv" when trying to import the pyexiv2 >>> module the very first time. >> >> I have never observed this issue myself, but I know that Rob Healey has, >> and it seems that upgrading dependencies fixed the issue somehow. >> >>> This error is unintelligible to me as I am not familiar with c++ >>> programming. I am attracted to the Python bindings as I am attempting to >>> build an app for myself with pygtk to replace "f-spot" (see note below:). >>> Retracing my steps of preparation, I found that I had unintentionally >>> built and installed exiv2-0.20 being the most recent on that site. I >>> have now uninstalled exiv2-0.20 and installed a fresh build of exiv2-0.19. >>> After again running the scons and then the scons install against the >>> exiv2-0.19 version, then running python in the terminal, I still get the >>> error "undefined symbol: _ZN5Exiv25ErrorD1Ev" (slightly different) when >>> trying to import the pyexiv2 module. >> >> From the list of packages installed on your system, you have exiv2 0.19 >> (0.19-1), but libexiv2 0.18 (0.18.2-1). That’s suspicious. It may very >> well be that pyexiv2 was compiled against one version of libexiv2, and >> another version is loaded when trying to import pyexiv2, causing the error. >> >> I would try to completely uninstall all version of libexiv2 (including >> those compiled and installed locally, e.g. in /usr/local/), install >> either 0.19 or 0.20 (either should work just fine), and retry compiling >> pyexiv2. Note that the latest version is available in >> pyexiv2-developers’ PPA at >> https://launchpad.net/~pyexiv2-developers/+archive/ppa (for Lucid and >> Maverick). >> >>> Are there some rogue files left over from the previous install? How do I >>> uninstall all of pyexiv2 any version and then re-install? Is it just a >>> matter of deleting the pyexiv directory and the shared object file >>> libexiv2python.so in /usr/lib/python2.6/dist-packages/...? >> >> Yes, that should be enough to completely uninstall pyexiv2 from your >> system. The build log you attached lists all the files being installed, >> and there’s no additional magic involved. Note that you can install >> pyexiv2 locally (for the current user only, and without the need for >> admin privileges): `scons install --user`. >> >>> I have included my scons build log, the error text when in Python, >>> details of the packages installed on my system, summary of my system. >> >> I hope this helps, please let us know if it does solve the issue, and >> don’t hesitate to ask here for any question related to building/using >> pyexiv2. >> >>> Background note: >>> I am digitising a legacy collection of 10,000 Kodachrome_25 35mm >>> transparencies with original dates that are meaningless when displayed >>> inside a modern app like "f-spot" or "digicam". I wish to have the >>> option of displaying the thumbnails and previews in filename order as >>> this is how they have been named and saved when manually scanned in high >>> definition raw mode. The date of creation when scanned is meaningless in >>> the timelines as used in apps receiving downloads from digital cameras. >>> But I was discouraged when I looked at the C# code in "f-spot" as to >>> what to change to create the filename thumbnail display to govern an >>> order of display. In the scans I embed full descriptions of subject >>> matter along with the copyright and date definitions using the power of >>> EXIF tagging. Presently I use the perl-based 'ExifTool' on the command >>> line, but I would really like to do this under Python hence my interest >>> in in your excellent pyexiv2. >> >> That should be pretty straightforward to achieve with pyexiv2. >> As an anecdote, I started this project because I wanted to fix the >> DateTime tags in pictures that either didn’t have one or that had a >> incorrect one because the photographer couldn’t be bothered setting the >> date/time on his camera correctly… >> >>> I do not understand the obsession with timelines in the current crop of >>> digital photo apps. Surely there are enough of the large number of >>> colour transparencies being scanned in to warrant the option of >>> filename-based displays in suitable display-management apps? >> >> Those apps are as good as what their authors want them to do… And it >> seems that in this field every single person has a different opinion on >> the best way of organizing their pictures collection. I myself haven’t >> found the perfect application to suit my needs… >> >>> Greetings from the newbie >>> >>> -PGG- >> >> Cheers, >> >> Olivier _______________________________________________ Mailing list: https://launchpad.net/~pyexiv2-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~pyexiv2-developers More help : https://help.launchpad.net/ListHelp

