Forum: Ruby ruby-exiv2 (exif handling)

143c67bc66364c543e85bc907717a8ab?d=identicon&s=25 Max Lapshin (max-lapshin)
on 2006-09-19 23:29
(Received via mailing list)
Hello. I want to introduce binding from ruby to exiv2 (http://
www.exiv2.org)  library.
I know, that there are some other exif manipulation libraries, but
choice in this situation is good.

Currently, it have abilities to read exif tags and write them back to
file.

Project is already on rubyforge and possible to install via
gem install ruby-exiv2

Examples of usage currently are only in tests, however, I will fill
README on request
B5e329ffa0cc78efbfc7ae2d084c149f?d=identicon&s=25 David Balmain (Guest)
on 2006-09-20 16:02
(Received via mailing list)
On 9/20/06, íÁËÓ ìÁÐÛÉÎ <max@maxidoors.ru> wrote:
>
> Examples of usage currently are only in tests, however, I will fill
> README on request

Hi íÁËÓ,
Nice to see someone working on this. I'm looking forward to having a
library that will read IPTC tags. Unfortunately I haven't done any C++
programming so I can't help much.

Anyway, I had a few problems installing. I'm on Ubuntu. gcc version
4.0.3. Firstly I had to remove the following lines from extconf.rb:

    $CPPFLAGS << " -Wall -I/usr/local/include/exiv2 "
    $LDFLAGS << " -lstdc++ -L/usr/local/lib "

Then I got this error:

g++ -fPIC -Wall -g -O2  -fPIC   -I. -I/usr/lib/ruby/1.8/i486-linux
-I/usr/lib/ruby/1.8/i486-linux -I.   -Wall -I/usr/include/exiv2  -c
exif.cpp
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_iterator.h:
In constructor '__gnu_cxx::__normal_iterator<_Iterator,
_Container>::__normal_iterator(const
__gnu_cxx::__normal_iterator<_Iter, _Container>&) [with _Iter = const
Exiv2::Exifdatum*, _Iterator = Exiv2::Exifdatum*, _Container =
std::vector<Exiv2::Exifdatum, std::allocator<Exiv2::Exifdatum> >]':
exif.cpp:86:   instantiated from here
/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_iterator.h:609:
error: invalid conversion from 'const Exiv2::Exifdatum* const' to
'Exiv2::Exifdatum*'

So I changed line 80 of exif.cpp from:

    Exiv2::ExifData::const_iterator pos = exifData.findKey(exifKey);

to:

    Exiv2::ExifData::iterator pos = exifData.findKey(exifKey);

That got me past there. Then I got the error:

    g++: '-b' must come at the start of the command line

So I swapped '-bundle' for '-shared' and removed '-undefined suppress'
as that wasn't working either. Finally I got it to compile. Now when I
try to load in IRB I get:

 irb(main):001:0> require 'exiv2'
LoadError: no such file to load -- intersys
        from
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require__'
        from
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require'
        from /usr/local/lib/site_ruby/1.8/rubygems.rb:182:in `activate'
        from /usr/local/lib/site_ruby/1.8/rubygems.rb:181:in `activate'
        from
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:26:in
`require'
        from (irb):1


I'm not sure how much help any of this is. I'm looking forward to this
library maturing. Keep up the great work! :-)

Cheers,
Dave
A1825256ab8a497edfbd07c40926a1e0?d=identicon&s=25 masao soseki (tom1922)
on 2013-11-06 12:28
Hello sir,

I would like to test this library.

However, I am getting this errors.

Do you know why?

 `require': no such file to load -- inline (LoadError)

It seems I do not have inline gem.

But, I do not know which one it is.

So, could you tell me what to install?
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.