ubuntu 20
[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 receive a failure on mkmf-gnome2 lib loading indicating missing
46   mkmf-gnome; "sudo gem install gtk3" workarounds this problem
47
48 - if that fails on missing GTK header file (gtk.h), you can try to
49   inject cflags with such a command:
50
51  # perl -pi -e 's/(CXXFLAGS.*)/$1 `pkg-config --cflags gtk+-2.0`/' Makefile
52  # make
53
54 - if that fails on redefinition of struct re_registers and you have
55   ruby-2.3, you can try to workaround with:
56
57  # cp /usr/include/ruby-2.3.0/ruby.h .
58  # perl -pi -e 's/.*HAVE_RUBY_ENCODING_H.*//' ruby.h
59  # make
60
61 - if that fails on redefinition of struct re_registers and you have
62   ruby-2.5, you can try to workaround with:
63
64  # mkdir exiv2
65  # cp -a /usr/include/exiv2/* exiv2
66  # perl -pi -e 's/#define EXV_HAVE_REGEX 1//' exiv2/exv_conf.h
67  # make
68
69 And type this as superuser:
70
71  $ ruby setup.rb install
72  $ cd ext
73  $ make install
74
75 If you want to package as normal user to another root:
76
77  $ ruby_archdir=`ruby -rrbconfig -e "puts Config::CONFIG['sitearchdir']"`
78  $ libdir=`ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']"`
79  $ rm -rf ${buildroot}
80  $ ruby setup.rb install --prefix=${buildroot}
81  $ cd ext
82  $ make install DESTDIR=${buildroot} libdir=${buildroot}${libdir} archdir=${buildroot}${ruby_archdir}
83
84 Note: it will install things in traditional directories plus
85 ruby_archdir and ruby_libdir.
86 Change FPATH in ${buildroot}/local/lib/site_ruby/1.8/booh/config.rb to suit your $buildroot
87
88 Find desktop stuff (.desktop entry and icons) for your menu/packaging system
89 in the destkop/ subdir.