Linux下手动编译shogun
手动编译shogun,如果按照直接按照官网上的步骤进行,会踩非常多的坑,下面分享一下在下的编译过程,希望能为阁下提供些许借鉴。
1. git clone https://github.com/shogun-toolbox/shogun.git
这里是从服务器上下载shogun的工具包。Git命令如果没有安装,可以通过apt-get install git进行安装。下载完成后,当前目录下会有一个名为shogun的文件夹。
2. cd shogun
这与官网的第二步不同,因为如果按照官网所述的步骤,第二步会报错。
3. git submodule update --init
4. mkdir build
5. cd build
6. cmake -DPYTHON_INCLUDE_DIR=/usr/include/python3.5 \
-DPYTHON_LIBRARY=/usr/lib/python3.5/config-x86_64-linux-gnu/libpython3.5.so \
-DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 \
-DPYTHON_PACKAGES_PATH=/usr/local/lib/python3.5/site-packages \
-BUILD_META_EXAMPLES=ON \
-DUSE_SVMLIGHT=ON \
-DINTERFACE_PYTHON=ON ..
一般这一步会报错,称找不到依赖swig和ccache,ccache可以直接通过apt-get install ccache进行安装,swig虽然也可以通过此种方式安装,但安装的是swig 3.0.8,而shogun要求的是swig 3.0.12,所以需要手动安装。在手动安装swig 3.0.12之前,记得将其他swig版本删除哦,不然依然会报相同的错误呢!如果swig和ccache都安装正确,但cmake还报错或者报警告的话,说明cmake版本有问题,shogun项目本身使用的cmake3.2。
7. make
我在make过程中也报错,原因主要是变量的定义与声明,其本质原因是c++编译器的问题。因为linux系统自带的c++编译器一般都是4.8版本的,但shogun项目中很多代码用到了5.0以上的特性,所以才会报错。这时只需要将c++编译器更新到5.0以上即可解决问题。
8. make install
9. 设置环境变量(修改/etc/profile文件)
- 设置libshogun.so的路径,一般在/usr/local/lib/下,所以LD_LIBRARY_PATH设置为:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
- 设置shogun.py的路径,一般在/usr/local/lib/python3.5/site-packages/下,所以PYTHONPATH设置为:
export PYTHONPATH=/usr/local/lib/python3.5/site-packages/:$PYTHONPATH
这里容易出错的地方就是,官网上介绍设置变量LD_LIBRARY_PATH和PYTHONPATH时,路径中带上了文件libshogun.so和shogun.py, 但这会导致该环境变量失效的,因为这两个变量应该是一个文件夹路径而不是文件。
Linux下手动编译shogun的更多相关文章
- linux 下手动编译安装无线网卡驱动
先参照 <本地yum源安装GCC >安装好gcc hp的笔记本上安装了CentOS6.3,没有安装无线网卡驱动,安装这个驱动,在Google上找了好多资料,最后终于解决了这个问题.在这里做 ...
- 如何在Linux下手动编译安装gcc
如果可以通过apt来安装的话,尽量不要手工编译了,手工编译是最后的选择.用apt安装,只需要输入一条命令: sudo apt-get install gcc 手工编译的话,gcc和其他软件包存在如下的 ...
- 在linux下手动安装 apache, php, mysql--终极版
在linux下手动安装 apache, php, mysql: 参考: http://www.cnblogs.com/lufangtao/archive/2012/12/30/2839679.html ...
- LINUX下文件编译
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- ACE-6.1.0 linux 下的编译与安装步骤
ACE-6.1.0 linux 下的编译与安装步骤 引用至http://www.cnblogs.com/liangxiaxu/archive/2013/03/07/2948417.html 1.从 ...
- FFmpeg在Linux下安装编译过程
转载请把头部出处链接和尾部二维码一起转载,本文出自:http://blog.csdn.net/hejjunlin/article/details/52402759 今天介绍下FFmpeg在Linux下 ...
- Linux下nginx编译安装教程和编译参数详解
这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...
- linux下将编译错误输出到一个文本文件
linux下将编译错误输出到一个文本文件 command > filename 把把标准输出重定向到一个新文件中 command > > filename 把把标准输出重定向到一个文 ...
- Linux下手动备份还原硬盘主引导记录MBR跟硬盘分区表DPT教程
Linux下手动备份还原硬盘主引导记录MBR跟硬盘分区表DPT教程 二 18 奶牛 Linux, Ubuntu, Windows 1,885 views查看评论 最近奶牛一直在折腾linux下的gru ...
随机推荐
- zabbix监控服务搭建
命令配置 浏览器配置: 检查必须全部ok(若有warning,检查是否漏装包,重启php-fpm服务) 数据库信息 主机名(zabbix server ip).端口号(默认).名字(随意) 配置摘要 ...
- C sharp #001# hello world
饮水思源:金老师的自学网站 索引 编写一个简单的控制台程序. 日期计算的结构化编程实现 日期计算机面向对象编程实现 直接应用已有组件 1.编写一个简单的控制台程序. using System; usi ...
- MATLAB R2018b Mac中文版安装教程
MATLAB r2018b mac中文版是一款强大的可视化数学分析软件,专门用于在Mac上执行数值计算,编程和可视化任务时极大地提高您的工作效率.在MATLAB的帮助下,您可以分析数据,创建应用程序, ...
- Java集合中的细节
integer数据对比 对于Integer var = ? 在-128至127范围内的赋值,Integer对象是在IntegerCache.cache产生,会复用已有对象,这个区间内的Integer值 ...
- idea maven指定编译参数
"Settings" > "Build, Execution, Deployment" > "Compiler" > &q ...
- XUnit测试框架-Python unittest
选择 语言选择 本次个人作业我选择的语言是Python,了解学习Python有一段时间了但是一直没有练习,所以这次玩蛇,使用的版本是Python3.6. 开发工具选择 我选择的IDE是Pycharm, ...
- JDK源码分析(12)之 ConcurrentHashMap 详解
本文将主要讲述 JDK1.8 版本 的 ConcurrentHashMap,其内部结构和很多的哈希优化算法,都是和 JDK1.8 版本的 HashMap是一样的,所以在阅读本文之前,一定要先了解 Ha ...
- 当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标。请将 .NET Core 2.1 或更低版本设置
场景重现 Windows 10 操作系统 (64-bit) 已经安装 .NET Core SDKs 如下: C:\Users\taadis>dotnet --list-sdks 2.1.202 ...
- Lintcode489-Convert Array List to Linked List-Easy
489. Convert Array List to Linked List Convert an array list to a linked list. Example Example 1: In ...
- [IoC容器Unity]第二回:Lifetime Managers生命周期
1.引言 Unity的生命周期是注册的类型对象的生命周期,而Unity默认情况下会自动帮我们维护好这些对象的生命周期,我们也可以显示配置对象的生命周期,Unity将按照配置自动管理,非常方便,下面就介 ...