fix returns in procs
[booh] / INSTALL
1 This software requires for compiling:
2
3 - gtk >= 2.8
4 - devel of gtk
5 - ruby
6 - ruby-gettext >= 0.8.0
7 - ruby-gtk2 >= 0.12; notice:
8   - ruby-gtk2 0.15.0, 0.17.0 and 0.18.1 should be avoided, they are known
9     problematic versions
10   - with ruby >= 1.8.7, ruby-gtk2 >= 0.18.0 should be used, otherwise
11     crashes will occur
12 - devel of ruby-gnome2 (mkmf-gnome2.rb, rbgobject.h)
13 - devel of libexiv2 (and thus, g++)
14
15     Note: theoretically, gtk and ruby-gtk2 are not needed if
16     you're gonna use only the backend script (the only lost
17     functionality is white balance correction which uses
18     gdk_pixbuf). However, the GUI is an important part of this
19     software and its use is encouraged (it helps a lot).
20
21 And for runtime:
22
23 - convert (from ImageMagick) - for photos thumbnails generation
24 - identify (from ImageMagick) - for photos captions
25 - exif - to show full formatted EXIF information from photos
26 - mplayer - for videos thumbnails generation
27 - ffmpeg (with mp3lame compiled in) - for generating embedded
28   .flv videos, to use with flowplayer (may not be a hard require)
29 - gimp - for photos editing (may not be a hard require)
30 - mozilla-firefox - for showing albums in browser, and going on the
31   web for tutorials (may not be a hard require)
32 - lftp - for uploading web-albums
33
34         Compiling and Installing Quick Start
35
36 Type this as normal user:
37
38  # ruby setup.rb config
39  # ruby setup.rb setup
40  # cd ext
41  # ruby extconf.rb && make
42
43 *** Troubleshooting:
44
45 - on ubuntu 20, I received a failure on mkmf-gnome2 lib loading
46   indicating missing mkmf-gnome, and "sudo gem install gtk3"
47   workarounded this problem
48
49 - on one ubuntu 20, I received a failure compiling the extension with
50   Exiv2::AnyError not found; adding "#include <exiv2/exif.hpp>" in
51   line 27 of ext/rbbooh.cc workarounded this problem
52
53 - if that fails on missing GTK header file (gtk.h), you can try to
54   inject cflags with such a command:
55
56  # perl -pi -e 's/(CXXFLAGS.*)/$1 `pkg-config --cflags gtk+-2.0`/' Makefile
57  # make
58
59 - if that fails on redefinition of struct re_registers and you have
60   ruby-2.3, you can try to workaround with:
61
62  # cp /usr/include/ruby-2.3.0/ruby.h .
63  # perl -pi -e 's/.*HAVE_RUBY_ENCODING_H.*//' ruby.h
64  # make
65
66 - if that fails on redefinition of struct re_registers and you have
67   ruby-2.5, you can try to workaround with:
68
69  # mkdir exiv2
70  # cp -a /usr/include/exiv2/* exiv2
71  # perl -pi -e 's/#define EXV_HAVE_REGEX 1//' exiv2/exv_conf.h
72  # make
73
74 And type this as superuser:
75
76  $ ruby setup.rb install
77  $ cd ext
78  $ make install
79
80 If you want to package as normal user to another root:
81
82  $ ruby_archdir=`ruby -rrbconfig -e "puts Config::CONFIG['sitearchdir']"`
83  $ libdir=`ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']"`
84  $ rm -rf ${buildroot}
85  $ ruby setup.rb install --prefix=${buildroot}
86  $ cd ext
87  $ make install DESTDIR=${buildroot} libdir=${buildroot}${libdir} archdir=${buildroot}${ruby_archdir}
88
89 Note: it will install things in traditional directories plus
90 ruby_archdir and ruby_libdir.
91 Change FPATH in ${buildroot}/local/lib/site_ruby/1.8/booh/config.rb to suit your $buildroot
92
93 Find desktop stuff (.desktop entry and icons) for your menu/packaging system
94 in the destkop/ subdir.