workaround exif crash
[booh] / INSTALL
diff --git a/INSTALL b/INSTALL
index ebd874a6ee9b8567e9db2d174ba21b4995c4c1da..6066c8f9fa89c8cd9e9921baaeff56e511792bc7 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,12 +1,16 @@
 This software requires for compiling:
 
-- gtk >= 2.6
+- gtk >= 2.8
 - devel of gtk
 - ruby
 - ruby-gettext >= 0.8.0
-- ruby-gtk2 >= 0.12
+- ruby-gtk2 >= 0.12; notice:
+  - ruby-gtk2 0.15.0, 0.17.0 and 0.18.1 should be avoided, they are known
+    problematic versions
+  - with ruby >= 1.8.7, ruby-gtk2 >= 0.18.0 should be used, otherwise
+    crashes will occur
 - devel of ruby-gnome2 (mkmf-gnome2.rb, rbgobject.h)
-- devel of libexif
+- devel of libexiv2 (and thus, g++)
 
     Note: theoretically, gtk and ruby-gtk2 are not needed if
     you're gonna use only the backend script (the only lost
@@ -16,13 +20,15 @@ This software requires for compiling:
 
 And for runtime:
 
-- convert (from ImageMagick)
-
-For runtime, not strictly needed but nice to have:
-
-- transcode and mencoder (not strictly needed if you won't manipulate any video)
-- exif (to be able to show all EXIF data of a picture)
-
+- convert (from ImageMagick) - for photos thumbnails generation
+- identify (from ImageMagick) - for photos captions
+- exif - to show full formatted EXIF information from photos
+- mplayer - for videos thumbnails generation
+- ffmpeg - for generating .mp4 videos
+- gimp - for photos editing (may not be a hard require)
+- mozilla-firefox - for showing albums in browser, and going on the
+  web for tutorials (may not be a hard require)
+- lftp - for uploading web-albums
 
         Compiling and Installing Quick Start
 
@@ -31,7 +37,33 @@ Type this as normal user:
  # ruby setup.rb config
  # ruby setup.rb setup
  # cd ext
- # ruby extconf.rb
+ # ruby extconf.rb && make
+
+*** Troubleshooting:
+
+- on ubuntu 20, I received a failure on mkmf-gnome2 lib loading
+  indicating missing mkmf-gnome, and "sudo gem install gtk3"
+  workarounded this problem
+
+- if that fails on missing GTK header file (gtk.h), you can try to
+  inject cflags with such a command:
+
+ # perl -pi -e 's/(CXXFLAGS.*)/$1 `pkg-config --cflags gtk+-2.0`/' Makefile
+ # make
+
+- if that fails on redefinition of struct re_registers and you have
+  ruby-2.3, you can try to workaround with:
+
+ # cp /usr/include/ruby-2.3.0/ruby.h .
+ # perl -pi -e 's/.*HAVE_RUBY_ENCODING_H.*//' ruby.h
+ # make
+
+- if that fails on redefinition of struct re_registers and you have
+  ruby-2.5, you can try to workaround with:
+
+ # mkdir exiv2
+ # cp -a /usr/include/exiv2/* exiv2
+ # perl -pi -e 's/#define EXV_HAVE_REGEX 1//' exiv2/exv_conf.h
  # make
 
 And type this as superuser:
@@ -41,16 +73,17 @@ And type this as superuser:
  $ make install
 
 If you want to package as normal user to another root:
- $ rm -rf %buildroot
- $ ruby setup.rb install --prefix=%buildroot
- $ cd ext
- $ make install DESTDIR=%buildroot libdir=%buildroot%{_libdir} archdir=%buildroot%ruby_archdir
 
- ruby_archdir being the result of: ruby -rrbconfig -e "puts Config::CONFIG['sitearchdir']"
+ $ ruby_archdir=`ruby -rrbconfig -e "puts Config::CONFIG['sitearchdir']"`
+ $ libdir=`ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']"`
+ $ rm -rf ${buildroot}
+ $ ruby setup.rb install --prefix=${buildroot}
+ $ cd ext
+ $ make install DESTDIR=${buildroot} libdir=${buildroot}${libdir} archdir=${buildroot}${ruby_archdir}
 
 Note: it will install things in traditional directories plus
-ruby_archdir and ruby_libdir, the latter one being the result of
-ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']"
-
+ruby_archdir and ruby_libdir.
+Change FPATH in ${buildroot}/local/lib/site_ruby/1.8/booh/config.rb to suit your $buildroot
 
-Find icons for you menu system in the icons/ subdir.
+Find desktop stuff (.desktop entry and icons) for your menu/packaging system
+in the destkop/ subdir.