TigerVNC编译安装
TigerVNC official site:http://www.linuxfromscratch.org/blfs/view/svn/xsoft/tigervnc.html
TigerVNC版本:1.6.0
一、Prerequisites
*******************************************************************************
** Building TigerVNC
*******************************************************************************
================================
Build Requirements (All Systems)
================================
-- CMake (http://www.cmake.org) v2.8 or later
-- zlib
-- FLTK 1.3.3 or later
-- If building TLS support:
* GnuTLS 3.x
* See "Building TLS Support" below.
-- If building native language support (NLS):
* Gnu gettext 0.14.4 or later
* See "Building Native Language Support" below.
-- libjpeg-turbo
* "Normal" libjpegv6 is also supported, although it is not
recommended as it is much slower.
=========================
※备注:可通过tigervnc源码中BUILDING.txt查看到以上内容,表明TigerVNC依赖FLTK库。
二、编译安装FLTK-1.3.3
1) 将下载的fltk-1.3.3-source.tar.gz放到/usr/local/src目录下
2) 切换至/usr/local/src目录,解压fltk-1.3.3-source.tar.gz
root@vnc-client:/usr/local/src# tar -xvf fltk-1.3.3-source.tar.gz
root@vnc-client:/usr/local/src# ls
fltk-1.3.3
3) 创建bin目录
root@vnc-client:/usr/local/src# cd fltk-1.3.3/
root@vnc-client:/usr/local/src/fltk-1.3.3# mkdir bin
4) 配置
root@vnc-client:/usr/local/src/fltk-1.3.3# cd bin
root@vnc-client:/usr/local/src/fltk-1.3.3/bin# cmake ..
5) 编译
root@vnc-client:/usr/local/src/fltk-1.3.3/bin# make
6) 安装
root@vnc-client:/usr/local/src/fltk-1.3.3/bin# make install
三、编译安装TigerVNC-1.6.0
1) 将下载的tigervnc-1.6.0.tar.gz放到/opt目录下
2) 将下载的tigervnc-1.6.0-gethomedir-1.patch和tigervnc-1.6.0-xorg118-1.patch 放到/opt目录下
3) 打补丁
root@vnc-client:/opt# patch -Np1 -i tigervnc-1.6.0-xorg118-1.patch
root@vnc-client:/opt# patch -Np1 -i tigervnc-1.6.0-gethomedir-1.patch
4) 切换至/opt目录,解压tigervnc-1.6.0.tar.gz
root@vnc-client:/opt# tar -xvf tigervnc-1.6.0.tar.gz
root@vnc-client:/opt# cd tigervnc-1.6.0/
5) 创建build目录
root@vnc-client:/opt/tigervnc-1.6.0# mkdir -vp build
6) 配置FLTK_BASE_LIBRARY、FLTK_IMAGES_LIBRARY及FLTK_INCLUDE_DIR变量
通过修改/opt/tigervnc-1.6.0/CMakeLists.txt配置
a) 找到fltk库的全路径
root@vnc-client:/opt/tigervnc-1.6.0# find / -type f -name libfltk.a
/opt/fltk/lib/libfltk.a
/opt/fltk-1.3.3/lib/libfltk.a
/usr/local/lib/libfltk.a
/usr/local/src/fltk-1.3.3/bin/lib/libfltk.a
/usr/lib/libfltk.a
root@vnc-client:/usr/local/lib# ls
fltk libfltk_forms.a libfltk_images.a
libfltk.a libfltk_gl.a
b) 修改CMakeLists.txt
root@vnc-client:/opt/tigervnc-1.6.0# vi /opt/tigervnc-1.6.0/CMakeLists.txt
增加如下内容
------------------
set(FLTK_BASE_LIBRARY "/usr/local/lib/libfltk.a")
set(FLTK_IMAGES_LIBRARY "/usr/local/lib/libfltk_images.a")
set(FLTK_INCLUDE_DIR "/usr/local/include/")
------------------
※备注:此步骤很关键,如果不配置变量,cmake配置时会报出warning,在make阶段报出错误
------------------
Linking CXX executable vncviewer
................................
collect2: error: ld returned 1 exit status
vncviewer/CMakeFiles/vncviewer.dir/build.make:404: recipe for target 'vncviewer/vncviewer' failed
make[2]: *** [vncviewer/vncviewer] Error 1
CMakeFiles/Makefile2:775: recipe for target 'vncviewer/CMakeFiles/vncviewer.dir/all' failed
make[1]: *** [vncviewer/CMakeFiles/vncviewer.dir/all] Error 2
Makefile:117: recipe for target 'all' failed
------------------
7) 配置
root@vnc-client:/opt/tigervnc-1.6.0/build# cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -Wno-dev ..
8) 编译
root@vnc-client:/opt/tigervnc-1.6.0/build# make
9) 安装
root@vnc-client:/opt/tigervnc-1.6.0/build# make install
即可使用/usr/bin/vncviewer。
TigerVNC编译安装的更多相关文章
- Centos6.5下编译安装mysql 5.6
一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...
- CENTOS 6.5 平台离线编译安装 PHP5.6.6
一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...
- Linux下编译安装Vim8.0
什么是Vim? Vim 是经典的 UNIX 编辑器 Vi 的深度改良版本.它增加了许多功能,包括:多级撤销.格式高亮.命令行历史.在线帮助.拼写检查.文件名补完.块操作.脚本支持,等等.除了字符界面版 ...
- OpenSUSE下编译安装OpenFoam
在不是Ubuntu系统下安装OpenFoam,需要采用编译安装的方式.以下以OpenSuSE为例进行编译安装. 1 软件包准备 需要下载两个程序包: OpenFOAM-4.x-version-4.1. ...
- 不要着急改代码,先想想--centos 6.8下编译安装tmux
诸位读者新年好,2017开年第一篇博客,请允许我先问候一下看到这篇博客的诸位.写博客是我2017年定下的目标之一,希望我会坚持下去. 最近打算尝试一下tmux这个神器,于是有了这一篇关于思维方式的Bl ...
- protobuf的编译安装
github地址:https://github.com/google/protobuf支持多种语言,有多个语言的版本,本文采用的是在centos7下编译源码进行安装. github上有详细的安装说明: ...
- 编译安装mysql
参考:http://www.centoscn.com/CentosServer/www/2015/0422/5245.html 安装mysql5.6.17 1.按照标准需要给mysql创建所属用户和用 ...
- 编译安装zabbix3.2
1.1 环境准备 系统环境准备:redhat 6.6 64位mysql-5.6.34php-5.6.28zabbix-3.2.1配置前先关闭iptables和SELINUX,避免安装过程中报错. # ...
- centos系统编译安装nginx+php环境另加独立mysql教程
以前看过的安装nginx+php环境都带了mysql数据库了,这个是因为很多站长都是nginx+php+mysql都在同一台服务器了,那么今天我们是单独处理了,一个是nginx+php环境,然后mys ...
随机推荐
- TreeView 树节点的处理
TreeView 树节点的处理 using System; using System.Collections.Generic; using System.ComponentModel; using S ...
- pyodbc连接MySQL数据库
1:Python安装pyodbc:pip install pyodbc 2:安装unixODBC-2.3.4.tar.gz ./configure make make install 3:下载基于py ...
- Result Maps、Auto-mapping、cache
1. Result Maps resultMap元素是Mybatis里面最重要的并且功能最强大的一个元素.(The resultMapelement is the most important an ...
- 虚拟机VMware的安装以及指南
VMware是一个非常强大的虚拟软件,它的更新速度非常的快,随着软件的更新速度的加快,它的大小会越来越大,但是新的版本大多数会是给企业使用的,对于我们而言,不那么的需要,所以,我们只需要使用一些差不多 ...
- python中not的用法
python中的not具体表示是什么: 在python中not是逻辑判断词,用于布尔型True和False,not True为False,not False为True,以下是几个常用的not的用法: ...
- Consumer设计-high/low Level Consumer
1 Producer和Consumer的数据推送拉取方式 Producer Producer通过主动Push的方式将消息发布到Broker n Consumer Consumer通过Pull从Br ...
- [Elasticsearch2.x] 多字段搜索 (三) - multi_match查询和多数字段 <译>
multi_match查询 multi_match查询提供了一个简便的方法用来对多个字段执行相同的查询. NOTE 存在几种类型的multi_match查询,其中的3种正好和在“了解你的数据”一节中提 ...
- B和strong以及i和em的区别(转)
B和strong以及i和em的区别 (2013-12-31 13:58:35) 标签: b strong i em 搜索引擎 分类: 网页制作 一直以来都以为B和strong以及i和em是相同的效果, ...
- 全文检索技术---Lucene
1 Lucene介绍 1.1 什么是Lucene Lucene是apache下的一个开源的全文检索引擎工具包.它为软件开发人员提供一个简单易用的工具包(类库),以方便的在目标系统中实现 ...
- HDU 6162 树链剖分
题意:给你一颗树,每个节点有有一个权值,每次询问从x到y的最短路上权值在c到d之间的所有的点的权值和是多少. 思路:肯定要用树剖,因为询问c到d之间这种操作树上倍增很难做,但是用其它数据结构可以比较好 ...