分类: LINUX
2009-05-26 10:44:30
本文属本人原创,转载请注明!
[需求库]
# sudo aptitude install build-essential subversion automake1.7 automake1.8 automake1.9 check xserver-xephyr libtiff4-dev libxml-dev libgnomevfs2-dev libgconf2-dev xlibs-dev libesd0-dev dbus-glib-1-dev libdbus-glib-1-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Initializing package states... Done
Writing extended state information... Done
Building tag database... Done
No candidate version found for xlibs-dev
No candidate version found for dbus-glib-1-dev
No candidate version found for xlibs-dev
No candidate version found for dbus-glib-1-dev
The following packages are BROKEN:
libc6-i686 libffi4
The following packages have been automatically kept back:
linux-headers-2.6.24-19 linux-headers-2.6.24-19-generic linux-restricted-modules-common
The following NEW packages will be automatically installed:
autoconf autotools-dev dpkg-dev g++ g++-4.2 libapr1 libaprutil1 libaudiofile-dev
libavahi-client-dev libavahi-common-dev libavahi-glib-dev libc6-dev libdbus-1-dev
libgcrypt11-dev libglib2.0-dev libgnutls-dev libgnutlsxx13 libgpg-error-dev libidl-dev
libjpeg62-dev liblzo2-dev libopencdk10-dev liborbit2-dev libpopt-dev libpq5
libselinux1-dev libsepol1-dev libstdc++6-4.2-dev libsvn1 libtasn1-3-dev libtiffxx0c2
libtimedate-perl libxml1 libxml2-dev linux-libc-dev m4 orbit2 patch zlib1g-dev
The following packages have been kept back:
alacarte anacron app-install-data-commercial apt apt-utils avahi-autoipd avahi-daemon
base-files bind9-host compiz-fusion-plugins-main cupsys cupsys-bsd cupsys-client
cupsys-common dbus dbus-x11 deskbar-applet dnsutils eject eog evince evolution
evolution-common evolution-data-server evolution-data-server-common evolution-exchange
evolution-plugins firefox firefox-3.0 firefox-3.0-gnome-support firefox-gnome-support
foo2zjs gcalctool gdb gdm gnome-about gnome-cards-data gnome-desktop-data gnome-games
gnome-games-data gnome-panel gnome-panel-data gnome-system-monitor grub
gstreamer0.10-tools gtk2-engines gtk2-engines-murrine gtk2-engines-pixbuf
gtk2-engines-ubuntulooks gtkhtml3.14 gvfs gvfs-backends gvfs-fuse hal hal-info hpijs
hplip hplip-data initramfs-tools iproute jockey-common jockey-gtk language-pack-en
language-pack-gnome-en libavahi-common-data libavahi-compat-libdnssd1 libavahi-core5
libavahi-ui0 libbind9-30 libcamel1.2-11 libcupsimage2 libcupsys2 libebook1.2-9
libecal1.2-7 libedata-book1.2-2 libedata-cal1.2-6 libedataserver1.2-9
libedataserverui1.2-8 libegroupwise1.2-13 libexchange-storage1.2-3 libexif12 libfreetype6
libgadu3 libgdata-google1.2-1 libgdata1.2-1 libgksu2-0 libglibmm-2.4-1c2a
libgnome-desktop-2 libgphoto2-2 libgphoto2-port0 libgstreamer0.10-0 libgtk2.0-0
libgtk2.0-bin libgtk2.0-common libgtkhtml3.14-19 libgtksourceview2.0-0
libgtksourceview2.0-common libgvfscommon0 libgweather-common libgweather1 libhal-storage1
libhal1 libisc32 libisccc30 libisccfg30 liblcms1 libldap-2.4-2 liblwres30
libnautilus-extension1 libnspr4-0d libnss3-1d libpanel-applet2-0 libpango1.0-0
libpango1.0-common libpcre3 libperl5.8 libpoppler-glib2 libpoppler2 libpurple0
libsmbclient libsmbios1 libsnmp-base libsnmp15 libsoup2.4-1 libvorbis0a libvorbisenc2
libvorbisfile3 libwnck-common libwnck22 libxml2-utils libxslt1.1 linux-generic
linux-headers-generic linux-image-2.6.24-19-generic linux-image-generic
linux-restricted-modules-2.6.24-19-generic linux-restricted-modules-generic login
logrotate module-init-tools nautilus nautilus-data nautilus-sendto
openoffice.org-base-core openoffice.org-calc openoffice.org-common openoffice.org-core
openoffice.org-draw openoffice.org-gnome openoffice.org-gtk openoffice.org-help-en-gb
openoffice.org-help-en-us openoffice.org-impress openoffice.org-l10n-common
openoffice.org-l10n-en-gb openoffice.org-l10n-en-za openoffice.org-style-human
openoffice.org-writer passwd pciutils perl perl-base perl-modules pidgin pidgin-data
poppler-utils procps python-apt python-gobject python-gtkhtml2 python-libxml2 python-uno
python2.5 python2.5-minimal rdesktop samba-common smbclient ssl-cert sudo
thunderbird-locale-en-gb ttf-opensymbol tzdata ubuntu-docs ufw update-manager
update-manager-core update-notifier update-notifier-common vinagre xkb-data
xserver-xorg-video-intel xsltproc xulrunner-1.9 xulrunner-1.9-gnome-support yelp
The following NEW packages will be installed:
autoconf automake1.7 automake1.8 automake1.9 autotools-dev build-essential check dpkg-dev
g++ g++-4.2 libapr1 libaprutil1 libaudiofile-dev libavahi-client-dev libavahi-common-dev
libavahi-glib-dev libc6-dev libdbus-1-dev libdbus-glib-1-dev libesd0-dev libgconf2-dev
libgcrypt11-dev libglib2.0-dev libgnomevfs2-dev libgnutls-dev libgnutlsxx13
libgpg-error-dev libidl-dev libjpeg62-dev liblzo2-dev libopencdk10-dev liborbit2-dev
libpopt-dev libpq5 libselinux1-dev libsepol1-dev libstdc++6-4.2-dev libsvn1
libtasn1-3-dev libtiff4-dev libtiffxx0c2 libtimedate-perl libxml-dev libxml1 libxml2-dev
linux-libc-dev m4 orbit2 patch subversion xserver-xephyr zlib1g-dev
The following packages will be upgraded:
cpp-4.2 gcc-4.2 gcc-4.2-base libavahi-client3 libavahi-common3 libavahi-glib1 libc6
libdbus-1-3 libgcc1 libglib2.0-0 libgnutls13 libgomp1 libstdc++6 libtiff4 libxml2
15 packages upgraded, 52 newly installed, 0 to remove and 200 not upgraded.
Need to get 30.2MB of archives. After unpacking 77.6MB will be used.
The following packages have unmet dependencies:
libc6-i686: PreDepends: libc6 (= 2.7-10ubuntu3) but 2.7-10ubuntu4 is to be installed.
libffi4: Depends: gcc-4.2-base (= 4.2.3-2ubuntu7) but 4.2.4-1ubuntu3 is to be installed.
Resolving dependencies...
The following actions will resolve these dependencies:
Upgrade the following packages:
libc6-i686 [2.7-10ubuntu3 (hardy, now) -> 2.7-10ubuntu4 (hardy-updates)]
libffi4 [4.2.3-2ubuntu7 (hardy, now) -> 4.2.4-1ubuntu3 (hardy-updates)]
Score is 190
Accept this solution? [Y/n/q/?] y
----------------------------------------------------------------------------------------------------------------------
The following packages have been automatically kept back:
linux-headers-2.6.24-19 linux-headers-2.6.24-19-generic linux-restricted-modules-common
The following NEW packages will be automatically installed:
autoconf autotools-dev dpkg-dev g++ g++-4.2 libapr1 libaprutil1 libaudiofile-dev
libavahi-client-dev libavahi-common-dev libavahi-glib-dev libc6-dev libdbus-1-dev
libgcrypt11-dev libglib2.0-dev libgnutls-dev libgnutlsxx13 libgpg-error-dev libidl-dev
libjpeg62-dev liblzo2-dev libopencdk10-dev liborbit2-dev libpopt-dev libpq5
libselinux1-dev libsepol1-dev libstdc++6-4.2-dev libsvn1 libtasn1-3-dev libtiffxx0c2
libtimedate-perl libxml1 libxml2-dev linux-libc-dev m4 orbit2 patch zlib1g-dev
The following packages have been kept back:
alacarte anacron app-install-data-commercial apt apt-utils avahi-autoipd avahi-daemon
base-files bind9-host compiz-fusion-plugins-main cupsys cupsys-bsd cupsys-client
cupsys-common dbus dbus-x11 deskbar-applet dnsutils eject eog evince evolution
evolution-common evolution-data-server evolution-data-server-common evolution-exchange
evolution-plugins firefox firefox-3.0 firefox-3.0-gnome-support firefox-gnome-support
foo2zjs gcalctool gdb gdm gnome-about gnome-cards-data gnome-desktop-data gnome-games
gnome-games-data gnome-panel gnome-panel-data gnome-system-monitor grub
gstreamer0.10-tools gtk2-engines gtk2-engines-murrine gtk2-engines-pixbuf
gtk2-engines-ubuntulooks gtkhtml3.14 gvfs gvfs-backends gvfs-fuse hal hal-info hpijs
hplip hplip-data initramfs-tools iproute jockey-common jockey-gtk language-pack-en
language-pack-gnome-en libavahi-common-data libavahi-compat-libdnssd1 libavahi-core5
libavahi-ui0 libbind9-30 libcamel1.2-11 libcupsimage2 libcupsys2 libebook1.2-9
libecal1.2-7 libedata-book1.2-2 libedata-cal1.2-6 libedataserver1.2-9
libedataserverui1.2-8 libegroupwise1.2-13 libexchange-storage1.2-3 libexif12 libfreetype6
libgadu3 libgdata-google1.2-1 libgdata1.2-1 libgksu2-0 libglibmm-2.4-1c2a
libgnome-desktop-2 libgphoto2-2 libgphoto2-port0 libgstreamer0.10-0 libgtk2.0-0
libgtk2.0-bin libgtk2.0-common libgtkhtml3.14-19 libgtksourceview2.0-0
libgtksourceview2.0-common libgvfscommon0 libgweather-common libgweather1 libhal-storage1
libhal1 libisc32 libisccc30 libisccfg30 liblcms1 libldap-2.4-2 liblwres30
libnautilus-extension1 libnspr4-0d libnss3-1d libpanel-applet2-0 libpango1.0-0
libpango1.0-common libpcre3 libperl5.8 libpoppler-glib2 libpoppler2 libpurple0
libsmbclient libsmbios1 libsnmp-base libsnmp15 libsoup2.4-1 libvorbis0a libvorbisenc2
libvorbisfile3 libwnck-common libwnck22 libxml2-utils libxslt1.1 linux-generic
linux-headers-generic linux-image-2.6.24-19-generic linux-image-generic
linux-restricted-modules-2.6.24-19-generic linux-restricted-modules-generic login
logrotate module-init-tools nautilus nautilus-data nautilus-sendto
openoffice.org-base-core openoffice.org-calc openoffice.org-common openoffice.org-core
openoffice.org-draw openoffice.org-gnome openoffice.org-gtk openoffice.org-help-en-gb
openoffice.org-help-en-us openoffice.org-impress openoffice.org-l10n-common
openoffice.org-l10n-en-gb openoffice.org-l10n-en-za openoffice.org-style-human
openoffice.org-writer passwd pciutils perl perl-base perl-modules pidgin pidgin-data
poppler-utils procps python-apt python-gobject python-gtkhtml2 python-libxml2 python-uno
python2.5 python2.5-minimal rdesktop samba-common smbclient ssl-cert sudo
thunderbird-locale-en-gb ttf-opensymbol tzdata ubuntu-docs ufw update-manager
update-manager-core update-notifier update-notifier-common vinagre xkb-data
xserver-xorg-video-intel xsltproc xulrunner-1.9 xulrunner-1.9-gnome-support yelp
The following NEW packages will be installed:
autoconf automake1.7 automake1.8 automake1.9 autotools-dev build-essential check dpkg-dev
g++ g++-4.2 libapr1 libaprutil1 libaudiofile-dev libavahi-client-dev libavahi-common-dev
libavahi-glib-dev libc6-dev libdbus-1-dev libdbus-glib-1-dev libesd0-dev libgconf2-dev
libgcrypt11-dev libglib2.0-dev libgnomevfs2-dev libgnutls-dev libgnutlsxx13
libgpg-error-dev libidl-dev libjpeg62-dev liblzo2-dev libopencdk10-dev liborbit2-dev
libpopt-dev libpq5 libselinux1-dev libsepol1-dev libstdc++6-4.2-dev libsvn1
libtasn1-3-dev libtiff4-dev libtiffxx0c2 libtimedate-perl libxml-dev libxml1 libxml2-dev
linux-libc-dev m4 orbit2 patch subversion xserver-xephyr zlib1g-dev
The following packages will be upgraded:
cpp-4.2 gcc-4.2 gcc-4.2-base libavahi-client3 libavahi-common3 libavahi-glib1 libc6
libc6-i686 libdbus-1-3 libffi4 libgcc1 libglib2.0-0 libgnutls13 libgomp1 libstdc++6
libtiff4 libxml2
17 packages upgraded, 52 newly installed, 0 to remove and 198 not upgraded.
Need to get 31.4MB of archives. After unpacking 77.6MB will be used.
Do you want to continue? [Y/n/?]
----------------------------------------------------------------------------------------------------------------------
# sudo apt-get build-dep libgtk2.0-0
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
chrpath comerr-dev debhelper diffstat docbook docbook-dsssl docbook-to-man docbook-xsl
gettext gnome-common gnome-pkg-tools gtk-doc-tools html2text intltool intltool-debian jade
libatk1.0-dev libcairo-directfb2 libcairo-directfb2-dev libcairo2-dev libcupsys2-dev
libdirectfb-dev libdirectfb-extra libexpat1-dev libfontconfig1-dev libfreetype6-dev
libice-dev libkadm55 libkrb5-dev libosp5 libostyle1c2 libpango1.0-dev libpixman-1-dev
libpng12-dev libpthread-stubs0 libpthread-stubs0-dev libsm-dev libsp1c2 libsysfs-dev libtool
libx11-dev libxau-dev libxcb-xlib0-dev libxcb1-dev libxcomposite-dev libxcursor-dev
libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev
libxkbfile-dev libxrandr-dev libxrender-dev libxt-dev openjade po-debconf quilt sp
x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev
x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-xext-dev
x11proto-xinerama-dev xtrans-dev
The following packages will be upgraded:
libcupsys2 libfreetype6 libpango1.0-0 libpango1.0-common
4 upgraded, 72 newly installed, 0 to remove and 194 not upgraded.
Need to get 19.3MB of archives.
After this operation, 72.2MB of additional disk space will be used.
Do you want to continue [Y/n]?
----------------------------------------------------------------------------------------------------------------------
# sudo apt-get install libgtk2.0-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
gtk2-engines-pixbuf libgtk2.0-0
Suggested packages:
libgtk2.0-doc
The following NEW packages will be installed:
libgtk2.0-dev
The following packages will be upgraded:
gtk2-engines-pixbuf libgtk2.0-0
2 upgraded, 1 newly installed, 0 to remove and 192 not upgraded.
Need to get 5166kB of archives.
After this operation, 9519kB of additional disk space will be used.
Do you want to continue [Y/n]?
----------------------------------------------------------------------------------------------------------------------
# sudo apt-get install libxtst-dev
----------------------------------------------------------------------------------------------------------------------
[平台编译后所存放的需求文件]
# sudo mkdir /opt/hildon
# sudo chown YOUR_USER:YOUR_GROUP /opt/hildon
----------------------------------------------------------------------------------------------------------------------
# cd /opt/
----------------------------------------------------------------------------------------------------------------------
[GNOME编译器]
# sudo svn co jhbuild
----------------------------------------------------------------------------------------------------------------------
# cd jhbuild
----------------------------------------------------------------------------------------------------------------------
# sudo ./autogen.sh
/usr/bin/gnome-autogen.sh
checking for autoconf >= 2.57...
testing autoconf2.50... not found.
testing autoconf... found 2.61
checking for automake >= 1.8...
testing automake-1.10... not found.
testing automake-1.9... found 1.9.6
checking for libtool >= 1.5...
testing libtoolize... found 1.5.26
checking for glib-gettext >= 2.2.0...
testing glib-gettextize... found 2.16.6
checking for intltool >= 0.35.0...
testing intltoolize... found 0.37.1
checking for pkg-config >= 0.16.0...
testing pkg-config... found 0.22
checking for gnome-doc-utils >= 0.4.2...
testing gnome-doc-prepare... found 0.12.2
checking for gnome-common >= 2.3.0...
testing gnome-doc-common... found 2.20.0
Checking for required M4 macros...
Checking for forbidden M4 macros...
**Warning**: I am going to run `configure' with no arguments.
If you wish to pass any to it, please specify them on the
`/usr/bin/gnome-autogen.sh' command line.
Processing ./configure.ac
Running glib-gettextize... Ignore non-fatal messages.
Copying file mkinstalldirs
Copying file po/Makefile.in.in
Please add the files
codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4
progtest.m4
from the /aclocal directory to your autoconf macro directory
or directly to your aclocal.m4 file.
You will also need config.guess and config.sub, which you can get from
ftp://ftp.gnu.org/pub/gnu/config/.
Running intltoolize...
Running gnome-doc-common...
Running gnome-doc-prepare...
You should add the contents of '/usr/share/aclocal/gnome-doc-utils.m4' to 'aclocal.m4'.
Running aclocal-1.9...
Running autoconf...
Running automake-1.9...
configure.ac: installing `./install-sh'
configure.ac: installing `./missing'
Processing ./tests/autotools/configure.in
Running gnome-doc-common...
Running aclocal-1.9...
Running autoconf...
Running automake-1.9...
Makefile.am: installing `../../depcomp'
Processing ./tests/libhello/configure.in
Running libtoolize...
You should add the contents of `/usr/share/aclocal/libtool.m4' to `aclocal.m4'.
Putting files in AC_CONFIG_AUX_DIR, `../..'.
Running gnome-doc-common...
Running aclocal-1.9...
Running autoconf...
Running automake-1.9...
Processing ./tests/hello/configure.in
Running gnome-doc-common...
Running aclocal-1.9...
Running autoconf...
Running automake-1.9...
Running ./configure --enable-maintainer-mode ...
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for LC_MESSAGES... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking for ngettext in libc... yes
checking for dgettext in libc... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... /usr/bin/msgfmt
checking for dcgettext... yes
checking if msgfmt accepts -c... yes
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for intltool >= 0.35.0... 0.37.1 found
checking for xgettext... (cached) /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for msgfmt... (cached) /usr/bin/msgfmt
checking for perl... /usr/bin/perl
checking for XML::Parser... ok
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating po/Makefile.in
config.status: executing depfiles commands
config.status: executing default-1 commands
config.status: executing intltool commands
config.status: executing po/stamp-it commands
Now type `make' to compile Package
# sudo make
# sudo make install
----------------------------------------------------------------------------------------------------------------------
# cd /opt/
# sudo svn co
# cd jhbuild_modules
----------------------------------------------------------------------------------------------------------------------
# sudo /home/user/bin/jhbuild -f ./hildon-desktop.jhbuildrc -m ./hildon-desktop.modules build
----------------------------------------------------------------------------------------------------------------------
[模块编译顺序与依赖关系]
libhildon1
hildon-theme-tools
hildon-theme-layout-4----------------------------------------------------------- hildon-theme-tools
hildon-theme-cacher
hildon-theme-plankton---------------------------------------------------------- hildon-theme-layout-4
|---------- hildon-theme-tools
|---------- hildon-theme-cacher
sapwood
***错误提示: double-free.c :34:30: error;
***gtk/gtktestutils.h : No sudh file or directory
***解决方法: touch /usr/include/gtk2.0/gtk/gtktestutils.h
libmatchbox
matchbox-window-manager--------------------------------------------------- libmatchbox
hildon-desktop
***系统: ubuntu 8.10
***错误提示: fcsanf: error;
***解决方法: int i;i = fscanf;如还有其它类似错误,可修改configure.ac
***备注:如是用的是ubuntu8.04就不会有上述的错误,直接经过研究,上述错误是与GCC版本有关。
hildon-hacks
备注:上述文字中用到的符号表示,如A-------B;表示A依赖B,A的编译需在B完成的基础之上。
----------------------------------------------------------------------------------------------------------------------
# cd /opt/jhbuild_modules
# /home/user/bin/jhbuild -f ./hildon-desktop.jhbuildrc shell
# start-hildon.sh
Note: 运行起来可以看到有基本的框架,但不规则!
----------------------------------------------------------------------------------------------------------------------
修改/home/user/.osso/hildon-desktop中的配置文件,可以参考N okiaN810里的配置文件。
(把maemo-x86中etc/hildon-desktop拷到/home/user/.osso/下,代替之前的文件。再把maemo-x86中/usr/share/icons拷到/opt/hildon/share/中。把/maemo-x86中/usr/share/themes文件拷到/opt/hildon/share/中,代替之前的文件)。
然后再运行则可以看到规则画面及部分图标,但主题任有问题,可能刚才的主题配置文件安装后没有都到作用。需重新安装!
# sudo apt-get install hildon-theme-plankton
安装完成后,再重新运行成功!(补充:在这里我认为运行不成功可能是上述安装的路径有问题,使得hildon运行起来读不到所默认的路径。而通过上述命令安装后,安装的路径为系统默认路径,则运行读到配置文件,所以运行正常)
注:文章开头已将安装过程的需求库截下来,之后对底层库的编译,平台的搭建,可以以此为参考。目前还没有细化分析,待后续工作安排。
以上步骤我已验证多遍,没有问题!