我正在尝试构建一个依赖于BLAS(基本线性代数子程序)的程序包。目前,我的Debian /控制文件如下:
构建依赖项:gfortran, libblas3
取决于:gfortran, libblas3, ${shlibs:Depends}
它在我的计算机上构建时没有任何错误。但是,如果我将其上传到PPA,构建将失败。我从日志中看到已经安装了libblas3
,但最后仍然得到:
ld --shared -o libXXX.so.X.Y *.o -lblas -lc
ld: cannot find -lblas
为什么找不到libblas?
答案 0 :(得分:0)
您的运行时依赖项(Depends:
)在libblas3
上。但是您的构建时间
依赖项(Build-depends:
在libblas
开发包上,
是libblas-dev
。
链接器标志-lblas
指示链接器查找和链接库
由libblas.so
(共享库)或libblas.a
(静态库)引用。
运行时软件包libblas3
将安装特定版本的库,
例如libblas.so.3.7.1
,而不是libblas.so
。开发包libblas-dev
将不安装特定版本的库,但将安装libblas.so
,
使其成为特定版本库的符号链接。
任何库运行时软件包libfoo
与它的库之间都有相似的关系
开发包libfoo-dev
。