当前位置:   article > 正文

ubuntu16.04安装TooN、Lapack及spdlog_could not find blas (missing: blas_libraries)

could not find blas (missing: blas_libraries)

ubuntu16.04安装TooN、Lapack及spdlog

引言

记录一下。

1.TooN

TooN 2.2数学库,在repo中提供的ZIP或者在Github获取。安装方法见readme。

在这里插入图片描述

2.Lapack

链接.
lapack - LAPACK开发存储库
lapack-release - LAPACK官方发布分支
lapack-www - LAPACK网站
在这里插入图片描述
常规安装即可。

报错:no cmake_fortran_compiler could be found
解决:sudo apt-get install gfortran

3.CLAPACK

**<就不要安装LAPACK了>**CLAPACK是LAPACK的一个版本,它使用f2c实用程序自动从Fortan转换为C. 当谈论使用LAPACK时,实际上是在谈论使用CLAPACK。因为CLAPACK已经使用f2c实用程序转换为C,所以当链接它时,需要包含f2c库(例如-lf2c,如果使用最新版本的gcc,则为-lg2c),否则将获得链接错误。参考

CLAPACK下载.
安装:
3.1、解压

tar zxvf clapack.tgz
mv CLAPACK-3.2.1 CLAPACK
cd CLAPACK
cp make.inc.example  make.inc 
  • 1
  • 2
  • 3
  • 4

3.2、编译
1.在CLAPACK目录下,make f2clib;在CLAPACK/F2CLIBS下就会生成libf2c.a;
2.在CLAPACK目录下,make tmglib,会生成CLAPACK/tmglib_LINUX.a;
3.在CLAPACK目录下,make blaslib,会生成CLAPACK/blas_LINUX.a;
4.cd /SRC/VARIANTS, mkdir LIB;
4.在CLAPACK目录下,make,会生成CLAPACK/lapack_LINUX.a;
5.将CLAPACK/INCLUDE下的blaswrap.h clapack.h f2c.h复制到/usr/local/include下
6.将blas_LINUX.a lapack_LINUX.a F2CLIBS/libf2c.a复制到/usr/local/lib下;并更名为libblas.a liblapack.a libf2c.a
7.更改libblas.a liblapack.a libf2c.a blaswrap.h clapack.h f2c.h的权限为777

cd /usr/local/lib
chmod 777 libblas.a liblapack.a libf2c.a
/usr/local/include
chmod 777 blaswrap.h  clapack.h  f2c.h
  • 1
  • 2
  • 3
  • 4

note:
make编译虽然可能有错误但是依然能够生成库暂时不管:

4.spdlog

splog是一款C ++专用日志管理工具,其功能全部由头文件实现.
安装方法1:使用时只需将头文件放入工程源码中.path:spdlog / include / spdlog
安装方法2:Ubuntu:apt-get install libspdlog-dev
链接.参考.参考2:官方tutorial.

#include <iostream>
#include "spdlog/spdlog.h"
#include "spdlog/sinks/daily_file_sink.h"
#include <memory>
namespace spd = spdlog;
int main(int, char*[])
{
	//創建文件名類似於: daily_log_2019-03-06_08-54.txt,如果程序不退出的話,就是每天2:30 am創建新的文件
	auto console= spd::daily_logger_mt("maitianPT", "./daily_log.txt", 2, 30);
	//寫入文檔
	console->info("test daily info 提示信息");
	console->warn("test daily warn 警告");
	console->error("test daily error 錯誤");
	console->critical("test daily critical 致命");
	return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

5.报错

1. Could NOT find BLAS (missing: BLAS_LIBRARIES)
2. A required library with BLAS API not found.  Please specify library
  location.
3. A required library with LAPACK API not found.  Please specify library
  location.
  • 1
  • 2
  • 3
  • 4
  • 5

解决

sudo apt-get install libblas-dev
sudo apt-get install liblapack-dev
#如果不行就更改对应的CMakwLists.txt文件
SET(BLAS_LIBRARIES  /usr/local/lib/)
SET(LAPACK_DIR usr/local/lib/cmake/lapack-3.8.0)
#同时注释掉相应的两个FIND_PACKAGE()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/119781
推荐阅读
相关标签
  

闽ICP备14008679号