@mattn_jpããã"Growl For Linux"ãä½ã£ã¦ããã¾ãã¦ã
Big Sky :: Growl For Linuxを作ってます。
GitHub - mattn/growl-for-linux: Growl Implementation For Linux #growl4linux
mattn/growl-for-linux @ GitHub
Macã§ããåãããã¨ã¯åºæ¥ãã®ããªâ¦ï¼ã¨æã£ã¦è©¦ãã¦ã¿ãã
ã¾ãã¯git cloneãã¦ãã¦ãREADMEã«æ¸ããã¦ããéãautogen.shãå®è¡ãã¦ã¿ãã
$ git clone git://github.com/mattn/growl-for-linux.git $ cd growl-for-linux $ ./autogen.sh ./autogen.sh: line 3: libtoolize: command not found aclocal: couldn't open directory `m4': No such file or directory autoreconf: aclocal failed with exit status: 1
ãããªãã³ãã³ããè¦ã¤ãããªããããªãlibtoolã¨ããã®ãå
¥ããã¨ä½¿ããããã«ãªããããªã®ã§ã¤ã³ã¹ãã¼ã«ãã¦ã¿ãã
以ä¸ã$HOME/workãã¯ã¼ãã³ã°ãã£ã¬ã¯ããªã¨ãã¦è«¸ã
ãã¦ã³ãã¼ãããããã«ããããããã®ã«ä½¿ããã¤ã³ã¹ãã¼ã«å
ã¯ãã¹ã¦$HOME/local以ä¸ã¨ããã
$ cd $ mkdir work $ cd work
$ curl -O ftp://ftp.gnu.org/gnu/libtool/libtool-2.2.8.tar.gz $ tar zxvf libtool-2.2.8.tar.gz $ cd libtool-2.2.8 $ ./configure --prefix=$HOME/local $ make $ make install
å ¥ã£ããåææ¦
$ export PATH=$HOME/local/bin:$PATH $ cd $HOME/git/growl-for-linux $ ./autogen.sh libtoolize: putting auxiliary files in `.'. libtoolize: copying file `./config.guess' libtoolize: copying file `./config.sub' libtoolize: copying file `./install-sh' libtoolize: copying file `./ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'. libtoolize: copying file `m4/libtool.m4' libtoolize: copying file `m4/ltoptions.m4' libtoolize: copying file `m4/ltsugar.m4' libtoolize: copying file `m4/ltversion.m4' libtoolize: copying file `m4/lt~obsolete.m4' configure.ac:1: error: Autoconf version 2.65 or higher is required configure.ac:1: the top level autom4te: /usr/bin/gm4 failed with exit status: 63 aclocal: /usr/bin/autom4te failed with exit status: 63 autoreconf: aclocal failed with exit status: 63
ä»åº¦ã¯Autoconfã®ãã¼ã¸ã§ã³ãä½ãããã¨æããã
$ autoconf --version autoconf (GNU Autoconf) 2.61 Copyright (C) 2006 Free Software Foundation, Inc. This is free software. You may redistribute copies of it under the terms of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the extent permitted by law. Written by David J. MacKenzie and Akim Demaille.
ãããæ°ããã®ãã¤ã³ã¹ãã¼ã«ããã
$ cd $HOME/work $ curl -O ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.68.tar.gz $ tar zxvf autoconf-2.68.tar.gz $ cd autoconf-2.68 $ ./configure --prefix=$HOME/local $ make $ make install
åã ææ¦ã
$ cd $HOME/git/growl-for-linux $ ./autogen.sh
ã¨ã©ã¼ç¡ãçµäºãconfigureãã¡ã¤ã«ãä½ããããæ©éconfigureãå®è¡ãã¦ã¿ãã¨â¦
$ ./configure --prefix=$HOME/local ... ./configure: line 10680: syntax error near unexpected token `GLIB2,' ./configure: line 10680: `PKG_CHECK_MODULES(GLIB2, glib-2.0)'
ã°ã°ã£ã¦ã¿ãã¨ãã©ãããã¯ãå®ç¾©ã足ããªãã¨ãããã¨ããããåå ã¯automakeã«ãããããªã®ã§ããããæ°ããã¤ã³ã¹ãã¼ã«ããã
$ cd $HOME/work $ curl -O ftp://ftp.gnu.org/gnu/automake/automake-1.11.tar.gz $ tar zxvf automake-1.11.tar.gz $ cd automake-1.11 $ ./configure --prefix=$HOME/local $ make $ make install
ããã§ããä¸åº¦autogen.shããããç´ãã
$ cd $HOME/git/growl-for-linux $ ./autogen.sh $ ./configure --prefix=$HOME/local ... checking for GLIB2... no configure: error: Package requirements (glib-2.0) were not met: No package 'glib-2.0' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GLIB2_CFLAGS and GLIB2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
ä»åº¦ã¯æ®éã«glib-2.0ã足ããªããã¨ããææã«ãè¨ãããéãã«å ¥ãã¦ããã
$ cd $HOME/work $ curl -O ftp://ftp.gtk.org/pub/glib/2.29/glib-2.29.2.tar.gz $ tar zxvf glib-2.29.2.tar.gz $ cd glib-2.29.2 $ ./configure --prefix=$HOME/local ... configure: error: *** You must have either have gettext support in your C library, or use the *** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html
â¦glib-2.0ãå ¥ããããã«ã¯gettextãå¿ è¦ãã¨ãã
$ cd .. $ curl -O ftp://ftp.gnu.org/gnu/gettext/gettext-0.18.1.tar.gz $ tar zxvf gettext-0.18.1.tar.gz $ cd gettext-0.18.1 $ ./configure --prefix=$HOME/local $ make $ make install $ make -C gettext-tools/intl install $ make -C gettext-tools/src install
ã¡ãã£ã¨ããåãããªããã©glib-2.0ãå ¥ããéã«ã¯gettext-tools/intlã¨ãgettext-tools/src以ä¸ã®ã³ãã³ãã¨ããå¿ è¦ï¼ãªããã ã£ãã®ã§å ¥ãã¦ãããåææ¦
$ cd ../glib-2.29.2 $ CFLAGS="-I$HOME/local/include -L$HOME/local/lib" ./configure --prefix=$HOME/local $ make ... gconvert.c:65:2: error: #error GNU libiconv not in use but included iconv.h is from libiconv make[4]: *** [gconvert.lo] Error 1 make[3]: *** [all-recursive] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
â¦ä»åº¦ã¯libiconvã足ããªããã¨
$ cd $HOME/work $ curl -O ftp://ftp.gnu.org/gnu/libiconv/libiconv-1.13.tar.gz $ tar zxvf libiconv-1.13.tar.gz $ cd libiconv-1.13 $ ./configure --prefix=$HOME/local $ make $ make install
ä»åº¦ããã©ãã
$ cd ../glib-2.29.2 $ CFLAGS="-I$HOME/local/include -L$HOME/local/lib" ./configure --prefix=$HOME/local $ make $ make install
å ¥ã£ããåã³growl-for-linuxã¸
$ cd $HOME/git/growl-for-linux $ ./configure --prefix=$HOME/local ... checking for GLIB2... yes checking for GTK2... no configure: error: Package requirements (gtk+-2.0) were not met: No package 'gtk+-2.0' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GTK2_CFLAGS and GTK2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
glib-2.0ã¯ãã¹ãããä»åº¦ã¯gtk+-2.0ã足ããªãã3.1.2ï¼ã¨ããããã¿ããã ãã©ã¨ãããã2.24.4ãè¯ããã
$ cd $HOME/work $ curl -O ftp://ftp.gtk.org/pub/gtk/2.24/gtk+-2.24.4.tar.gz $ tar zxvf gtk+-2.24.4.tar.gz $ cd gtk+-2.24.4 $ ./configure --prefix=$HOME/local configure: error: Package requirements (glib-2.0 >= 2.28.0 atk >= 1.30 pango >= 1.24.0 cairo >= 1.10.0 cairo-gobject >= 1.10.0 gdk-pixbuf-2.0 >= 2.22.0) were not met: No package 'atk' found No package 'pango' found No package 'cairo' found No package 'cairo-gobject' found No package 'gdk-pixbuf-2.0' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables BASE_DEPENDENCIES_CFLAGS and BASE_DEPENDENCIES_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
ãããããè²ã 足ããªãâ¦é çªã«ããã¦ãã
$ cd .. $ curl -O ftp://ftp.gnome.org/pub/gnome/sources/atk/2.0/atk-2.0.0.tar.gz $ tar zxvf atk-2.0.0.tar.gz $ cd atk-2.0.0 $ ./configure --prefix=$HOME/local $ make $ make install
$ cd .. $ curl -O ftp://ftp.gnome.org/pub/gnome/sources/pango/1.28/pango-1.28.4.tar.gz $ tar zxvf pango-1.28.4.tar.gz $ cd pango-1.28.4 $ ./configure --prefix=$HOME/local $ make $ make install
$ cd .. $ curl -O http://cairographics.org/releases/cairo-1.10.2.tar.gz $ tar zxvf cairo-1.10.2.tar.gz $ cd cairo-1.10.2 $ ./configure --prefix=$HOME/local ... checking for cairo's PNG functions feature... configure: WARNING: Could not find libpng in the pkg-config search path checking whether cairo's PNG functions feature could be enabled... no configure: error: recommended PNG functions feature could not be enabled
ãããµããlibpngã¨ãªã
$ cd .. $ curl -O ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.5.2.tar.gz $ tar zxvf libpng-1.5.2.tar.gz $ cd libpng-1.5.2 $ ./configure --prefix=$HOME/local $ make $ make install
åãã£ã¬ã³ã¸
$ cd ../cairo-1.10.2 $ ./configure --prefix=$HOME/local ... checking for cairo's image surface backend feature... checking for pixman... no no checking whether cairo's image surface backend feature could be enabled... no (requires pixman-1 >= 0.18.4 http://cairographics.org/releases/) configure: error: mandatory image surface backend feature could not be enabled
ä»åº¦ã¯pixmanã¨ãã
$ cd .. $ curl -O http://cairographics.org/releases/pixman-0.20.2.tar.gz $ tar zxvf pixman-0.20.2.tar.gz $ cd pixman-0.20.2 $ ./configure --prefix=$HOME/local $ make $ make install
ã§å ¥ã£ã
$ cd ../cairo-1.10.2 $ ./configure --prefix=$HOME/local $ make $ make install
次
$ cd .. $ curl -O ftp://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.23/gdk-pixbuf-2.23.3.tar.gz $ tar zxvf gdk-pixbuf-2.23.3.tar.gz $ cd gdk-pixbuf-2.23.3 $ ./configure --prefix=$HOME/local ... configure: WARNING: *** TIFF loader will not be built (TIFF library not found) *** configure: error: *** Checks for TIFF loader failed. You can build without it by passing *** --without-libtiff to configure but some programs using GTK+ may *** not work properly
ä»åº¦ã¯libtiff...
$ cd .. $ curl -O ftp://ftp.remotesensing.org/pub/libtiff/tiff-3.9.5.tar.gz $ tar zxvf tiff-3.9.5.tar.gz $ cd tiff-3.9.5 $ ./configure --prefix=$HOME/local $ make $ make install $ cd ../gdk-pixbuf-2.23.3 $ CFLAGS="-I$HOME/local/include -L$HOME/local/lib" ./configure --prefix=$HOME/local $ make $ make install
å ¥ã£ããããã§gtkã©ããï¼
$ cd ../gtk+-2.24.4 $ ./configure --prefix=$HOME/local ... configure: error: *** fontconfig (http://www.fontconfig.org) is required by the X11 backend.
fontconfigãå ¥ãããã¨â¦X11ã使ããªããã°è¦ããªãâ¦ï¼ ããåãããªãã®ã§ã¨ããããå ¥ãã
$ cd .. $ curl -O http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.8.0.tar.gz $ tar zxvf fontconfig-2.8.0.tar.gz $ cd fontconfig-2.8.0 $ ./configure --prefix=$HOME/local $ make $ make install
ã§åææ¦
$ cd ../gtk+-2.24.4 $ ./configure --prefix=$HOME/local ... checking Pango flags... configure: error: *** Pango not found. Pango built with Cairo support is required *** to build GTK+. See http://www.pango.org for Pango information.
ã©ãããcairoå ¥ããå¾ã«pangoãå ¥ããã¹ãã ã£ããããããã«ãããªããã¦ã¿ãã
$ cd ../pango-1.28.4 $ make uninstall $ ./configure --prefix=$HOME/local ... configuration: backends: Cairo X $ make $ make install
ãkã
$ cd ../gtk+-2.24.4 $ ./configure --prefix=$HOME/local $ make ...
ãªããä¸æããããªããconfigureãä¸æããã£ã¦ããªãï¼ pangoft2ãç¡ãã¨ãã¡ãã»ã¼ã¸ã§ã¦ããfreetypeãå ¥ãç´ãã¦pangoãããä¸åº¦ã
$ cd .. $ curl -O ftp://mirror.ovh.net/gentoo-distfiles/distfiles/freetype-2.4.4.tar.bz2 $ tar jxvf freetype-2.4.4.tar.bz2 $ ./configure --prefix=$HOME/local $ make $ make install $ cd ../pango-1.28.4 $ make uninstall $ ./configure --prefix=$HOME/local ... configuration: backends: Cairo FreeType X $ make $ make install
ããã§å¤§ä¸å¤«ãã
$ cd ../gtk+-2.24.4 $ ./configure --prefix=$HOME/local $ make $ make install
ããããgtk+ãå ¥ã£ããä¹ ã ã«growl-for-linuxã«æ»ãã
$ cd $HOME/git/growl-for-linux $ ./configure --prefix=$HOME/local ... checking for GLIB2... yes checking for GTK2... yes checking for LIBCURL... no configure: error: Package requirements (libcurl) were not met: No package 'libcurl' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBCURL_CFLAGS and LIBCURL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
次ã¯libcurlã
$ cd $HOME/work $ curl -O http://curl.haxx.se/download/curl-7.21.6.tar.gz $ tar zxvf curl-7.21.6.tar.gz $ cd curl-7.21.6 $ ./configure --prefix=$HOME/local $ make $ make install
ããããä¸åº¦
$ cd $HOME/git/growl-for-linux $ ./configure --prefix=$HOME/local ... checking for GLIB2... yes checking for GTK2... yes checking for LIBCURL... yes checking for LIBXML2... no configure: error: Package requirements (libxml-2.0) were not met: No package 'libxml-2.0' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBXML2_CFLAGS and LIBXML2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
libxml2ãå ¥ããï¼
$ cd $HOME/work $ curl -O ftp://xmlsoft.org/libxml2/libxml2-2.7.8.tar.gz $ tar zxvf libxml2-2.7.8.tar.gz $ cd libxml2-2.7.8 $ ./configure --prefix=$HOME/local $ make $ make install
ãã次ã¯ãªãã
$ cd $HOME/git/growl-for-linux $ ./configure --prefix=$HOME/local ... checking for GLIB2... yes checking for GTK2... yes checking for LIBCURL... yes checking for LIBXML2... yes checking for OPENSSL... no configure: error: Package requirements (openssl) were not met: No package 'openssl' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables OPENSSL_CFLAGS and OPENSSL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
opensslã ããããã°ãã®ã¸ãã¯READMEã«ãrequireã£ã¦æ¸ãã¦ãã£ããªâ¦
$ cd $HOME/work $ curl -O http://www.openssl.org/source/openssl-1.0.0d.tar.gz $ tar zxvf openssl-1.0.0d.tar.gz $ cd openssl-1.0.0d $ ./Configure darwin64-x86_64-cc --prefix=$HOME/local $ make $ make install
ã¨ãªãã¨æ¬¡ã¯
$ cd $HOME/git/growl-for-linux $ ./configure --prefix=$HOME/local ... checking for GLIB2... yes checking for GTK2... yes checking for LIBCURL... yes checking for LIBXML2... yes checking for OPENSSL... yes checking for SQLITE3... no configure: error: Package requirements (sqlite3) were not met: No package 'sqlite3' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables SQLITE3_CFLAGS and SQLITE3_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
ã§ããã
$ cd $HOME/work $ curl -O http://www.sqlite.org/sqlite-autoconf-3070602.tar.gz $ tar zxvf sqlite-autoconf-3070602.tar.gz $ cd sqlite-autoconf-3070602 $ ./configure --prefix=$HOME/local $ make $ make install
ã ãã¶æ £ãã¦ãã
$ cd $HOME/git/growl-for-linux $ ./configure --prefix=$HOME/local ... checking for GLIB2... yes checking for GTK2... yes checking for LIBCURL... yes checking for LIBXML2... yes checking for OPENSSL... yes checking for SQLITE3... yes checking for DBUSGLIB1... no configure: error: Package requirements (dbus-glib-1) were not met: No package 'dbus-glib-1' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables DBUSGLIB1_CFLAGS and DBUSGLIB1_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
ä½ãããåãããªããã©ã¨ã«ããå ¥ãã
$ curl -O http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.92.tar.gz $ tar zxvf dbus-glib-0.92.tar.gz $ cd dbus-glib-0.92 $ CFLAGS="-I$HOME/local/include -L$HOME/local/lib" ./configure --prefix=$HOME/local ... checking for DBUS... no configure: error: DBus development libraries not found
å ã«DBusãå ¥ããªãã¨ãããªã
$ curl -O http://dbus.freedesktop.org/releases/dbus/dbus-1.4.8.tar.gz $ tar zxvf dbus-1.4.8.tar.gz $ cd dbus-1.4.8 $ ./configure --prefix=$HOME/local --disable-launchd $ make $ make install
launchdãããã¨root権éãªãã¨install失æããã®ã§disableã§ãåææ¦
$ cd ../dbus-glib-0.92 $ CFLAGS="-I$HOME/local/include -L$HOME/local/lib" ./configure --prefix=$HOME/local $ make $ make install
å ¥ã£ããããã§ã¤ãã«growl-for-linuxã®configureãåºæ¥ãããã«ãªãããã ã
$ cd $HOME/git/growl-for-linux $ ./configure --prefix=$HOME/local
ã§ãmake & install
$ make $ make install ... desktop-file-install --dir=//Users/hoge/local/share/applications data/gol.desktop make[2]: desktop-file-install: No such file or directory make[2]: *** [install-data-local] Error 1 make[1]: *** [install-am] Error 2 make: *** [install-recursive] Error 1
makeã¯æåãããinstallããéã«desktop-file-installãç¡ããã¨ã³ã±ãã
$ cd $HOME/work $ curl -O http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.18.tar.bz2 $ tar jxvf desktop-file-utils-0.18.tar.bz2 $ cd desktop-file-utils-0.18 $ CFLAGS="-I$HOME/local/include -L$HOME/local/lib" ./configure --prefix=$HOME/local $ make $ make install
ããä¸åº¦install
$ cd $HOME/git/growl-for-linux $ make install
æåï¼
試ãã«å®è¡ãã¦ã¿ãã
$ cd $ gol (process:83157): Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale. (gol:83157): Gtk-WARNING **: cannot open display:
ããï¼Localeï¼
$ LC_ALL="ja_JP.UTF-8" gol (gol:83158): Gtk-WARNING **: cannot open display:
ãã¼ã ã³ãã³ãå®è¡ã¾ã§ã¯åºæ¥ããã©Gtkãä¸æãåãã¦ããªãâ¦ï¼
GTK+ Download: Mac OS Xã¨ããã®ãããã¿ããã ããããããã®ã使ãã¹ããªã®ãããããªãã(ç´ ç´ã«Macã®Growlã使ãã¹ããªãã ãããã©)
ã¨ããããä»æ¥ã¯ããã¾ã§ã