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编译安装的更多相关文章

  1. Centos6.5下编译安装mysql 5.6

    一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...

  2. CENTOS 6.5 平台离线编译安装 PHP5.6.6

    一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...

  3. Linux下编译安装Vim8.0

    什么是Vim? Vim 是经典的 UNIX 编辑器 Vi 的深度改良版本.它增加了许多功能,包括:多级撤销.格式高亮.命令行历史.在线帮助.拼写检查.文件名补完.块操作.脚本支持,等等.除了字符界面版 ...

  4. OpenSUSE下编译安装OpenFoam

    在不是Ubuntu系统下安装OpenFoam,需要采用编译安装的方式.以下以OpenSuSE为例进行编译安装. 1 软件包准备 需要下载两个程序包: OpenFOAM-4.x-version-4.1. ...

  5. 不要着急改代码,先想想--centos 6.8下编译安装tmux

    诸位读者新年好,2017开年第一篇博客,请允许我先问候一下看到这篇博客的诸位.写博客是我2017年定下的目标之一,希望我会坚持下去. 最近打算尝试一下tmux这个神器,于是有了这一篇关于思维方式的Bl ...

  6. protobuf的编译安装

    github地址:https://github.com/google/protobuf支持多种语言,有多个语言的版本,本文采用的是在centos7下编译源码进行安装. github上有详细的安装说明: ...

  7. 编译安装mysql

    参考:http://www.centoscn.com/CentosServer/www/2015/0422/5245.html 安装mysql5.6.17 1.按照标准需要给mysql创建所属用户和用 ...

  8. 编译安装zabbix3.2

    1.1 环境准备 系统环境准备:redhat 6.6 64位mysql-5.6.34php-5.6.28zabbix-3.2.1配置前先关闭iptables和SELINUX,避免安装过程中报错. # ...

  9. centos系统编译安装nginx+php环境另加独立mysql教程

    以前看过的安装nginx+php环境都带了mysql数据库了,这个是因为很多站长都是nginx+php+mysql都在同一台服务器了,那么今天我们是单独处理了,一个是nginx+php环境,然后mys ...

随机推荐

  1. jquery中stop停止动画笔记

    jQuery stop() 方法用于停止动画或效果,在它们完成之前. stop() 方法适用于所有 jQuery 效果函数,包括滑动.淡入淡出和自定义动画. 语法: $(selector).stop( ...

  2. [MySQL-MM] 生产环境自动恢复MM中一台M2库的过程,分享从零开始写的自动化重建脚本以及思路 (转)

    必须是MM架构,而且一台主库M1是完好无损的,一台主库M2可以根据M1主库来进行重建:如果MS架构,自己可以稍微做一下脚本修改动作,也能使用,架构如下图所示: 3  总体思路,建立主脚本a_build ...

  3. IIS调用批处理权限的处理[转]

    最近公司希望将Windows 2003升级为Windows 2008,做完安全设置后发现.net调用批处理拒绝访问的情况.网上很多说更改应用程序池的权限,建议不需要修改该权限,我这里强烈建议使用默认的 ...

  4. rem怎么计算

    px:相对长度单位.像素px是相对于显示器屏幕分辨率而言的 em:相对单位,继承父节点(层层继承,传递)基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px ...

  5. rails表单控件helper

    1.form加入HTML属性 <%= form_for(@device, :html => {:method=>"post", :id=>"for ...

  6. qq图片选择效果的处理

    QQ中图片鼠标一选择,整个图片就像加了个阴影一样,这个效果一般人都不会注意,突然没事测试了一下,原来qq是把原来每个像素的颜色变成了相反的颜色. 电脑中的三原色为0-255,中间值为128,以中间值为 ...

  7. web基础(五)Jquery

    jQuery是一个快速的,简洁的javaScript库(占空间特别小,但功能强大!兼容性极强!),这个库里封装了一些方法,使用户能更方便地处理HTMLdocuments.events.实现动画效果,并 ...

  8. 开发环境入门 linux基础 (部分)正则表达式 grep sed

    /etc/profile /etc/bashrc  .变量添加到shell环境中,永久生效. /root/.bashrc /root/.bash_profile 正则表达式 定义:正则就是用一些具有特 ...

  9. hibernate 事务的隔离级别

    脏读不可重复读幻读可序列化(符合事务的四个特性的正常情况 ) 解释: 脏读:事务A对数据1做了更新,但是还没有来得及提交 此时事务B对数据1进行了查询获得了事务A更新后的数据, 但是事务A因为一些原因 ...

  10. mysql 打印随机数

    select rand(); 这样取出来的数据是类似这样的: 0.5389902438400223 要几位自己取几位: 取得方法类似 select substr(concat("000000 ...