Mandriva 2009
If you are using Mandriva 2009, you need install following mandatory packages:
- gcc-c++
- zip
- flex
- desktop-file-utils
- shared-mime-info
- libltdl3-devel
- zlib1-devel
- libxml2-devel
- libdbus-1-devel
- libnm_util-devel
- libstartup-notification-1-devel
- libgstreamer0.10-devel
- libgstreamer-plugins-base0.10-devel
- libxulrunner-devel (Mandatory for GTK version, optional for Qt version)
If you want to use GUI and sidebar based on GTK library, you need following packages:
- librsvg2-devel
- libcurl-devel
- libcairo-devel
- libgtk+2.0_0-devel
If you want to use GUI based on QT library, you need following packages:
- libqt4-devel
If you want to build source code checked out from svn trunk, you also need following packages:
- autoconf
- automake
- libtool
You can use urpmi to install these packages, for example:
#urpmi gcc-c++ zip flex desktop-file-utils shared-mime-info
libltdl3-devel zlib1-devel libxml2-devel libdbus-1-devel libnm_util-devel
libstartup-notification-1-devel libgstreamer0.10-devel libgstreamer-plugins-base0.10-devel
libxulrunner-devel librsvg2-devel libcurl-devel libcairo-devel libgtk+2.0_0-devel
libqt4-devel autoconf automake libtool
Prepare build system
There are two different build systems can be used to build this project, autoconf/automake and cmake. Though cmake build system has been included in official source package since 0.10.3, it's still in experimental stage. So autoconf/automake is still the best choice for most users.
If you want to try out cmake build system, you need install cmake version 2.4 or above first. Most distributions ship cmake package nowadays.
If you want to build source code checked out from svn trunk, you need run autotools/bootstrap.sh script before starting build. For example:
$ svn checkout http://google-gadgets-for-linux.googlecode.com/svn/trunk/ ggl-trunk
$ cd ggl-trunk
$ sh autotools/bootstrap.sh
Build
autoconf/automake based build system is highly recommended for normal users. cmake build system usually uses less time to build this project, but may still contain some problems.
Both build systems support out-of-tree build, that is, the build task can be done in a separated directory instead of inside the source code directory. Then you can remove all temporary files generated by build system easily without touching the source files. This approach is highly recommended.
Build with autoconf/automake
Invoke configure script
You need run configure script to generate makefile before building. For example, you can use following commands to perform an out-of-tree build:
Prepare source code:
$ tar jxf google-gadgets-for-linux-0.10.3.tar.bz2
$ cd google-gadgets-for-linux-0.10.3
Or, if you want to use he bleeding-edge version:
$ svn checkout http://google-gadgets-for-linux.googlecode.com/svn/trunk/ ggl-trunk
$ cd ggl-trunk
$ sh autotools/bootstrap.sh
Run configure script out-of-tree:
$ mkdir build
$ cd build
$ ../configure --prefix=/usr
It might take one or two minutes to run configure script, if anything goes well, a configure summary will be displayed, such as:
Build options:
Version "0.10.3"
Install prefix /usr
Install included libltdl no
Build shared libs yes
Buildstatic libs yes
Enable debug no
Host type linux
OEM brand
Libraries:
GTK SVG Support yes
Build libggadget-gtk yes
Build libggadget-qt yes
Build libggadget-dbus yes
Build libggadget-npapi yes
Extensions:
Build dbus-script-class yes
Build gtk-edit-element yes
Build gtkmoz-browser-element yes
Build qtwebkit-browser no
Build gst-audio-framework yes
Build gst-video-element yes
Build gtk-system-framework yes
Build gtk-flash-element yes
Build qt-system-framework yes
Build linux-system-framework yes
Build smjs-script-runtime yes
Build qt-script-runtime no
Build curl-xml-http-request yes
Build qt-xml-http-request yes
Build libxml2-xml-parser yes
Hosts:
Build gtk host yes
Build qt host yes
The result might be different on different system. If some dependency libraries are missing, corresponding build option might be set to "no". For example, above result shows that my QT library may be too old to support qtwebkit-browser and qt-script-runtime extensions.
Among above results, The most important are "Build gtk host" and "Build qt host", if non of these options are "yes", then means some mandatory dependent packages might be missing. You need at least one host to be built.
The "--prefix" parameter of configure script controls the target directory where you want to install the project. Usually "/usr" is the best choice for normal users. However, default value is "/usr/local", and on some systems, it might not work properly. So "--prefix=/usr" is highly recommended for all users.
Besides "--prefix" parameter, there are some other parameters you might want to use:
- --enable-debug
It enables debug build, which will generate slower and larger binary but suitable for debugging. This option is not recommended for normal users.
- --with-browser-plugins-dir
Since 0.10.3, Google Gadgets for Linux support new APIs introduced in Google Desktop for Windows 5.8. The most important one is the "Full support for Flash", that is, a desktop gadget can play a .swf file from the internet directly. On Linux, it requires adobe flash browser plugin. This option specifies the directory where the flash plugin can be found. The directory might be different on different Linux distributions, for example:
- On Ubuntu/Debian: /usr/lib/xulrunner-addons/plugins
- On openSUSE: /usr/lib/browser-plugins (32bit system) or /usr/lib64/browser-plugins (64bit system)
- On Fedora: /usr/lib/mozilla/plugins (32bit system) or /usr/lib64/mozilla/plugins (64bit system)
- --libdir
Specifies the directory to install shared libraries. The default value is "${prefix}/lib". On 32bit Linux systems, this option can usually be omitted. But on 64bit Linux systems, the value are different on different systems. On Ubuntu/Debian, it has no difference between 32bit and 64bit systems. On openSUSE and Fedora, it shall be specified explicitly to ${prefix}/lib64, where ${prefix} is the directory specified by --prefix parameter. For example, if you are using openSUSE 11.0 64bit, then you need use following configure command:$ ../configure --prefix=/usr --libdir=/usr/lib64 --with-browser-plugins-dir=/usr/lib64/browser-plugins
- --help
To display a complete lists of parameters that you can use.
柴油发电机
发电机
柴油机
柴油发电机
13636374743(上海)
13291526067(嘉兴)