gentoo安装的点点滴滴(七)
2014-06-18 20:23
253 查看
1. 今天升级youcompleteme插件出现了很多问题,现在将解决的方法记录下:
错误一:
google了半天没有结果,还上gentoo论坛上问了,也没有结果。思来想去,就去检查下ebuid的文件,惊奇的发现下面的依赖关系
再安装youcomplete时,差不多快成功了,编译到91%的时候又来个错误,有点坑啊!!错误是说'Test::WhenSorted' is not in the scope。这次google有效果了,看到whesorted与gmock有关,不是已经安装gmock了,怎么还会和这个有关呢?再联想下是不是安装的版本不够新,再次安装gmock最新版本,最后终于通过了91%了,安装成功。
2. 固定当前的内核版本,当升级系统的时候不升级内核,可以用下面的命令来实现:(经过测试不给力,直接将sys-kernel/gentoo-sources写入到package.mask就可以)
3. 更新layman里面的ebuild的命令如下:
4. gentoo连接nexus7安装mtpfs,还不行,要安装新版本的go-mtpfs才可以连接。参考wiki:http://wiki.gentoo.org/wiki/MTP
Configuration
Your user needs to be in the "plugdev" group:
Usage
mount:
Note: If you don't run go-mtpfs in the background (with & at the end), you will need another console to browse the device and to unmount it.
unmount:
When you unmount the device, go-mtpfs will quit.
5. gentoo添加打印机的方法:
最近有一台佳能iR3235打印机要添加到自己的gentoo打印机上。先找到相应的驱动,佳能的UFR驱动:
然后在浏览器打开http://localhost:631/,里面有添加打印机,要输入用户名与密码。这个要输入root的密码,再选择iR3235就可以了。
最后安装一个gtklp这个是CUPS比如打印进度、进程管理之类的GUI前端,可以直接由这个管理。
6. 重新更新了系统了,会出现一些32位软件的gtk的icon不能显示。比如adobe reader。google了好久,也试了好多方法,最后得到的结论是重新安装下面的软件就可以了。
7. 上次全面更新系统后,出现了一个奇怪的问题。如下图所示:
没有菜单栏了,还有一些程序也是这样。因为是全面更新,所以肯定是哪个软件的版本太高了,或者删除了某个软件才会导致成这样。
先找nm-applet这个软件,我的桌面是xfce的,nm-applet是gnome的。所以在/var/log/emerge.log中刚才更新的软件中找gnome相关的。
1. 找到了一个gnome-base,先降级,没有反应。还是原来一样的问题
2. 再找相关gtk的,找到一个gtk-engine的,先降级,也没有反应。
3. 快崩溃了,想不到好方法啊。 后来想到了zenity,打开后也是一样的没有菜单。难道nm-applet是调用了zenity,于是将zenity降级,问题一样存在。无语中,直接将其删除,结果用-c还真能删除,没有依赖关系,原来nm-applet不是调用zenity这个。
4. 那这样来就是找zenity的原理,看他调用了什么库。google了下zenity可以调出gtk+ dialog。想想应该和gtk+库有关,直接emerge -s gtk+出来,再看看/var/log/emerge.log中的gtk+还真升级了。
5. 因为ubuntu中也有zenity看看ubuntu的都能调出菜单栏,不科学啊!再看看ubuntu中的gtk+库,用命令dpkg -l libgtk*,这个gtk+是3.10(ubuntu 14.04下面),而我升级的是gtk+3.12
6. 问题大概找到了吧,原来就是这个gtk+版本出问题了。直接降级吧,问题又来了,满足不了依赖,gtkmm3.12要依赖gtk+3.12,直接删除gtkmm3.12。问题又来了,gnome-blutooth要依赖>=gtk+3.11,平时也不用bluetooth就直接卸装了。可是还不能随便删除啊,nm-applet依赖于gnome-bluetooth,原来在编译nm-applet时选择use=bluetooth时会安装gnomeblutooth。
7. 直接重新编译nm-applet,加-bluetooth的use。再删除gnome-bluetooth,最后安装gtk+3.10。终于出现了,如下图
8. 上面的问题解决了,又出现了新的问题,我的wireshark打不开了,出现了下面的问题:
这样又把gtk升级到3.12这个问题就没有了,看来是这个gtk3.12出问题了啊!!!最后编译wireshark时选择gtk2,去除gtk3就可以了。如果选择gtk3的话就要用gtk3.12才不会出现上面的wireshark问题,但是选gtk3.12又会出现第7个问题,没有标题栏的问题。折中只能选择gtk2编译wireshark了。
9. fcitx出问题了,一直不能激活,找了好久的原因,都不知道为什么。后来在网上看到有人说直接到~/.config/fcitx下全部删除,就可以了。可能是以前的配置出问题了,又找不出来,这就是最好的方法了。之后就好了。呵呵
错误一:
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message): Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY) Call Stack (most recent call first): /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE) /usr/share/cmake/Modules/FindGTest.cmake:150 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) ycm/tests/CMakeLists.txt:33 (find_package)
google了半天没有结果,还上gentoo论坛上问了,也没有结果。思来想去,就去检查下ebuid的文件,惊奇的发现下面的依赖关系
DEPEND=" ${COMMON_DEPEND} test? ( >=dev-python/mock-1.0.1[${PYTHON_USEDEP}] >=dev-python/nose-1.3.0[${PYTHON_USEDEP}] dev-cpp/gmock dev-cpp/gtest ) "看到gtest,上面的错误多次出现gtest。再emerge -s gtest,果然是没有安装这个软件引起的。安装后再安装youcompleteme出现另外一个错误与gmock有关,于是乎将depend的里面的软件都安装下。
再安装youcomplete时,差不多快成功了,编译到91%的时候又来个错误,有点坑啊!!错误是说'Test::WhenSorted' is not in the scope。这次google有效果了,看到whesorted与gmock有关,不是已经安装gmock了,怎么还会和这个有关呢?再联想下是不是安装的版本不够新,再次安装gmock最新版本,最后终于通过了91%了,安装成功。
2. 固定当前的内核版本,当升级系统的时候不升级内核,可以用下面的命令来实现:(经过测试不给力,直接将sys-kernel/gentoo-sources写入到package.mask就可以)
echo ">sys-kernel/gentoo-sources-3.12.20" >> /etc/portage/package.mask echo "=sys-kernel/gentoo-sources-3.12.20" >> /etc/portage/package.unmask
3. 更新layman里面的ebuild的命令如下:
sudo layman -s gentoo-zh最后面是layman的名字。
4. gentoo连接nexus7安装mtpfs,还不行,要安装新版本的go-mtpfs才可以连接。参考wiki:http://wiki.gentoo.org/wiki/MTP
root #
emerge --ask go-mtpfs
Configuration
Your user needs to be in the "plugdev" group:
root #
gpasswd -a YOUR_USER plugdev
Usage
mount:
user $
mkdir
~/AndroidDevice
user $
go-mtpfs ~/AndroidDevice &
Note: If you don't run go-mtpfs in the background (with & at the end), you will need another console to browse the device and to unmount it.
unmount:
user $
fusermount -u ~/AndroidDevice
When you unmount the device, go-mtpfs will quit.
5. gentoo添加打印机的方法:
最近有一台佳能iR3235打印机要添加到自己的gentoo打印机上。先找到相应的驱动,佳能的UFR驱动:
emerge -av cndrvcups-lbgentoo自带cups打印机管理服务,先启动这个服务:
beyond@beyond ~ $ sudo /etc/init.d/cupsd start
然后在浏览器打开http://localhost:631/,里面有添加打印机,要输入用户名与密码。这个要输入root的密码,再选择iR3235就可以了。
最后安装一个gtklp这个是CUPS比如打印进度、进程管理之类的GUI前端,可以直接由这个管理。
6. 重新更新了系统了,会出现一些32位软件的gtk的icon不能显示。比如adobe reader。google了好久,也试了好多方法,最后得到的结论是重新安装下面的软件就可以了。
sudo emerge -av emul-linux-x86-gtklibs
7. 上次全面更新系统后,出现了一个奇怪的问题。如下图所示:
没有菜单栏了,还有一些程序也是这样。因为是全面更新,所以肯定是哪个软件的版本太高了,或者删除了某个软件才会导致成这样。
先找nm-applet这个软件,我的桌面是xfce的,nm-applet是gnome的。所以在/var/log/emerge.log中刚才更新的软件中找gnome相关的。
1. 找到了一个gnome-base,先降级,没有反应。还是原来一样的问题
2. 再找相关gtk的,找到一个gtk-engine的,先降级,也没有反应。
3. 快崩溃了,想不到好方法啊。 后来想到了zenity,打开后也是一样的没有菜单。难道nm-applet是调用了zenity,于是将zenity降级,问题一样存在。无语中,直接将其删除,结果用-c还真能删除,没有依赖关系,原来nm-applet不是调用zenity这个。
4. 那这样来就是找zenity的原理,看他调用了什么库。google了下zenity可以调出gtk+ dialog。想想应该和gtk+库有关,直接emerge -s gtk+出来,再看看/var/log/emerge.log中的gtk+还真升级了。
5. 因为ubuntu中也有zenity看看ubuntu的都能调出菜单栏,不科学啊!再看看ubuntu中的gtk+库,用命令dpkg -l libgtk*,这个gtk+是3.10(ubuntu 14.04下面),而我升级的是gtk+3.12
6. 问题大概找到了吧,原来就是这个gtk+版本出问题了。直接降级吧,问题又来了,满足不了依赖,gtkmm3.12要依赖gtk+3.12,直接删除gtkmm3.12。问题又来了,gnome-blutooth要依赖>=gtk+3.11,平时也不用bluetooth就直接卸装了。可是还不能随便删除啊,nm-applet依赖于gnome-bluetooth,原来在编译nm-applet时选择use=bluetooth时会安装gnomeblutooth。
7. 直接重新编译nm-applet,加-bluetooth的use。再删除gnome-bluetooth,最后安装gtk+3.10。终于出现了,如下图
8. 上面的问题解决了,又出现了新的问题,我的wireshark打不开了,出现了下面的问题:
beyond@beyond ~ $ wireshark (wireshark:10964): GLib-GIO-CRITICAL **: g_loadable_icon_load: assertion 'G_IS_LOADABLE_ICON (icon)' failed (wireshark:10964): Gtk-WARNING **: Error loading theme icon 'gtk-select-color' for stock: 图标加载失败 (wireshark:10964): Gtk-CRITICAL **: render_fallback_image: assertion 'pixbuf != NULL' failed (wireshark:10964): GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed (wireshark:10964): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed (wireshark:10964): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed (wireshark:10964): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed ** Gdk:ERROR:gdkcairo.c:193:gdk_cairo_surface_paint_pixbuf: assertion failed: (cairo_image_surface_get_format (surface) == CAIRO_FORMAT_RGB24 || cairo_image_surface_get_format (surface) == CAIRO_FORMAT_ARGB32) 已放弃
这样又把gtk升级到3.12这个问题就没有了,看来是这个gtk3.12出问题了啊!!!最后编译wireshark时选择gtk2,去除gtk3就可以了。如果选择gtk3的话就要用gtk3.12才不会出现上面的wireshark问题,但是选gtk3.12又会出现第7个问题,没有标题栏的问题。折中只能选择gtk2编译wireshark了。
9. fcitx出问题了,一直不能激活,找了好久的原因,都不知道为什么。后来在网上看到有人说直接到~/.config/fcitx下全部删除,就可以了。可能是以前的配置出问题了,又找不出来,这就是最好的方法了。之后就好了。呵呵
相关文章推荐
- 安装gentoo的点点滴滴(三)
- 安装gentoo的点点滴滴(五)
- 安装gentoo的点点滴滴(一)
- gentoo安装的点点滴滴(六)
- 安装gentoo的点点滴滴(四)
- 安装gentoo的点点滴滴(二)
- Gentoo安装小记
- Gentoo Linux的快速复制安装
- 请教Gentoo硬盘安装出现的问题
- Gentoo安装后的好玩现象
- 在gentoo中安装vmware-tools
- 制作一张最小系统的gentoo安装光盘
- 标题: HP Pavilion dv6711tx Notebook 上安装 gentoo 的报告[zt]
- Oracle在gentoo下安装
- gentoo ADSL 拨号 安装手册
- [导入]Gentoo系统下LAMP的安装和配置简介
- [B原创] Gentoo下安装SCIM的简单步骤
- gentoo安装文档 笔记
- 快速安装gentoo
- gentoo安装步骤整理