需预先安装oracle客户端;以下类库,有的可能需要提前安装,有的则可能不必安装;总之多试几次,多看看log日志。
系统环境:ubuntu14.04
Tora版本:2.1.3
下载QScintilla-gpl-2.9.1-snapshot-3ff05a0ef88d.tar.gz
依次执行:
$sudo cp ~/下载/QScintilla-gpl-2.9.1-snapshot-3ff05a0ef88d.tar.gz /usr/local/software/
$sudo tar xzvf QScintilla-gpl-2.9.1-snapshot-3ff05a0ef88d.tar.gz
$sudo mv QScintilla-gpl-2.9.1-snapshot-3ff05a0ef88d qscintilla2.9.1
$cd qscintilla2.9.1/Qt4Qt5
$/usr/local/software/qt-4.8.7/bin/qmake qscintilla.pro
$sudo make
$sudo make isntall
然后再执行:$sudo apt-get install libqscintilla*
安装qscintilla在ubuntu下的相关类库。
获取tora的源代码
$sudo apt-get install dpkg-dev
$sudo apt-get source tora
要强调的是,在下载源码包前,必须确保安装了dpkg-dev(执行”apt-get install dpkg-dev”来安装),否则,
只会下载源码包的3个文件,但不会解压缩源码包。当然你也可以自己用dpkg-source命令去解压缩源码包。
安装具有依赖关系的相关软件包。使用”apt-get build-dep”命令可以主动获取并安装所有相关的软件包。
$sudo apt-get build-dep tora
之后,在/usr/local/software/tora-2.1.3下创建好可执行文件目录,进入下载的源码目录tora-2.1.3目录,
先执行
$sudo ./configure -h
--with-oracle=DIR enable support for Oracle (default ORACLE_HOME)
--with-oracle-includes=DIR
set oracle include dir (default ORACLE_HOME/subdirs)
--with-oracle-libraries=DIR
set oracle lib dir (default ORACLE_HOME/lib)
--with-instant-client=DIR
Path to your instant client. If you've unpacked
all the zip files to this folder, then this is
all you need to use an instant client.
Disables testing for ORACLE_HOME and tnsnames.
--with-oci-version=[8, 8I, 9I, 10G, 10G_R2, 11G]
this is the version of the client, not the database.
--with-qscintilla=DIR
Directory containing QScintilla 2
--with-qscintilla-includes=DIR
QScintilla header file location
--with-qscintilla-libraries=DIR
QScintilla library dir
--with-pcre[=prefix] compile xmlpcre part (via libpcre check)
--with-cppunit-prefix=PFX Prefix where CppUnit is installed (optional)
--with-cppunit-exec-prefix=PFX Exec prefix where CppUnit is installed (optional)
之后,执行
$sudo ./configure --prefix=/usr/local/software/tora-2.1.3 --with-oracle=$ORACLE_HOME --with-oracle-includes=/usr/include/oracle/12.1/client64 --enable-debug=ture
有错误就得查config.log。上面的命令是经过多次尝试而来,系统环境不同,之前安装的软件或类库也不同,命令也不尽相同。这里没有指定QT的相关目录配置,因为之前已经安装了qt的类库:$ sudo apt-get install qt-sdk
有一个没有找到QT LIB的警告,暂时不管。
执行
$sudo make
报错:
----------------------------------------------------------------------------
/tmp/packerbuild-0/tora/tora/src/tora-2.1.3/src/toextract.cpp: In member function ‘QString toExtract::generateHeading(const QString&, std::list<QString, std::allocator<QString> >&)’:
/tmp/packerbuild-0/tora/tora/src/tora-2.1.3/src/toextract.cpp:690:27: error: ‘gethostname’ was not declared in this scope
make[2]: *** [src/CMakeFiles/tora.dir/toextract.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [src/CMakeFiles/tora.dir/all] Error 2
------------------------------------------------------------------------------
解决:
diff -aur tora-2.1.3/src/toextract.h tora-2.1.3patched/src/toextract.h
--- tora-2.1.3/src/toextract.h 2010-02-02 10:25:43.000000000 -0800
+++ tora-2.1.3patched/src/toextract.h 2012-06-22 21:58:45.026286147 -0700
@@ -53,6 +53,7 @@
#include <qvariant.h>
//Added by qt3to4:
#include <QString>
+#include <unistd.h>
class QWidget;
class toConnection;
根据说明修改源文件,再编译。
$ sudo make clean
$ sudo ./autogen.sh
$sudo ./configure --prefix=/usr/local/software/tora-2.1.3 --with-oracle=$ORACLE_HOME --with-oracle-includes=/usr/include/oracle/12.1/client64 --enable-debug=ture
$ sudo make
又报错:
-----------------------------------------------------------------------------
tora-toawr.o: In function `toAWR::~toAWR()':
/home/jjl/tora-2.1.3/src/toawr.cpp:381: undefined reference to `vtable for toAWR'
/home/jjl/tora-2.1.3/src/toawr.cpp:381: undefined reference to `vtable for toAWR'
---------------------------------------------------------------------------
解决:
修改源码src中的文件
src/Makefile.am
BUILT_SOURCES = \
moc_toabout.cpp \
moc_toalert.cpp \
moc_toanalyze.cpp \
moc_toawr.cpp \
moc_tobackup.cpp \
#其中moc_toawr.cpp \ 这一行是需要添加的。
修改完成后,再执行
$ sudo make clean
$ sudo ./autogen.sh
$ sudo ./configure --prefix=/usr/local/software/tora-2.1.3 --with-oracle=$ORACLE_HOME --with-oracle-includes=/usr/include/oracle/12.1/client64 --enable-debug=ture
$ sudo make
编译通过后,执行
$ sudo make install
最后,直接运行/usr/local/software/tora-2.1.3/bin/tora即可。
相关推荐
本篇将详细介绍如何在Ubuntu 14.04上搭建一个交叉编译环境,以arm-linux-gcc交叉编译器为例。 首先,需要了解交叉编译的概念。交叉编译是指在一个平台上生成另外一个平台上的可执行文件的过程。与之相对的是本地...
Ubuntu 14.04 下编译运行 Fast R-CNN Fast R-CNN 是一种流行的基于深度学习的目标检测算法,然而在 Ubuntu 14.04 下编译和运行 Fast R-CNN 可能会遇到各种问题。本文将详细介绍如何编译和运行 Fast R-CNN 在 Ubuntu...
在Ubuntu 14.04上安装Docker是许多系统管理员和开发者的需求,尤其是在没有互联网连接或者网络环境受限的情况下。Docker是一个开源的应用容器引擎,它允许开发者将他们的应用及其依赖打包到一个可移植的容器中,然后...
在Ubuntu 14.04上离线安装NFS涉及到几个关键步骤,包括理解NFS的基本概念、准备安装包、配置NFS服务器以及设置客户端。下面将详细介绍这个过程。 1. **NFS基本概念**:NFS由Sun Microsystems开发,是一种标准的...
Ubuntu14.04交叉编译编译 ffmpeg3.4.1 脚本 属于 armv7-a 架构
本篇文章将详述如何在Ubuntu 14.04操作系统上编译并安装BlueZ 5.23版本。这个过程对于开发者或者希望自定义蓝牙功能的用户来说非常有用,因为它允许直接访问最新的BlueZ特性,而无需等待官方仓库更新。 首先,确保...
在Ubuntu 14.04上安装Openstack Kilo版本,是云计算领域工程师的一个重要实践,有助于了解并掌握Openstack这个开源云计算平台的搭建和使用。下面将详细介绍从系统安装到Openstack各个组件配置的全过程。 1. 安装...
ubuntu14.04LTS离线安装openssh所需要的介质,亲测有效。
Ubuntu 14.04 安装配置 NFS 服务器 NFS(Network File System)是一种允许多个电脑通过网络共享文件的系统。它使得不同的计算机可以通过网络访问和共享对方的文件,实现了文件的共享和交换。在 Ubuntu 14.04 中,...
rosdep是一个系统准备工具,用于安装编译某些源码包时所需的系统依赖项,并为运行某些ROS核心功能组件提供必需的依赖。在初始化rosdep之后,通常需要执行rosdep update命令更新rosdep的数据库。 最后,环境设置部分...
在Ubuntu 14.04操作系统中编译Android 4.4源码是一个涉及多步骤和技术细节的过程。这个过程对于开发者来说是至关重要的,因为通过编译源码,可以自定义系统,修复bug,或者为特定设备添加支持。以下是详细的操作步骤...
在 Ubuntu 14.04 中,默认情况下 root 帐号是禁用的,这是为了安全考虑。但是在某些情况下,我们需要使用 root 帐号来进行系统管理和维护。下面我们将介绍如何启用 root 帐号、如何在终端模式下切换到 root 身份,...
本文档详细介绍了在 Ubuntu 14.04 系统上升级 GCC 到 4.9.3 版本的步骤。GCC 是一个强大的编译器,支持 C++11 和 C++14 特性。在 Ubuntu 14.04 系统中,默认的 GCC 版本是 4.8.2,本文将指导用户如何升级到 4.9.3 ...
5. 安装和配置Ubuntu系统:完成虚拟机配置后,通过虚拟机启动并加载Ubuntu 14.04的安装镜像,按照提示进行操作系统的安装。在这个过程中,可能会有一些特定的配置要求,如时区设置、语言选择、磁盘分区等。对于磁盘...
以下将详细讲解如何在Ubuntu 14.04上进行NFS的离线安装,并介绍相关的依赖包。 首先,你需要下载Ubuntu 14.04的NFS离线安装包,这个包应该包含了NFS服务及其所有必需的依赖。在没有网络的情况下,你可以通过其他有...
在本文中,我们将详细讨论如何在Ubuntu 14.04上配置Caffe环境,包括安装GCC 4.7、相关依赖、NVIDIA驱动以及CUDA。Caffe是一种高效的深度学习框架,广泛应用于图像识别和计算机视觉任务。由于Ubuntu 14.04自带的GCC...
........Ubuntu 14.04 64位Linux操作系统IOS镜像下载..........................................................................................................................................................
mysql-ubuntu14.04系统版
Ubuntu 14.04 安装 GitLab 指南 GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。它提供 Git 版本控制版本控制、代码检查、Bug 跟踪和 Wiki,它可以通过 ...
复制文件内百度网盘分享地址ubuntu-14.04-desktop-amd64.iso