2012年11月21日 星期三

google earth 7

中文版請看這裡
I'm running openSUSE 12.2 x86_64 system with nvidia proprietary driver
$  uname -r
3.4.11-2.16-desktop
$ rpm -qa | grep nvidia
nvidia-gfxG02-kmp-desktop-304.43_k3.4.6_2.10-19.1.x86_64
nvidia-computeG02-304.43-20.1.x86_64
x11-video-nvidiaG02-304.43-20.1.x86_64

Download Google Earth from http://www.google.com/intl/zh-TW/earth/index.html
Use zypper to install it
# zypper in google-earth-stable_current_x86_64.rpm 
正在載入套件庫資料...
讀取已安裝的套件...
正在解決套件相依性...

將會安裝下列新的套件:
  google-earth-stable 

1  新套件將被安裝.
全部下載大小: 39.3 MiB。 完成操作後,將增加 126.0 MiB 的使用。
要繼續嗎? [y/n/?] (y): y
正在取出 套件 google-earth-stable-7.0.1.8244-0.x86_64
                                   (1/1),  39.3 MiB (已解開 126.0 MiB)
正在取出 套件 google-earth-stable-7.0.1.8244-0.x86_64
                                   (1/1),  39.3 MiB (已解開 126.0 MiB)
正在安裝: google-earth-stable-7.0.1.8244-0 ....................[完成]
其他 rpm 輸出:
warning: commands will be executed using /bin/sh
job 3 at 2012-11-21 00:23
Can't open /var/run/atd.pid to signal atd. No atd running?


Run google-earth in konsole (or other terminal)
$ google-earth
Google Earth has caught signal 11.



We apologize for the inconvenience, but Google Earth has crashed.
 This is a bug in the program, and should never happen under normal
 circumstances. A bug report and debugging data have been written
 to this text file:

    /home/ray122/.googleearth/crashlogs/crashlog-50abae63.txt

Please include this file if you submit a bug report to Google.


See debugging deta
$ cat /home/ray122/.googleearth/crashlogs/crashlog-50abae63.txt
Major Version 7
Minor Version 0
Build Number 0001
Build Date Oct 29 2012
Build Time 19:13:39
OS Type 3
OS Major Version 3
OS Minor Version 4
OS Build Version 11
OS Patch Version 16
Crash Signal 11
Crash Time 1353428579
Up Time 0.073919

Stacktrace from glibc:
./libgoogleearth_free.so(+0x1e9cfb)[0xf7572cfb]
./libgoogleearth_free.so(+0x1e9f43)[0xf7572f43]
linux-gate.so.1(__kernel_sigreturn+0x0)[0xf771d400]


Debugging
$ cd /opt/google/earth/free/


$ export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH

$ gdb ./googleearth-bin
GNU gdb (GDB) SUSE (7.4.50.20120603-2.1.2)
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
For bug reporting instructions, please see:
...
Reading symbols from /opt/google/earth/free/googleearth-bin...(no debugging symbols found)...done.
(gdb) r
Starting program: /opt/google/earth/free/googleearth-bin 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0xf42fd0c8 in ?? () from /usr/lib/libexpat.so.1
Missing separate debuginfos, use: zypper install google-earth-stable-debuginfo-7.0.1.8244-0.x86_64
(gdb) bt
#0  0xf42fd0c8 in ?? () from /usr/lib/libexpat.so.1
#1  0xf42fd203 in ?? () from /usr/lib/libexpat.so.1
#2  0xf42fd23c in ?? () from /usr/lib/libexpat.so.1
#3  0xf42ffb69 in ?? () from /usr/lib/libexpat.so.1
#4  0xf4300c11 in ?? () from /usr/lib/libexpat.so.1
#5  0xf4301ab2 in ?? () from /usr/lib/libexpat.so.1
#6  0xf4305e0e in XML_ParseBuffer () from /usr/lib/libexpat.so.1
#7  0xf6fea471 in FcConfigParseAndLoad ()
   from /usr/lib/libfontconfig.so.1
#8  0xf6fea761 in FcConfigParseAndLoad ()
   from /usr/lib/libfontconfig.so.1
#9  0xf6feaa17 in ?? () from /usr/lib/libfontconfig.so.1
#10 0xf4300815 in ?? () from /usr/lib/libexpat.so.1
#11 0xf4301ab2 in ?? () from /usr/lib/libexpat.so.1
#12 0xf43036b0 in ?? () from /usr/lib/libexpat.so.1
#13 0xf4303e52 in ?? () from /usr/lib/libexpat.so.1
#14 0xf4305e0e in XML_ParseBuffer () from /usr/lib/libexpat.so.1
#15 0xf6fea471 in FcConfigParseAndLoad ()
   from /usr/lib/libfontconfig.so.1
#16 0xf6fdee46 in FcInitLoadConfig ()
   from /usr/lib/libfontconfig.so.1
#17 0xf6fdef69 in FcInitLoadConfigAndFonts ()
   from /usr/lib/libfontconfig.so.1
#18 0xf6fdf1ed in FcInit () from /usr/lib/libfontconfig.so.1
#19 0xf739202f in qt_init(QApplicationPrivate*, int, _XDisplay*, unsigned long, unsigned long) () from ./libQtGui.so.4
#20 0xf730cb2a in QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) () from ./libQtGui.so.4
#21 0xf730da53 in QApplication::QApplication(int&, char**, int) ()
   from ./libQtGui.so.4
#22 0xf7ec1e79 in earth::client::Application::Application(int&, char**) () from ./libgoogleearth_free.so
---Type  to continue, or q  to quit---
#23 0xf7e2e7ff in ?? () from ./libgoogleearth_free.so
#24 0xf7e2ebb9 in earthmain () from ./libgoogleearth_free.so
#25 0x0804877b in ?? ()
#26 0xf50ff3d5 in __libc_start_main () from /lib/libc.so.6
#27 0x080486c1 in ?? ()
(gdb)

We need some debuginfo packages
make sure you have enabled debug repos
#  zypper in libexpat1-debuginfo-32bit fontconfig-debuginfo-32bit

yes, you need 32-bit packages even you are running a 64-bit system

run gdb again
$ gdb ./googleearth-bin
GNU gdb (GDB) SUSE (7.4.50.20120603-2.1.2)
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
For bug reporting instructions, please see:
...
Reading symbols from /opt/google/earth/free/googleearth-bin...(no debugging symbols found)...done.
(gdb) r
Starting program: /opt/google/earth/free/googleearth-bin 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
poolGrow (pool=pool@entry=0x808e7b0) at lib/xmlparse.c:6215
6215    lib/xmlparse.c: 沒有此一檔案或目錄.
Missing separate debuginfos, use: zypper install google-earth-stable-debuginfo-7.0.1.8244-0.x86_64
(gdb) bt
#0  poolGrow (pool=pool@entry=0x808e7b0) at lib/xmlparse.c:6215
#1  0xf42fd203 in poolAppend (pool=pool@entry=0x808e7b0, enc=enc@entry=0xf4f46c00, 
    ptr=ptr@entry=0x8093383 "pixelsize\" compare=\"less_eq\">\n\t\t\t\t0\n\t\t


\n", ' ' , "\n", ' ' , "false\n", ' ' , "\n", ' ' , "    end=end@entry=0x809338c "\" compare=\"less_eq\">\n\t\t\t\t0\n\t\t\n", ' ' , "\n", ' ' , "false\n", ' ' , "\n", ' ' , "\n"...) at lib/xmlparse.c:6148
#2  0xf42fd23c in poolStoreString (pool=pool@entry=0x808e7b0, enc=enc@entry=0xf4f46c00, 
    ptr=0x8093383 "pixelsize\" compare=\"less_eq\">\n\t\t\t\t0\n\t\t\n", ' ' , "\n", ' ' , "false\n", ' ' , "\n", ' ' , "    end=0x809338c "\" compare=\"less_eq\">\n\t\t\t\t0\n\t\t\n", ' ' , "\n", ' ' , "false\n", ' ' , "\n", ' ' , "\n"...) at lib/xmlparse.c:6201
#3  0xf42ffb69 in storeAtts (parser=parser@entry=0x808e610, enc=enc@entry=0xf4f46c00, 
    attStr=0x8093377 "\n\t\t\t\t0\n\t\t\n", ' ' , "\n", ' ' , "false\n", ' ' , "\n", ' ' , "#4  0xf4300c11 in doContent (parser=parser@entry=0x808e610, startTagLevel=startTagLevel@entry=0, enc=0xf4f46c00, 
    s=0x8093377 "\n\t\t\t\t0\n\t\t\n", ' ' , "\n", ' ' , "false\n", ' ' , "\n", ' ' , "    s@entry=0x80932b8 ' ' , "Lucida Sans Typewriter\n", ' ' , "Lucida Sans\n", ' ' , "Lucida Bright\n", ' ' , "\n\t\t#5  0xf4301ab2 in contentProcessor (parser=0x808e610, 
    start=0x80932b8 ' ' , "Lucida Sans Typewriter\n", ' ' , "Lucida Sans\n", ' ' , "Lucida Bright\n", ' ' , "\n\t\t#6  0xf4305e0e in XML_ParseBuffer (parser=parser@entry=0x808e610, len=len@entry=2812, isFinal=isFinal@entry=0) at lib/xmlparse.c:1651
#7  0xf6fea471 in IA__FcConfigParseAndLoad (config=config@entry=0x8080b50, name=0x808e3b0 "/etc/fonts/conf.d/11-suse-hinting.conf", complain=complain@entry=0) at fcxml.c:2782
#8  0xf6fea761 in FcConfigParseAndLoadDir (complain=0, dir=0x8084f30 "/etc/fonts/conf.d", name=0xffffb99c "conf.d", config=0x8080b50) at fcxml.c:2668
#9  IA__FcConfigParseAndLoad (config=0x8080b50, name=name@entry=0xffffb99c "conf.d", complain=0) at fcxml.c:2718
#10 0xf6feaa17 in FcParseInclude (parse=0xffffb8c0) at fcxml.c:1849
#11 FcEndElement (userData=0xffffb8c0, name=0x80807a8 "include") at fcxml.c:2387
#12 0xf4300815 in doContent (parser=parser@entry=0x8080f20, startTagLevel=startTagLevel@entry=0, enc=0xf4f46c00, 
    s=0x808218e "\n\n\n\n\t/var/cache/fontconfig\n\t~/.fontconfig\n\n\t\n\n\n\n\n\n\n<!--\n\tDO NOT EDIT THIS FILE.\n\tIT WILL BE REPLACED WHEN "..., end=0x8082f00 "", nextPtr=0x8080f38) at lib/xmlparse.c:3739
#16 0xf4305e0e in XML_ParseBuffer (parser=parser@entry=0x8080f20, len=len@entry=5320, isFinal=isFinal@entry=0) at lib/xmlparse.c:1651
#17 0xf6fea471 in IA__FcConfigParseAndLoad (config=config@entry=0x8080b50, name=name@entry=0x0, complain=complain@entry=1) at fcxml.c:2782
#18 0xf6fdee46 in IA__FcInitLoadConfig () at fcinit.c:67
#19 0xf6fdef69 in IA__FcInitLoadConfigAndFonts () at fcinit.c:101
#20 0xf6fdf1ed in IA__FcInit () at fcinit.c:124
#21 0xf739202f in qt_init(QApplicationPrivate*, int, _XDisplay*, unsigned long, unsigned long) () from ./libQtGui.so.4
#22 0xf730cb2a in QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) () from ./libQtGui.so.4
#23 0xf730da53 in QApplication::QApplication(int&, char**, int) () from ./libQtGui.so.4
#24 0xf7ec1e79 in earth::client::Application::Application(int&, char**) () from ./libgoogleearth_free.so
#25 0xf7e2e7ff in ?? () from ./libgoogleearth_free.so
#26 0xf7e2ebb9 in earthmain () from ./libgoogleearth_free.so
---Type  to continue, or q  to quit---
#27 0x0804877b in ?? ()
#28 0xf50ff3d5 in __libc_start_main () from /lib/libc.so.6
#29 0x080486c1 in ?? ()
(gdb)

You can see the some fonconfig settings make the Segmentation fault
in #7 ...   "/etc/fonts/conf.d/11-suse-hinting.conf"
Remove the file /etc/fonts/conf.d/11-suse-hinting.conf
# rm  /etc/fonts/conf.d/11-suse-hinting.conf

run gdb again you can see /etc/fonts/conf.d/65-fonts-persian.conf will need to be deleted
# rm  /etc/fonts/conf.d/65-fonts-persian.conf

keep debugging till google-earth works

Some screenshots:
Startup:
 
 Panoramio photo:

 Street view:

Flight simulator:

Navigating sky:

3D building:


Fonts looks good, libQT* need no more replacement.
Non-latin characters can show-up properly.

Also some  defects:
1. some pictures can't be seen

2. almost all links in pop-up windows can't click to link to target
You have to right click the link, choose "open in new window" to link to the target

3. flash is not working
4. crash sometimes...

google 地球 7

Read English version Here
系統: openSUSE 12.2 x86_64 使用 nvidia 專利驅動程式
$  uname -r
3.4.11-2.16-desktop
$ rpm -qa | grep nvidia
nvidia-gfxG02-kmp-desktop-304.43_k3.4.6_2.10-19.1.x86_64
nvidia-computeG02-304.43-20.1.x86_64
x11-video-nvidiaG02-304.43-20.1.x86_64

http://www.google.com/intl/zh-TW/earth/index.html下載 Google Earth
使用 zypper 安裝
# zypper in google-earth-stable_current_x86_64.rpm 
正在載入套件庫資料...
讀取已安裝的套件...
正在解決套件相依性...

將會安裝下列新的套件:
  google-earth-stable 

1  新套件將被安裝.
全部下載大小: 39.3 MiB。 完成操作後,將增加 126.0 MiB 的使用。
要繼續嗎? [y/n/?] (y): y
正在取出 套件 google-earth-stable-7.0.1.8244-0.x86_64
                                   (1/1),  39.3 MiB (已解開 126.0 MiB)
正在取出 套件 google-earth-stable-7.0.1.8244-0.x86_64
                                   (1/1),  39.3 MiB (已解開 126.0 MiB)
正在安裝: google-earth-stable-7.0.1.8244-0 ....................[完成]
其他 rpm 輸出:
warning: commands will be executed using /bin/sh
job 3 at 2012-11-21 00:23
Can't open /var/run/atd.pid to signal atd. No atd running?


在終端機執行 google-earth
$ google-earth
Google Earth has caught signal 11.



We apologize for the inconvenience, but Google Earth has crashed.
 This is a bug in the program, and should never happen under normal
 circumstances. A bug report and debugging data have been written
 to this text file:

    /home/ray122/.googleearth/crashlogs/crashlog-50abae63.txt

Please include this file if you submit a bug report to Google.


檢視偵錯資料
$ cat /home/ray122/.googleearth/crashlogs/crashlog-50abae63.txt
Major Version 7
Minor Version 0
Build Number 0001
Build Date Oct 29 2012
Build Time 19:13:39
OS Type 3
OS Major Version 3
OS Minor Version 4
OS Build Version 11
OS Patch Version 16
Crash Signal 11
Crash Time 1353428579
Up Time 0.073919

Stacktrace from glibc:
./libgoogleearth_free.so(+0x1e9cfb)[0xf7572cfb]
./libgoogleearth_free.so(+0x1e9f43)[0xf7572f43]
linux-gate.so.1(__kernel_sigreturn+0x0)[0xf771d400]


開始偵錯
$ cd /opt/google/earth/free/


$ export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH

$ gdb ./googleearth-bin
GNU gdb (GDB) SUSE (7.4.50.20120603-2.1.2)
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
For bug reporting instructions, please see:
...
Reading symbols from /opt/google/earth/free/googleearth-bin...(no debugging symbols found)...done.
(gdb) r
Starting program: /opt/google/earth/free/googleearth-bin 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0xf42fd0c8 in ?? () from /usr/lib/libexpat.so.1
Missing separate debuginfos, use: zypper install google-earth-stable-debuginfo-7.0.1.8244-0.x86_64
(gdb) bt
#0  0xf42fd0c8 in ?? () from /usr/lib/libexpat.so.1
#1  0xf42fd203 in ?? () from /usr/lib/libexpat.so.1
#2  0xf42fd23c in ?? () from /usr/lib/libexpat.so.1
#3  0xf42ffb69 in ?? () from /usr/lib/libexpat.so.1
#4  0xf4300c11 in ?? () from /usr/lib/libexpat.so.1
#5  0xf4301ab2 in ?? () from /usr/lib/libexpat.so.1
#6  0xf4305e0e in XML_ParseBuffer () from /usr/lib/libexpat.so.1
#7  0xf6fea471 in FcConfigParseAndLoad ()
   from /usr/lib/libfontconfig.so.1
#8  0xf6fea761 in FcConfigParseAndLoad ()
   from /usr/lib/libfontconfig.so.1
#9  0xf6feaa17 in ?? () from /usr/lib/libfontconfig.so.1
#10 0xf4300815 in ?? () from /usr/lib/libexpat.so.1
#11 0xf4301ab2 in ?? () from /usr/lib/libexpat.so.1
#12 0xf43036b0 in ?? () from /usr/lib/libexpat.so.1
#13 0xf4303e52 in ?? () from /usr/lib/libexpat.so.1
#14 0xf4305e0e in XML_ParseBuffer () from /usr/lib/libexpat.so.1
#15 0xf6fea471 in FcConfigParseAndLoad ()
   from /usr/lib/libfontconfig.so.1
#16 0xf6fdee46 in FcInitLoadConfig ()
   from /usr/lib/libfontconfig.so.1
#17 0xf6fdef69 in FcInitLoadConfigAndFonts ()
   from /usr/lib/libfontconfig.so.1
#18 0xf6fdf1ed in FcInit () from /usr/lib/libfontconfig.so.1
#19 0xf739202f in qt_init(QApplicationPrivate*, int, _XDisplay*, unsigned long, unsigned long) () from ./libQtGui.so.4
#20 0xf730cb2a in QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) () from ./libQtGui.so.4
#21 0xf730da53 in QApplication::QApplication(int&, char**, int) ()
   from ./libQtGui.so.4
#22 0xf7ec1e79 in earth::client::Application::Application(int&, char**) () from ./libgoogleearth_free.so
---Type  to continue, or q  to quit---
#23 0xf7e2e7ff in ?? () from ./libgoogleearth_free.so
#24 0xf7e2ebb9 in earthmain () from ./libgoogleearth_free.so
#25 0x0804877b in ?? ()
#26 0xf50ff3d5 in __libc_start_main () from /lib/libc.so.6
#27 0x080486c1 in ?? ()
(gdb)

我們需要一些 debuginfo 套件
請確認已啟用 debug 套件庫
#  zypper in libexpat1-debuginfo-32bit fontconfig-debuginfo-32bit

沒錯,即使是 64 位元的系統,您仍需要 32位元的套件

再次執行 gdb
$ gdb ./googleearth-bin
GNU gdb (GDB) SUSE (7.4.50.20120603-2.1.2)
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
For bug reporting instructions, please see:
...
Reading symbols from /opt/google/earth/free/googleearth-bin...(no debugging symbols found)...done.
(gdb) r
Starting program: /opt/google/earth/free/googleearth-bin 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
poolGrow (pool=pool@entry=0x808e7b0) at lib/xmlparse.c:6215
6215    lib/xmlparse.c: 沒有此一檔案或目錄.
Missing separate debuginfos, use: zypper install google-earth-stable-debuginfo-7.0.1.8244-0.x86_64
(gdb) bt
#0  poolGrow (pool=pool@entry=0x808e7b0) at lib/xmlparse.c:6215
#1  0xf42fd203 in poolAppend (pool=pool@entry=0x808e7b0, enc=enc@entry=0xf4f46c00, 
    ptr=ptr@entry=0x8093383 "pixelsize\" compare=\"less_eq\">\n\t\t\t\t0\n\t\t


\n", ' ' , "\n", ' ' , "false\n", ' ' , "\n", ' ' , "    end=end@entry=0x809338c "\" compare=\"less_eq\">\n\t\t\t\t0\n\t\t\n", ' ' , "\n", ' ' , "false\n", ' ' , "\n", ' ' , "\n"...) at lib/xmlparse.c:6148
#2  0xf42fd23c in poolStoreString (pool=pool@entry=0x808e7b0, enc=enc@entry=0xf4f46c00, 
    ptr=0x8093383 "pixelsize\" compare=\"less_eq\">\n\t\t\t\t0\n\t\t\n", ' ' , "\n", ' ' , "false\n", ' ' , "\n", ' ' , "    end=0x809338c "\" compare=\"less_eq\">\n\t\t\t\t0\n\t\t\n", ' ' , "\n", ' ' , "false\n", ' ' , "\n", ' ' , "\n"...) at lib/xmlparse.c:6201
#3  0xf42ffb69 in storeAtts (parser=parser@entry=0x808e610, enc=enc@entry=0xf4f46c00, 
    attStr=0x8093377 "\n\t\t\t\t0\n\t\t\n", ' ' , "\n", ' ' , "false\n", ' ' , "\n", ' ' , "#4  0xf4300c11 in doContent (parser=parser@entry=0x808e610, startTagLevel=startTagLevel@entry=0, enc=0xf4f46c00, 
    s=0x8093377 "\n\t\t\t\t0\n\t\t\n", ' ' , "\n", ' ' , "false\n", ' ' , "\n", ' ' , "    s@entry=0x80932b8 ' ' , "Lucida Sans Typewriter\n", ' ' , "Lucida Sans\n", ' ' , "Lucida Bright\n", ' ' , "\n\t\t#5  0xf4301ab2 in contentProcessor (parser=0x808e610, 
    start=0x80932b8 ' ' , "Lucida Sans Typewriter\n", ' ' , "Lucida Sans\n", ' ' , "Lucida Bright\n", ' ' , "\n\t\t#6  0xf4305e0e in XML_ParseBuffer (parser=parser@entry=0x808e610, len=len@entry=2812, isFinal=isFinal@entry=0) at lib/xmlparse.c:1651
#7  0xf6fea471 in IA__FcConfigParseAndLoad (config=config@entry=0x8080b50, name=0x808e3b0 "/etc/fonts/conf.d/11-suse-hinting.conf", complain=complain@entry=0) at fcxml.c:2782
#8  0xf6fea761 in FcConfigParseAndLoadDir (complain=0, dir=0x8084f30 "/etc/fonts/conf.d", name=0xffffb99c "conf.d", config=0x8080b50) at fcxml.c:2668
#9  IA__FcConfigParseAndLoad (config=0x8080b50, name=name@entry=0xffffb99c "conf.d", complain=0) at fcxml.c:2718
#10 0xf6feaa17 in FcParseInclude (parse=0xffffb8c0) at fcxml.c:1849
#11 FcEndElement (userData=0xffffb8c0, name=0x80807a8 "include") at fcxml.c:2387
#12 0xf4300815 in doContent (parser=parser@entry=0x8080f20, startTagLevel=startTagLevel@entry=0, enc=0xf4f46c00, 
    s=0x808218e "\n\n\n\n\t/var/cache/fontconfig\n\t~/.fontconfig\n\n\t\n\n\n\n\n\n\n<!--\n\tDO NOT EDIT THIS FILE.\n\tIT WILL BE REPLACED WHEN "..., end=0x8082f00 "", nextPtr=0x8080f38) at lib/xmlparse.c:3739
#16 0xf4305e0e in XML_ParseBuffer (parser=parser@entry=0x8080f20, len=len@entry=5320, isFinal=isFinal@entry=0) at lib/xmlparse.c:1651
#17 0xf6fea471 in IA__FcConfigParseAndLoad (config=config@entry=0x8080b50, name=name@entry=0x0, complain=complain@entry=1) at fcxml.c:2782
#18 0xf6fdee46 in IA__FcInitLoadConfig () at fcinit.c:67
#19 0xf6fdef69 in IA__FcInitLoadConfigAndFonts () at fcinit.c:101
#20 0xf6fdf1ed in IA__FcInit () at fcinit.c:124
#21 0xf739202f in qt_init(QApplicationPrivate*, int, _XDisplay*, unsigned long, unsigned long) () from ./libQtGui.so.4
#22 0xf730cb2a in QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) () from ./libQtGui.so.4
#23 0xf730da53 in QApplication::QApplication(int&, char**, int) () from ./libQtGui.so.4
#24 0xf7ec1e79 in earth::client::Application::Application(int&, char**) () from ./libgoogleearth_free.so
#25 0xf7e2e7ff in ?? () from ./libgoogleearth_free.so
#26 0xf7e2ebb9 in earthmain () from ./libgoogleearth_free.so
---Type  to continue, or q  to quit---
#27 0x0804877b in ?? ()
#28 0xf50ff3d5 in __libc_start_main () from /lib/libc.so.6
#29 0x080486c1 in ?? ()
(gdb)

您可以看見某些 fonconfig 的設定造成了程式區段記憶體錯誤
在 #7 ...   "/etc/fonts/conf.d/11-suse-hinting.conf"
請移除檔案 /etc/fonts/conf.d/11-suse-hinting.conf
# rm  /etc/fonts/conf.d/11-suse-hinting.conf

再次執行 gdb 您也可以發現 /etc/fonts/conf.d/65-fonts-persian.conf 也需要刪除
# rm  /etc/fonts/conf.d/65-fonts-persian.conf

繼續偵錯直到 google-earth 正確啟動

螢幕抓圖:
啟動:
 
 Panoramio 相片:

 街景:

飛行模擬模式:

瀏覽星空:

3D 建築:


字體看起來不錯,不再需要取代 libQT*
非拉丁字元也可以正確顯示

也有些問題待解決:
1. 有些圖片看不見

2. 幾乎所有跳出視窗中的連結都沒辦法按一下就連結到目標
您必須在連結上按右鍵,選擇 "open in new window" 以連結到目標

3. flash 無法運作
4. 有時會崩潰...

2012年10月29日 星期一

oxim 1.5.2

因為有網友還在用 oxim
所以這個週末就將這套件再打包起來
我放在一個子專案中
請從 home:swyear:oxim15 更新
如果是 openSUSE 12.2 請執行
su
zypper ar obs://home:swyear:oxim15/openSUSE_12.2 oxim
zypper ref oxim
zypper in oxim oxim-setup oxim-filters oxim-tables-popular-zh_TW 
因為已經很沒變動了 (根據 Changelog 是 2009.5 最後更新)
所以也不要要求太多了

已知問題
1. 在 64 位元系統中 oxim-setup 無法啟動
請執行
su
cd /usr/lib
ln -s /usr/lib64/oxim-setup .
2. 選字視窗固定在中間,輸入法狀態不顯示
請切換輸入法風格為 xcin
然後您可以將輸入法視窗移到您想要的地方

 
看到這張圖片會不會覺得很懷舊阿
有用過 xcin 的人舉個手吧

2012年9月27日 星期四

openSUSE 12.2 的印表機問題

症狀:
明明已經安裝好了印表機
測試頁也列印成功
但是在應用程式(KDE 程式和 Libreoffice)按列印,卻沒有任何東西印出來
這問題主要會出現在 postscript 印表機
請參考
https://bugzilla.novell.com/show_bug.cgi?id=774627
主要原因出現在許多應用程式列印時用到 poppler
而這版剛好有問題

暫時解決方案:
http://download.opensuse.org/repositories/home:/Zaitor:/branches:/openSUSE:/12.2:/Update/openSUSE_12.2_Update/
安裝
libpoppler27
libpoppler-glib8
libpoppler-qt4-4
poppler-tools
即可解決 因為新版的 poppler 函式庫版本的關係,現在還在討論如何更新...

安裝 bumblebee 在 Acer aspire 4752G

幫老婆的筆電升級 12.2
當然參考前文仍是要安裝 bumblebee
來關閉 nvidia 顯示卡(需要時再用指令來使用,無法動態切換喔!)
# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation Device 0dea (rev ff)

您可以看見有兩張顯示卡:
Intel 的效能較差,但省電
Nvidia 效能較好,較耗電
麵沒有大碗好吃便宜又衛生的啦!

如果您的筆電開機有問題
先在 bios 中設定使用內建顯示卡開機
我是從 home:swyear:bumblebee 來安裝 bumblebee 相關套件
# zypper ar obs://home:swyear:bumblebee/openSUSE_12.2 bumblebee

加入套件庫
您也可以在 software.opensuse.org 搜尋其他套件庫
接著用圖形安裝
 
要安裝 bumblebee, VirtualGL, libbsd0, libturbojpeg, bbswitch-kmp-[Flavor]
其中 bbswitch 套件需要自行選取所用的核心口味
用下列指令看一下:
# uname -r
3.4.6-2.10-desktop

所以選擇 bbswitch-kmp-desktop

加入 Nvidia 套件庫
由 YaST--軟體套件庫--新增--社群套件庫--nVidia Graphics Drivers
仍依照您的核心口味選擇

安裝完成之後
由 YaST--系統--/etc/sysconfig 編輯器--System--Kernel--
將 NO_KMS_IN_INITRD 設為 no

接下來是一些檔案的移動
# mkdir -p /usr/lib64/nvidia/xorg/modules/updates/extensions
# mv /usr/X11R6/lib64/libGL* /usr/lib64/nvidia/
# mv /usr/lib64/xorg/modules/updates/extensions/libglx* /usr/lib64/nvidia/xorg/modules/updates/extensions/
# mkdir -p /usr/lib/nvidia
# mv /usr/X11R6/lib/libGL* /usr/lib/nvidia
檢查一下 /etc/bumblebee/bumblebee.conf
確認
Driver=nvidia
最後將使用者加入 bumblebee 的群組

如此就大功告成了
重新開機,進入 Bios
調整顯示卡為可切換模式
進入桌面後用終端機執行測試
$ glxinfo | grep render
direct rendering: Yes
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile 
    GL_NV_conditional_render, GL_ARB_ES2_compatibility,
$ optirun glxinfo | grep render
direct rendering: Yes
OpenGL renderer string: GeForce 610M/PCIe/SSE2
    GL_NV_conditional_render, GL_NV_copy_depth_to_color, GL_NV_copy_image, 
    GL_NV_parameter_buffer_object2, GL_NV_path_rendering, 
    GL_NVX_conditional_render, GL_NVX_gpu_memory_info, 
    GL_OES_depth_texture, GL_OES_element_index_uint, GL_OES_fbo_render_mipmap,
您也可以用 glxgears 來跑一下齒輪(注意:不和效能成正比)

2012年9月24日 星期一

用 wine 安裝 7z for windows

症狀如下:
http://kawsing.blogspot.tw/2009/06/windowszip.html
因為老婆需要讀取玉山銀行寄來的電子帳單
而玉山電子帳單.zip 就是這種的檔案
用 Ark 解壓縮後的結果:

除了檔名是亂碼,也無法讀取

最後選擇了用 wine 來安裝 7z
(要老婆用指令會害我被罵的...)
首先安裝 wine
# zypper in wine

下載 7z : http://www.7-zip.org/
選擇 7-zip for windows 32bit x86 的下載
下載完成後執行(請依照您下載的檔案名稱)
$ wine 7z920.exe

按下一步直到完成
接著在 zip 檔上按右鍵,選擇用其他程式開啟

選擇用 wine 裏面的 7-zip File Manager 來開啟
您也可以設成預設的應用程式
可正確看到檔名並開啟了



2012年9月22日 星期六

openSUSE 12.2 小提醒(2)--rmvb

裝了一堆 gstreamer 的 plugins 加上 libxine2 相關套件加上 w32codec-all
kaffeine 還是沒辦法播 rmvb 的檔案
所以只好請出 Mplayer 了
packman 中有 mplayer2
 
這是從原本的 Mplayer 計劃中分支出來的
您可以安裝他的前端 smplayer2
接著在 rmvb 檔案上按右鍵--用 SMplayer2 開啟
(很奇怪被分類在 「多媒體」--「音效播放程式」中)
並勾取「記住此類檔案的應用程式關聯」
 
以後就會用 SMplayer2 來播放 rmvb 了


2012年9月21日 星期五

openSUSE 12.2 kdm 佈景小修改

簡單來說:因為登入畫面的佈景不夠透明,所以質感不好
看看這張,如果您覺得稍有改善就繼續看下去
否則跳過此篇吧


所有要做的事只是將 panel.png 透明度調高(更透明)
用 gimp 開啟 /usr/share/kde4/apps/kdm/themes/openSUSE/panel.png

在右邊圖層工具箱上方,將不透明度調成 50% (可依喜好自行調整)
儲存後匯出成原本名稱 panel.png
(從這版 (2.8.0) 的 gimp 開始,不能用儲存時直接改副檔名來變更儲存格式,要用檔案--匯出功能)
將 panel.png 放回原處即可
懶得自己做的話,這裡有個現成的

如果之前曾變更  kdm 主題,記得修改 /etc/sysconfig/displaymanager
 改回
DISPLAYMANAGER_KDM_THEME="openSUSE"

後話: gimp 的 "說明"--"關於"(Help--About)中的感謝名單是動畫顯示 酷!