`
daoger
  • 浏览: 528011 次
  • 性别: Icon_minigender_1
  • 来自: 山东济南
社区版块
存档分类
最新评论

ubuntu14.04下编译安装Tora

 
阅读更多

需预先安装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 交叉编译环境的搭建

    本篇将详细介绍如何在Ubuntu 14.04上搭建一个交叉编译环境,以arm-linux-gcc交叉编译器为例。 首先,需要了解交叉编译的概念。交叉编译是指在一个平台上生成另外一个平台上的可执行文件的过程。与之相对的是本地...

    ubuntu14.04下编译运行fast rcnn

    Ubuntu 14.04 下编译运行 Fast R-CNN Fast R-CNN 是一种流行的基于深度学习的目标检测算法,然而在 Ubuntu 14.04 下编译和运行 Fast R-CNN 可能会遇到各种问题。本文将详细介绍如何编译和运行 Fast R-CNN 在 Ubuntu...

    ubuntu14.04 Docker离线安装包

    在Ubuntu 14.04上安装Docker是许多系统管理员和开发者的需求,尤其是在没有互联网连接或者网络环境受限的情况下。Docker是一个开源的应用容器引擎,它允许开发者将他们的应用及其依赖打包到一个可移植的容器中,然后...

    Ubuntu14.04离线安装NFS方法和安装包

    在Ubuntu 14.04上离线安装NFS涉及到几个关键步骤,包括理解NFS的基本概念、准备安装包、配置NFS服务器以及设置客户端。下面将详细介绍这个过程。 1. **NFS基本概念**:NFS由Sun Microsystems开发,是一种标准的...

    Ubuntu14.04交叉编译编译 ffmpeg3.4.1 脚本

    Ubuntu14.04交叉编译编译 ffmpeg3.4.1 脚本 属于 armv7-a 架构

    bluez5.23在ubuntu14.04上编译的详细过程

    本篇文章将详述如何在Ubuntu 14.04操作系统上编译并安装BlueZ 5.23版本。这个过程对于开发者或者希望自定义蓝牙功能的用户来说非常有用,因为它允许直接访问最新的BlueZ特性,而无需等待官方仓库更新。 首先,确保...

    Ubuntu 14.04一步一步安装Openstack Kilo版本

    在Ubuntu 14.04上安装Openstack Kilo版本,是云计算领域工程师的一个重要实践,有助于了解并掌握Openstack这个开源云计算平台的搭建和使用。下面将详细介绍从系统安装到Openstack各个组件配置的全过程。 1. 安装...

    ubuntu14.04LTS离线安装openssh所需要的介质

    ubuntu14.04LTS离线安装openssh所需要的介质,亲测有效。

    Ubuntu14.04离线安装ssh所需安装包deb

    1.按以下顺序执行安装 sudo dpkg -i openssh-client_6.6p1-2ubuntu1_amd64.deb sudo dpkg -i openssh-sftp-server_6.6p1-2ubuntu1_amd64.deb sudo dpkg -i libck-connector0_0.4.5-3.1ubuntu2_amd64.deb sudo dpkg -...

    Ubuntu 14.04安装配置NFS服务器

    Ubuntu 14.04 安装配置 NFS 服务器 NFS(Network File System)是一种允许多个电脑通过网络共享文件的系统。它使得不同的计算机可以通过网络访问和共享对方的文件,实现了文件的共享和交换。在 Ubuntu 14.04 中,...

    在ubuntu 14.04下安装GNU Radio

    ### 在Ubuntu 14.04下安装GNU Radio #### 安装背景及意义 GNU Radio 是一个开源软件开发工具套件,它提供了一个信号处理框架来构建软件定义的无线电应用。用户可以通过简单的图形界面或者Python脚本来组合现有的...

    在ubuntu14.04系统中安装indigo版本ROS的教程

    rosdep是一个系统准备工具,用于安装编译某些源码包时所需的系统依赖项,并为运行某些ROS核心功能组件提供必需的依赖。在初始化rosdep之后,通常需要执行rosdep update命令更新rosdep的数据库。 最后,环境设置部分...

    Ubuntu14.04编译android4.4源码一次性成功

    在Ubuntu 14.04操作系统中编译Android 4.4源码是一个涉及多步骤和技术细节的过程。这个过程对于开发者来说是至关重要的,因为通过编译源码,可以自定义系统,修复bug,或者为特定设备添加支持。以下是详细的操作步骤...

    Ubuntu 14.04版本 NFS 离线安装包

    以下将详细讲解如何在Ubuntu 14.04上进行NFS的离线安装,并介绍相关的依赖包。 首先,你需要下载Ubuntu 14.04的NFS离线安装包,这个包应该包含了NFS服务及其所有必需的依赖。在没有网络的情况下,你可以通过其他有...

    ubuntu14.04 默认root登陆

    在 Ubuntu 14.04 中,默认情况下 root 帐号是禁用的,这是为了安全考虑。但是在某些情况下,我们需要使用 root 帐号来进行系统管理和维护。下面我们将介绍如何启用 root 帐号、如何在终端模式下切换到 root 身份,...

    Ubuntu14.04升级GCC4.9.3

    本文档详细介绍了在 Ubuntu 14.04 系统上升级 GCC 到 4.9.3 版本的步骤。GCC 是一个强大的编译器,支持 C++11 和 C++14 特性。在 Ubuntu 14.04 系统中,默认的 GCC 版本是 4.8.2,本文将指导用户如何升级到 4.9.3 ...

    虚拟机+Ubuntu 14.04安装方法

    5. 安装和配置Ubuntu系统:完成虚拟机配置后,通过虚拟机启动并加载Ubuntu 14.04的安装镜像,按照提示进行操作系统的安装。在这个过程中,可能会有一些特定的配置要求,如时区设置、语言选择、磁盘分区等。对于磁盘...

    四、ubuntu14.04+caffe环境安装1

    在本文中,我们将详细讨论如何在Ubuntu 14.04上配置Caffe环境,包括安装GCC 4.7、相关依赖、NVIDIA驱动以及CUDA。Caffe是一种高效的深度学习框架,广泛应用于图像识别和计算机视觉任务。由于Ubuntu 14.04自带的GCC...

    mysql-ubuntu14.04系统版

    mysql-ubuntu14.04系统版

    vscode_for_ubuntu14.04.zip

    Ubuntu 14.04系统下能用的vscode客户端(新版本在启动时无响应,且无法打开终端),版本号:code_1.42.1-1581432938_amd64.deb 使用方法:解压后执行sudo dpkg -i code*

Global site tag (gtag.js) - Google Analytics