東川印記

一本東川,笑看爭龍斗虎;寰茫兦者,度橫佰昧人生。

GTK学习01

2014年7月17日星期四



GTL(Gimp TooKit)
GTK (Gimp ToolKit)原 本來影像處理軟體 GIMP(GNU Image Manipulation Program) 的開發工具箱,後來成為一個跨平台的圖形介面開發套件,GTK 基於 C 語言,但不限於使用 C 語言,您也可以使用 C++、Java、PHP、Perl、Python、Ruby 等語言來撰寫 GTK 程式(參考 Language Bindings), 這邊的文件將記錄一些 GTK+ 的心得,所使用的環境為 Ubuntu 8.04,实际环境为12.04。

一上来就报错了

E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出

额  一开是折腾源,发现源里有google的,现在谷歌被墙一个多月了,无力;
删掉谷歌的源,然后发现国内的地址也是老掉。。。。。

然后,无奈的重启的机器。。。。
        senrsl@senrsl-desktop:~$ sudo apt-get update
就很神奇的执行成功了。。。。


然后接着看错误
  这是因为我要装的东西,他需要一些包,是新版的,但是机器上装了旧版的,所以就报错

然后,找到了命令  aptitude

介绍

aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些。举例来说,aptitude 在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。以下是笔者总结的一些常用 aptitude 命令,仅供参考。

命令 作用
aptitude update 更新可用的包列表
aptitude upgrade 升级可用的包
aptitude dist-upgrade 将系统升级到新的发行版
aptitude install pkgname 安装包
aptitude remove pkgname 删除包
aptitude purge pkgname 删除包及其配置文件
aptitude search string 搜索包
aptitude show pkgname 显示包的详细信息
aptitude clean 删除下载的包文件
aptitude autoclean 仅删除过期的包文件

也可以在文本界面模式中使用 aptitude。

最后,执行的命令

  1. senrsl@senrsl-desktop:~$ sudo apt-get autoclean
  2. [sudo] password for senrsl:
  3. 正在读取软件包列表... 完成
  4. 正在分析软件包的依赖关系树      
  5. 正在读取状态信息... 完成      
  6. senrsl@senrsl-desktop:~$ sudo apt-get clean
  7. senrsl@senrsl-desktop:~$ sudo apt-get autoremove
  8. 正在读取软件包列表... 完成
  9. 正在分析软件包的依赖关系树      
  10. 正在读取状态信息... 完成      
  11. 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 22 个软件包未被升级。
  12. senrsl@senrsl-desktop:~$ sudo apt-get install libgtk
  13. Display all 124 possibilities? (y or n)
  14. libgtk2.0-0                     libgtkhotkey-dev
  15. libgtk2.0-0-dbg                 libgtkhtml3.14-19
  16. libgtk2.0-bin                   libgtkhtml3.14-cil-dev
  17. libgtk2.0-cil                   libgtkhtml3.14-dbg
  18. libgtk2.0-cil-dev               libgtkhtml3.14-dev
  19. libgtk2.0-common                libgtkhtml3.16-cil
  20. libgtk2.0-dev                   libgtkhtml-4.0-0
  21. libgtk2.0-doc                   libgtkhtml-4.0-common
  22. libgtk2-ex-entry-pango-perl     libgtkhtml-4.0-dbg
  23. libgtk2-ex-formfactory-perl     libgtkhtml-4.0-dev
  24. libgtk2-ex-podviewer-perl       libgtkhtml-editor0
  25. libgtk2-ex-printdialog-perl     libgtkhtml-editor-4.0-0
  26. libgtk2-ex-simple-list-perl     libgtkhtml-editor-4.0-dev
  27. libgtk2-ex-volumebutton-perl    libgtkhtml-editor-common
  28. libgtk2-gladexml-perl           libgtkhtml-editor-dev
  29. libgtk2-gladexml-simple-perl    libgtkimageview0
  30. libgtk2-gst                     libgtkimageview-dev
  31. libgtk2-imageview-perl          libgtkmathview0c2a
  32. libgtk2-notify-perl             libgtkmathview-bin
  33. libgtk2-perl                    libgtkmathview-dev
  34. libgtk2-perl-doc                libgtkmm-2.4-1c2a
  35. libgtk2-ruby                    libgtkmm-2.4-dbg
  36. libgtk2-ruby1.8                 libgtkmm-2.4-dev
  37. libgtk2-ruby1.8-dbg             libgtkmm-2.4-doc
  38. libgtk2-sourceview2-perl        libgtkmm-3.0-1
  39. libgtk2-spell-perl              libgtkmm-3.0-dbg
  40. libgtk2-trayicon-perl           libgtkmm-3.0-dev
  41. libgtk2-traymanager-perl        libgtkmm-3.0-doc
  42. libgtk2-unique-perl             libgtkmm-utils2
  43. libgtk-3-0                      libgtkmm-utils-dev
  44. libgtk-3-0-dbg                  libgtkpod1
  45. libgtk-3-bin                    libgtkpod-dev
  46. libgtk-3-common                 libgtk-sharp-beans2.0-cil-dev
  47. libgtk-3-dev                    libgtk-sharp-beans-cil
  48. libgtk-3-doc                    libgtksourceview2.0-0
  49. libgtkada2.24.1                 libgtksourceview2.0-common
  50. libgtkada2.24.1-dev             libgtksourceview2.0-dev
  51. libgtkada-bin                   libgtksourceview2.0-doc
  52. libgtkada-dbg                   libgtksourceview2-2.0-cil
  53. libgtkada-doc                   libgtksourceview2-cil-dev
  54. libgtkdatabox-0.9.1-1           libgtksourceview2-ruby
  55. libgtkdatabox-0.9.1-1-dev       libgtksourceview2-ruby1.8
  56. libgtkdatabox-0.9.1-1-glade     libgtksourceview2-ruby1.8-dbg
  57. libgtkdatabox-0.9.1-1-libglade  libgtksourceview-3.0-0
  58. libgtkgl2.0-1                   libgtksourceview-3.0-common
  59. libgtkgl2.0-dev                 libgtksourceview-3.0-dev
  60. libgtkglada2.24.1               libgtksourceview-3.0-doc
  61. libgtkglada2.24.1-dev           libgtksourceviewmm-3.0-0
  62. libgtkglada-dbg                 libgtksourceviewmm-3.0-dbg
  63. libgtkglarea0.0-cil             libgtksourceviewmm-3.0-dev
  64. libgtkglarea-cil-dev            libgtksourceviewmm-3.0-doc
  65. libgtkglarea-cil-examples       libgtkspell0
  66. libgtkglext1                    libgtkspell-3-0
  67. libgtkglext1-dbg                libgtkspell-3-dev
  68. libgtkglext1-dev                libgtkspell-dev
  69. libgtkglext1-doc                libgtkstylus
  70. libgtkglextmm-x11-1.2-0         libgtk-vnc-1.0-0
  71. libgtkglextmm-x11-1.2-dev       libgtk-vnc-1.0-0-dbg
  72. libgtkglextmm-x11-1.2-doc       libgtk-vnc-1.0-dev
  73. libgtkhex-3-0                   libgtk-vnc-2.0-0
  74. libgtkhex-3-dev                 libgtk-vnc-2.0-0-dbg
  75. libgtkhotkey1                   libgtk-vnc-2.0-dev
  76. senrsl@senrsl-desktop:~$ sudo apt-get install libgtk-3-d
  77. libgtk-3-dev  libgtk-3-doc 
  78. senrsl@senrsl-desktop:~$ sudo apt-get install libgtk-3-d
  79. libgtk-3-dev  libgtk-3-doc 
  80. senrsl@senrsl-desktop:~$ sudo apt-get install libgtk-3-dev
  81. 正在读取软件包列表... 完成
  82. 正在分析软件包的依赖关系树      
  83. 正在读取状态信息... 完成      
  84. 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
  85. 因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
  86. 包尚未被创建或是它们已被从新到(Incoming)目录移出。
  87. 下列信息可能会对解决问题有所帮助:
  88. 下列软件包有未满足的依赖关系:
  89.  libgtk-3-dev : 依赖: libglib2.0-dev (>= 2.32.0) 但是它将不会被安装
  90.                 依赖: libgdk-pixbuf2.0-dev (>= 2.26.0) 但是它将不会被安装
  91.                 依赖: libpango1.0-dev (>= 1.30.0) 但是它将不会被安装
  92.                 依赖: libatk1.0-dev (>= 2.2.0) 但是它将不会被安装
  93.                 依赖: libcairo2-dev (>= 1.10.0) 但是它将不会被安装
  94.                 依赖: libx11-dev (>= 2:1.0.0-6) 但是它将不会被安装
  95.                 依赖: libxext-dev (>= 1:1.0.1-2) 但是它将不会被安装
  96.                 依赖: libxinerama-dev (>= 1:1.0.1-4.1) 但是它将不会被安装
  97.                 依赖: libxi-dev (>= 1:1.0.1-4) 但是它将不会被安装
  98.                 依赖: libxrandr-dev (>= 1:1.2.99)
  99.                 依赖: libxcursor-dev 但是它将不会被安装
  100.                 依赖: libxfixes-dev (>= 1:3.0.0-3) 但是它将不会被安装
  101.                 依赖: libxcomposite-dev (>= 1:0.2.0-3) 但是它将不会被安装
  102.                 依赖: libxdamage-dev (>= 1:1.0.1-3) 但是它将不会被安装
  103. E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
  104. senrsl@senrsl-desktop:~$ sudo apt-get install libgtk-3-dev
  105. 正在读取软件包列表... 完成
  106. 正在分析软件包的依赖关系树      
  107. 正在读取状态信息... 完成      
  108. 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
  109. 因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
  110. 包尚未被创建或是它们已被从新到(Incoming)目录移出。
  111. 下列信息可能会对解决问题有所帮助:
  112. 下列软件包有未满足的依赖关系:
  113.  libgtk-3-dev : 依赖: libglib2.0-dev (>= 2.32.0) 但是它将不会被安装
  114.                 依赖: libgdk-pixbuf2.0-dev (>= 2.26.0) 但是它将不会被安装
  115.                 依赖: libpango1.0-dev (>= 1.30.0) 但是它将不会被安装
  116.                 依赖: libatk1.0-dev (>= 2.2.0) 但是它将不会被安装
  117.                 依赖: libcairo2-dev (>= 1.10.0) 但是它将不会被安装
  118.                 依赖: libx11-dev (>= 2:1.0.0-6) 但是它将不会被安装
  119.                 依赖: libxext-dev (>= 1:1.0.1-2) 但是它将不会被安装
  120.                 依赖: libxinerama-dev (>= 1:1.0.1-4.1) 但是它将不会被安装
  121.                 依赖: libxi-dev (>= 1:1.0.1-4) 但是它将不会被安装
  122.                 依赖: libxrandr-dev (>= 1:1.2.99)
  123.                 依赖: libxcursor-dev 但是它将不会被安装
  124.                 依赖: libxfixes-dev (>= 1:3.0.0-3) 但是它将不会被安装
  125.                 依赖: libxcomposite-dev (>= 1:0.2.0-3) 但是它将不会被安装
  126.                 依赖: libxdamage-dev (>= 1:1.0.1-3) 但是它将不会被安装
  127. E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
  128. senrsl@senrsl-desktop:~$ sudo apt-get install libgtk2.0-dev
  129. 正在读取软件包列表... 完成
  130. 正在分析软件包的依赖关系树      
  131. 正在读取状态信息... 完成      
  132. 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
  133. 因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
  134. 包尚未被创建或是它们已被从新到(Incoming)目录移出。
  135. 下列信息可能会对解决问题有所帮助:
  136. 下列软件包有未满足的依赖关系:
  137.  libgtk2.0-dev : 依赖: libglib2.0-dev (>= 2.27.3) 但是它将不会被安装
  138.                  依赖: libgdk-pixbuf2.0-dev (>= 2.21.0) 但是它将不会被安装
  139.                  依赖: libpango1.0-dev (>= 1.20) 但是它将不会被安装
  140.                  依赖: libatk1.0-dev (>= 1.29.2) 但是它将不会被安装
  141.                  依赖: libcairo2-dev (>= 1.6.4-6.1) 但是它将不会被安装
  142.                  依赖: libx11-dev (>= 2:1.0.0-6) 但是它将不会被安装
  143.                  依赖: libxext-dev (>= 1:1.0.1-2) 但是它将不会被安装
  144.                  依赖: libxinerama-dev (>= 1:1.0.1-4.1) 但是它将不会被安装
  145.                  依赖: libxi-dev (>= 1:1.0.1-4) 但是它将不会被安装
  146.                  依赖: libxrandr-dev (>= 1:1.2.99)
  147.                  依赖: libxcursor-dev 但是它将不会被安装
  148.                  依赖: libxfixes-dev (>= 1:3.0.0-3) 但是它将不会被安装
  149.                  依赖: libxcomposite-dev (>= 1:0.2.0-3) 但是它将不会被安装
  150.                  依赖: libxdamage-dev (>= 1:1.0.1-3) 但是它将不会被安装
  151. E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
  152. senrsl@senrsl-desktop:~$ aptitude install libgtk-3-dev
  153. E: 无法打开锁文件 /var/lib/dpkg/lock - open (13: 权限不够)
  154. E: 无法对状态列表目录加锁(/var/lib/dpkg/),请查看您是否正以 root 用户运行?
  155. senrsl@senrsl-desktop:~$ sudo aptitude install libgtk-3-dev
  156. 下列"新"软件包将被安装。        
  157.   debhelper{a} dh-apparmor{a} html2text{a} libatk1.0-dev{a}
  158.   libcairo2-dev{ab} libgdk-pixbuf2.0-dev{a} libglib2.0-dev{ab} libgtk-3-dev
  159.   libmail-sendmail-perl{a} libpango1.0-dev{ab} libpng12-dev{a}
  160.   libsys-hostname-long-perl{a} libx11-dev{ab} libxcomposite-dev{a}
  161.   libxcursor-dev{a} libxdamage-dev{a} libxext-dev{a} libxfixes-dev{ab}
  162.   libxi-dev{ab} libxinerama-dev{a} libxrandr-dev{a} libxrender-dev{a}
  163.   po-debconf{a} x11proto-composite-dev{a} x11proto-core-dev{a}
  164.   x11proto-damage-dev{a} x11proto-fixes-dev{a} x11proto-input-dev{a}
  165.   x11proto-randr-dev{a} x11proto-render-dev{a} x11proto-xext-dev{a}
  166.   x11proto-xinerama-dev{a} xorg-sgml-doctools{a} zlib1g-dev{a}
  167. 下列软件包被"推荐"安装但是将"不会"被安装:
  168.   libx11-doc
  169. 0 个软件包被升级,新安装 34 个, 0 个将被删除, 同时 22 个将不升级。
  170. 需要获取 10.2 MB 的存档。 解包后将要使用 39.5 MB。
  171. 下列软件包存在未满足的依赖关系:
  172.  libglib2.0-dev : 依赖: libglib2.0-0 (= 2.32.1-0ubuntu2) 但是 2.32.4-0ubuntu1 已安装。
  173.                   依赖: libglib2.0-bin (= 2.32.1-0ubuntu2) 但是 2.32.4-0ubuntu1 已安装。
  174.                   依赖: libpcre3-dev (>= 8.11) 但它将不会被安装。
  175.  libpango1.0-dev : 依赖: libpango1.0-0 (= 1.30.0-0ubuntu2) 但是 1.30.0-0ubuntu3.1 已安装。
  176.                    依赖: gir1.2-pango-1.0 (= 1.30.0-0ubuntu2) 但是 1.30.0-0ubuntu3.1 已安装。
  177.                    依赖: libfreetype6-dev (>= 2.1.3) 但它将不会被安装。
  178.                    依赖: libxft-dev 但它将不会被安装。
  179.                    依赖: libfontconfig1-dev (>= 2.1.91) 但它将不会被安装。
  180.  libxi-dev : 依赖: libxi6 (= 2:1.6.0-0ubuntu2.1) 但是 2:1.7.1.901-1ubuntu1~precise1 已安装。
  181.  libcairo2-dev : 依赖: libcairo2 (= 1.10.2-6.1ubuntu2) 但是 1.10.2-6.1ubuntu3 已安装。
  182.                  依赖: libcairo-gobject2 (= 1.10.2-6.1ubuntu2) 但是 1.10.2-6.1ubuntu3 已安装。
  183.                  依赖: libcairo-script-interpreter2 (= 1.10.2-6.1ubuntu2) 但它将不会被安装。
  184.                  依赖: libfontconfig1-dev (>= 2.2.95) 但它将不会被安装。
  185.                  依赖: libfreetype6-dev (>= 2.1.10) 但它将不会被安装。
  186.                  依赖: libsm-dev 但它将不会被安装。
  187.                  依赖: libpixman-1-dev (>= 0.18.4) 但它将不会被安装。
  188.                  依赖: libxcb1-dev (>= 1.4) 但它将不会被安装。
  189.                  依赖: libxcb-render0-dev (>= 0.9.92) 但它将不会被安装。
  190.                  依赖: libxcb-shm0-dev 但它将不会被安装。
  191.  libx11-dev : 依赖: libx11-6 (= 2:1.4.99.1-0ubuntu2.1) 但是 2:1.4.99.1-0ubuntu2.2 已安装。
  192.               依赖: libxau-dev (>= 1:1.0.0-1) 但它将不会被安装。
  193.               依赖: libxdmcp-dev (>= 1:1.0.0-1) 但它将不会被安装。
  194.               依赖: x11proto-kb-dev 但它将不会被安装。
  195.               依赖: xtrans-dev 但它将不会被安装。
  196.               依赖: libxcb1-dev 但它将不会被安装。
  197.  libxfixes-dev : 依赖: libxfixes3 (= 1:5.0-4ubuntu4.1) 但是 1:5.0-4ubuntu4.2 已安装。
  198. 下列动作将解决这些依赖关系:
  199.       保持 下列软件包于其当前版本:   
  200. 1)      libatk1.0-dev [未安装的]      
  201. 2)      libcairo2-dev [未安装的]      
  202. 3)      libgdk-pixbuf2.0-dev [未安装的]
  203. 4)      libglib2.0-dev [未安装的]     
  204. 5)      libgtk-3-dev [未安装的]       
  205. 6)      libpango1.0-dev [未安装的]    
  206. 7)      libx11-dev [未安装的]         
  207. 8)      libxcomposite-dev [未安装的]  
  208. 9)      libxcursor-dev [未安装的]     
  209. 10)     libxdamage-dev [未安装的]     
  210. 11)     libxext-dev [未安装的]        
  211. 12)     libxfixes-dev [未安装的]      
  212. 13)     libxi-dev [未安装的]          
  213. 14)     libxinerama-dev [未安装的]    
  214. 15)     libxrandr-dev [未安装的]      
  215. 16)     libxrender-dev [未安装的]     
  216. 是否接受该解决方案?[Y/n/q/?] y
  217. 下列"新"软件包将被安装。
  218.   debhelper{a} dh-apparmor{a} html2text{a} libmail-sendmail-perl{a} libsys-hostname-long-perl{a} po-debconf{a}
  219. 0 个软件包被升级,新安装 6 个, 0 个将被删除, 同时 22 个将不升级。
  220. 需要获取 974 kB 的存档。 解包后将要使用 2,016 kB。
  221. 您要继续吗?[Y/n/?] y
  222. 读取: 1 http://security.ubuntu.com/ubuntu/ precise-security/main dh-apparmor all 2.7.102-0ubuntu3.7 [9,030 B]
  223. 读取: 2 http://cn.archive.ubuntu.com/ubuntu/ precise/main html2text i386 1.3.2a-15 [101 kB]
  224. 读取: 3 http://cn.archive.ubuntu.com/ubuntu/ precise/main po-debconf all 1.0.16+nmu2ubuntu1 [210 kB]
  225. 读取: 4 http://cn.archive.ubuntu.com/ubuntu/ precise/main debhelper all 9.20120115ubuntu3 [616 kB]
  226. 读取: 5 http://cn.archive.ubuntu.com/ubuntu/ precise/main libsys-hostname-long-perl all 1.4-2 [11.4 kB]
  227. 读取: 6 http://cn.archive.ubuntu.com/ubuntu/ precise/main libmail-sendmail-perl all 0.79.16-1 [26.5 kB]
  228. 已下载 974 kB,耗时 15秒 (61.0 kB/s)                                           
  229. Selecting previously unselected package html2text.
  230. (正在读取数据库 ... 系统当前共安装有 156982 个文件和目录。)
  231. 正在解压缩 html2text (从 .../html2text_1.3.2a-15_i386.deb) ...
  232. Selecting previously unselected package po-debconf.
  233. 正在解压缩 po-debconf (从 .../po-debconf_1.0.16+nmu2ubuntu1_all.deb) ...
  234. Selecting previously unselected package dh-apparmor.
  235. 正在解压缩 dh-apparmor (从 .../dh-apparmor_2.7.102-0ubuntu3.7_all.deb) ...
  236. Selecting previously unselected package debhelper.
  237. 正在解压缩 debhelper (从 .../debhelper_9.20120115ubuntu3_all.deb) ...
  238. Selecting previously unselected package libsys-hostname-long-perl.
  239. 正在解压缩 libsys-hostname-long-perl (从 .../libsys-hostname-long-perl_1.4-2_all.deb) ...
  240. Selecting previously unselected package libmail-sendmail-perl.
  241. 正在解压缩 libmail-sendmail-perl (从 .../libmail-sendmail-perl_0.79.16-1_all.deb) ...
  242. 正在处理用于 man-db 的触发器...
  243. 正在处理用于 doc-base 的触发器...
  244. Processing 1 added doc-base file...
  245. 正在设置 html2text (1.3.2a-15) ...
  246. 正在设置 po-debconf (1.0.16+nmu2ubuntu1) ...
  247. 正在设置 dh-apparmor (2.7.102-0ubuntu3.7) ...
  248. 正在设置 debhelper (9.20120115ubuntu3) ...
  249. 正在设置 libsys-hostname-long-perl (1.4-2) ...
  250. 正在设置 libmail-sendmail-perl (0.79.16-1) ...
  251.                                 
  252. senrsl@senrsl-desktop:~$

好吧,该计划宣告失败!
明天找网管把机器升级上去。。。。
18:41:05



--
senRsl
2014-07-17 16:23
GMT+8 @Beijing Tongzhou

没有评论 :

发表评论