由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - C Library (一个统计方面的) 安装一问
相关主题
求助:Wavelet 的 library (转载)问一个link的问题
Matrix calculation in C++问个面试问题,请教
Questions about MAKEFILEVS里的不同类型PROJECT有什么区别啊?
请推荐好的c++下的matrix库谁给科普一下Linux里lib search怎么运作的?
请教一个makefile 小问题Python problem on 64 bit Linux
opinions on boost.multiarray?help - visual Stusio 2010 can't find correct boost library
求问C++问题编译通过 运行时出现 error while loading shared libraries 是哪的问题?
do you use blas/lapack?有人用DEV-C++吗?
相关话题的讨论汇总
话题: gsl话题: gmrflib话题: include话题: library话题: makefile
进入Programming版参与讨论
1 (共1页)
b*********7
发帖数: 12
1
最近要做统计方面的一个 project,需要用到该领域一牛人用的C code,首先就要安装
他给的library, 链接如下:http://www.math.ntnu.no/~hrue/GMRFLib/
需要下载的是GMRFLib-3.0-0-snapshot.tgz, 在unix下解压以后没法安装,我对unix
不是很熟悉,发信问原作者没有回应,请各位牛人帮忙看看。
cd 到解压文件夹以后,运行make出现很多错误如下:(
Makefile在解压文件夹里,哪位好心人给看看,帮了我大忙了,在此先提前谢了!!)
bash-2.05b$ make
gcc -g -Wall -O3 -fomit-frame-pointer -fexceptions -funroll-loops -DHAVE_
INLINE -I.. -DGMRFLib_PATH=\"/usr/local/doc/GMRFLib/data\" -I/usr/local/
include -c -o problem-setup.o problem-setup.c
In file included from problem-
f*****Q
发帖数: 1912
2
小声问一句,gsl装了么?
http://www.gnu.org/software/gsl/
b*********7
发帖数: 12
3
好像没有,汗。。。对我这个library很重要么?
怎么安装GSL呢?麻烦能不能给详细一点的instruction,我对unix实在不熟悉。
多谢!!
b*********7
发帖数: 12
4
怎么样知道gsl安装了没有,用什么命令可以check?
c**t
发帖数: 2744
5
it's very important: GNU Scientific Library

【在 b*********7 的大作中提到】
: 好像没有,汗。。。对我这个library很重要么?
: 怎么安装GSL呢?麻烦能不能给详细一点的instruction,我对unix实在不熟悉。
: 多谢!!

y****e
发帖数: 23939
6
你要是在red hat系列下(RHEL,Fedora,CentOS),用yum就可以装好
k****e
发帖数: 100
7
一般会带 gsl-config
你执行 gsl-config 看看
如果是管理员自己编译安装的,locate gsl-config 看看有没有
如果locate的database没有的话。。。。。。。。。find。。。。

【在 b*********7 的大作中提到】
: 怎么样知道gsl安装了没有,用什么命令可以check?
r****t
发帖数: 10904
8
我对 unix 也不熟悉,你要装 gsl 的 dev 包,怎么装就不知道了。
要不自己 compile gsl 行了。
y****e
发帖数: 23939
9
我试着下载了这个软件,编译通过没有问题,最后得到两个static library:
libGMRFLib-geo.a 和 libGMRFLib.a
只要装个gsl-dev就可以了,他也提供binary下载的,你要是实在不会的话,为什么不
装binary呢?

unix

【在 b*********7 的大作中提到】
: 最近要做统计方面的一个 project,需要用到该领域一牛人用的C code,首先就要安装
: 他给的library, 链接如下:http://www.math.ntnu.no/~hrue/GMRFLib/
: 需要下载的是GMRFLib-3.0-0-snapshot.tgz, 在unix下解压以后没法安装,我对unix
: 不是很熟悉,发信问原作者没有回应,请各位牛人帮忙看看。
: cd 到解压文件夹以后,运行make出现很多错误如下:(
: Makefile在解压文件夹里,哪位好心人给看看,帮了我大忙了,在此先提前谢了!!)
: bash-2.05b$ make
: gcc -g -Wall -O3 -fomit-frame-pointer -fexceptions -funroll-loops -DHAVE_
: INLINE -I.. -DGMRFLib_PATH=\"/usr/local/doc/GMRFLib/data\" -I/usr/local/
: include -c -o problem-setup.o problem-setup.c

b*********7
发帖数: 12
10
这位大哥,我不是不想装binary啊,我实在是对unix一窍不通。
我今天找人帮忙装了GSL在我自己的 directory下(/home/me/GSL),然后再去装这个
library,(library 在 /home/me/GMRF/GMRFLib-3.0-0-snapshot/GMRFLib),还是不
行,汗死了,出错几乎是一样的。。。
请问你是怎么装成功的,装完以后的两个static library在哪个文件夹下面?
你直接make然后make install就可以了么?
不好意思啊,感觉自己象白痴一样。。。

【在 y****e 的大作中提到】
: 我试着下载了这个软件,编译通过没有问题,最后得到两个static library:
: libGMRFLib-geo.a 和 libGMRFLib.a
: 只要装个gsl-dev就可以了,他也提供binary下载的,你要是实在不会的话,为什么不
: 装binary呢?
:
: unix

相关主题
opinions on boost.multiarray?问一个link的问题
求问C++问题问个面试问题,请教
do you use blas/lapack?VS里的不同类型PROJECT有什么区别啊?
进入Programming版参与讨论
t****t
发帖数: 6806
11
你还是找人帮你装吧.一两句话说不清楚的...

【在 b*********7 的大作中提到】
: 这位大哥,我不是不想装binary啊,我实在是对unix一窍不通。
: 我今天找人帮忙装了GSL在我自己的 directory下(/home/me/GSL),然后再去装这个
: library,(library 在 /home/me/GMRF/GMRFLib-3.0-0-snapshot/GMRFLib),还是不
: 行,汗死了,出错几乎是一样的。。。
: 请问你是怎么装成功的,装完以后的两个static library在哪个文件夹下面?
: 你直接make然后make install就可以了么?
: 不好意思啊,感觉自己象白痴一样。。。

b*********7
发帖数: 12
12
找不到人了现在,今天下午还是找一个不是很熟的人,然后他再去找另外一个人,跑来
敲了几下键盘就走了,实在不好意思再去找人家。
你能不能给一个稍微详细一点的instruction,针对这个library就可以,感激不尽!!

【在 t****t 的大作中提到】
: 你还是找人帮你装吧.一两句话说不清楚的...
t****t
发帖数: 6806
13
很难弄的, 你要让gcc能看到gsl的include file, 还要让gcc/ld能看到gsl的library
file
你找你装好的gsl, .h文件在什么地方? 比如说有/home/me/GSL/include/gsl/gsl_blas
.h
那你可以试试
CPPFLAGS=-I/home/me/GSL/include
你装好的gsl, .a或者.so在什么地方? 比如有/home/me/GSL/lib/libgsl.a, 你可以试试
LIBS=-L/home/me/GSL/lib
所以你可以写
env CPPFLAGS=-I/home/me/GSL LIBS=-L/home/me/GSL/lib make
但是这都不一定有用, 取决于这个作者的makefile是怎么写的
所以我说一两句话说不清楚, 基本上要看到你的机器才行, 我也没用过gsl, 只是对
UNIX熟一点
b*********7
发帖数: 12
14
我试了,好像不行:(
Makefile 全文如下,麻烦这位大侠再给看看,好人啊!!!
# $Id: GMRFLib-Makefile,v 1.56 2007/09/06 21:57:38 hrue Exp $
# USER OPTIONS
# the full path to where to install the library, headerfiles and docs.
# if you use a relative path, you have to modify the Makefile in the
# $(PREFIX)/doc/examples yourself.
PREFIX = /usr/local
# what to call the library
GMRFLibNAME = GMRFLib
# select compilers and optimized compiler-options. add -march=.... etc
yourself
CC = gcc
FC = gfortran
FCEXTRAFLAGS = -fno-second-unders

【在 t****t 的大作中提到】
: 很难弄的, 你要让gcc能看到gsl的include file, 还要让gcc/ld能看到gsl的library
: file
: 你找你装好的gsl, .h文件在什么地方? 比如说有/home/me/GSL/include/gsl/gsl_blas
: .h
: 那你可以试试
: CPPFLAGS=-I/home/me/GSL/include
: 你装好的gsl, .a或者.so在什么地方? 比如有/home/me/GSL/lib/libgsl.a, 你可以试试
: LIBS=-L/home/me/GSL/lib
: 所以你可以写
: env CPPFLAGS=-I/home/me/GSL LIBS=-L/home/me/GSL/lib make

k****e
发帖数: 100
15
根据你后面贴的Makefile,这个问题你还是找高人吧
Makefile 里面没有 -lgsl -lgslcblas
作者是自己装的gsl,而且不是 标准的 include/gsl/gsl_*.h
形式。
还有,你的 bash-2.05b$ 让我看上去有点怕怕的,不知道你的环境设的如何。
我看你还是找人吧,别浪费时间了,你不一定能搞定的。

unix

【在 b*********7 的大作中提到】
: 最近要做统计方面的一个 project,需要用到该领域一牛人用的C code,首先就要安装
: 他给的library, 链接如下:http://www.math.ntnu.no/~hrue/GMRFLib/
: 需要下载的是GMRFLib-3.0-0-snapshot.tgz, 在unix下解压以后没法安装,我对unix
: 不是很熟悉,发信问原作者没有回应,请各位牛人帮忙看看。
: cd 到解压文件夹以后,运行make出现很多错误如下:(
: Makefile在解压文件夹里,哪位好心人给看看,帮了我大忙了,在此先提前谢了!!)
: bash-2.05b$ make
: gcc -g -Wall -O3 -fomit-frame-pointer -fexceptions -funroll-loops -DHAVE_
: INLINE -I.. -DGMRFLib_PATH=\"/usr/local/doc/GMRFLib/data\" -I/usr/local/
: include -c -o problem-setup.o problem-setup.c

t****t
发帖数: 6806
16
try:
env LEXTPREFIX=/home/me/GSL make

【在 b*********7 的大作中提到】
: 我试了,好像不行:(
: Makefile 全文如下,麻烦这位大侠再给看看,好人啊!!!
: # $Id: GMRFLib-Makefile,v 1.56 2007/09/06 21:57:38 hrue Exp $
: # USER OPTIONS
: # the full path to where to install the library, headerfiles and docs.
: # if you use a relative path, you have to modify the Makefile in the
: # $(PREFIX)/doc/examples yourself.
: PREFIX = /usr/local
: # what to call the library
: GMRFLibNAME = GMRFLib

r****t
发帖数: 10904
17
你到底看了 Makefile 没有,开头有很多你要改的东西。
/usr/local/lib 下面要有这些列出来的库,/usr/local/include 下面要有这些库的头
文件。没有的话或者按位置装好,或者装好再改这几行。
初用 make, 用 make -d 然后看看出错信息,理解不了贴上来问。你现在的问题是 gcc 在你给的 -I 选项里面列的目录里面找不到 GSL 的头文件,你就给个含有头文件的 -I path 就可以过这一步了。
# The path to the external libraries: metis, taucs, lapack, blas and zlib
LEXTPREFIX = /usr/local
LEXTLIBS = -L$(LEXTPREFIX)/lib
IEXTLIBS = -I$(LEXTPREFIX)/include
这还没列 GSL, 你要是 GSL 装在
/home/me/GSL
上面有两行你要改成
LEXTLIBS = -L$(LEXTPREFIX)/lib -L/home/me/GSL/lib
IEXTLIBS = -I$(LEXTP

【在 b*********7 的大作中提到】
: 我试了,好像不行:(
: Makefile 全文如下,麻烦这位大侠再给看看,好人啊!!!
: # $Id: GMRFLib-Makefile,v 1.56 2007/09/06 21:57:38 hrue Exp $
: # USER OPTIONS
: # the full path to where to install the library, headerfiles and docs.
: # if you use a relative path, you have to modify the Makefile in the
: # $(PREFIX)/doc/examples yourself.
: PREFIX = /usr/local
: # what to call the library
: GMRFLibNAME = GMRFLib

t****t
发帖数: 6806
18
他明显看不懂...

【在 r****t 的大作中提到】
: 你到底看了 Makefile 没有,开头有很多你要改的东西。
: /usr/local/lib 下面要有这些列出来的库,/usr/local/include 下面要有这些库的头
: 文件。没有的话或者按位置装好,或者装好再改这几行。
: 初用 make, 用 make -d 然后看看出错信息,理解不了贴上来问。你现在的问题是 gcc 在你给的 -I 选项里面列的目录里面找不到 GSL 的头文件,你就给个含有头文件的 -I path 就可以过这一步了。
: # The path to the external libraries: metis, taucs, lapack, blas and zlib
: LEXTPREFIX = /usr/local
: LEXTLIBS = -L$(LEXTPREFIX)/lib
: IEXTLIBS = -I$(LEXTPREFIX)/include
: 这还没列 GSL, 你要是 GSL 装在
: /home/me/GSL

r****t
发帖数: 10904
19
咱好人做到底,其实也不难,gcc 的基本用法花半个小时入个门,Makefile 也不用完全懂,至少装个程序该没问题。
你把 Makefile 开头部分改成这样再看看你能不能通过那一步,之后你还有好几个 library 要装,我建议你都装在 /home/me/usr/ 里面:
# USER OPTIONS
# the full path to where to install the library, headerfiles and docs.
# if you use a relative path, you have to modify the Makefile in the
# $(PREFIX)/doc/examples yourself.
PREFIX = /home/me/GMRF
# what to call the library
GMRFLibNAME = GMRFLib
# select compilers and optimized compiler-options. add -march=.... etc
yourself
CC = gcc
FC = gfortr

【在 b*********7 的大作中提到】
: 我试了,好像不行:(
: Makefile 全文如下,麻烦这位大侠再给看看,好人啊!!!
: # $Id: GMRFLib-Makefile,v 1.56 2007/09/06 21:57:38 hrue Exp $
: # USER OPTIONS
: # the full path to where to install the library, headerfiles and docs.
: # if you use a relative path, you have to modify the Makefile in the
: # $(PREFIX)/doc/examples yourself.
: PREFIX = /usr/local
: # what to call the library
: GMRFLibNAME = GMRFLib

r****t
发帖数: 10904
20
他还要用这个 code 的,这个样子怎么用。。

【在 t****t 的大作中提到】
: 他明显看不懂...
相关主题
谁给科普一下Linux里lib search怎么运作的?编译通过 运行时出现 error while loading shared libraries 是哪的问题?
Python problem on 64 bit Linux有人用DEV-C++吗?
help - visual Stusio 2010 can't find correct boost library怎样把gsl-1.15安装到vs2012ultimate平台上?
进入Programming版参与讨论
b*********7
发帖数: 12
21
汗如雨下。。。。。。。。。
多谢各位大侠,我来试试看。如果还有问题还请各位大侠不吝赐教。
再次表示感谢!!

【在 r****t 的大作中提到】
: 他还要用这个 code 的,这个样子怎么用。。
b*********7
发帖数: 12
22
各位大侠,我回去反复试了各位出的高招,现在make似乎没有什么太大问题,但出现了
新的问题,(如果是新的话。。。)
用该 Library 需要包含如下头文件:#include "GMRFLib/GMRFLib.h",而 GMRFLib.h
中包含了gsl头文件:
#include
#include
#include
#include
#include
。。。
。。。
和这个library自己的头文件:
#include "GMRFLib/init.h"
#include "GMRFLib/utils.h"
#include "GMRFLib/io.h"
#include "GMRFLib/taucs.h"
#include "GMRFLib/compatibility.h"
#include "GMRFLib/random.h"
。。。。。。。
这里用<>表示gsl是系统文件,但我只有权限把gsl装在我自
p****s
发帖数: 32405
23
把系统include改成绝对路径的include, 只要你自己装的gsl包里有以下头文件,
gsl_math.h, etc

【在 b*********7 的大作中提到】
: 各位大侠,我回去反复试了各位出的高招,现在make似乎没有什么太大问题,但出现了
: 新的问题,(如果是新的话。。。)
: 用该 Library 需要包含如下头文件:#include "GMRFLib/GMRFLib.h",而 GMRFLib.h
: 中包含了gsl头文件:
: #include
: #include
: #include
: #include
: #include
: 。。。

r****t
发帖数: 10904
24
/home/me/GSL/include 下面有没有 "gsl/gsl_blas.h"? 没有就不行。
调节你的 -I选项直到包括 "gsl/gsl_blas.h" 的父目录为止,应该就可以了。
不应该在 code 里面写绝对路径的 #include.

h

【在 b*********7 的大作中提到】
: 各位大侠,我回去反复试了各位出的高招,现在make似乎没有什么太大问题,但出现了
: 新的问题,(如果是新的话。。。)
: 用该 Library 需要包含如下头文件:#include "GMRFLib/GMRFLib.h",而 GMRFLib.h
: 中包含了gsl头文件:
: #include
: #include
: #include
: #include
: #include
: 。。。

b*********7
发帖数: 12
25
有呀,还是不行。是不是应该把GMRFLib.h里面的
#include ... 都改成 #include"gsl/gsl_blash.h>....?
如果是这样就太麻烦了,因为经常有gsl_*.h 里面又有包含#include

【在 r****t 的大作中提到】
: /home/me/GSL/include 下面有没有 "gsl/gsl_blas.h"? 没有就不行。
: 调节你的 -I选项直到包括 "gsl/gsl_blas.h" 的父目录为止,应该就可以了。
: 不应该在 code 里面写绝对路径的 #include.
:
: h

r****t
发帖数: 10904
26
那我就看不出来了,至少从
http://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html
来看没理由不行, 要么就是更深奥的问题我也搞不懂。
你要是能贴出出错信息来会比较好,copy/paste 可以么?
ls /home/me/GSL/
ls /home/me/GSL/include/
都是什么

>的

【在 b*********7 的大作中提到】
: 有呀,还是不行。是不是应该把GMRFLib.h里面的
: #include ... 都改成 #include"gsl/gsl_blash.h>....?
: 如果是这样就太麻烦了,因为经常有gsl_*.h 里面又有包含#include

b*********7
发帖数: 12
27
不好意思,回帖晚了。
不过好像现在的错误又变了,刚才可能我没加上lib包含路径,现在加上以后出错信息
如下:
bash-2.05b$ gcc -I/home/me/GSL/include -I/home/me/GMRF/local/include -L/home
/me/GMRF/local/lib -L/home/me/GSL/lib -o test2 test2.c
Undefined first referenced
symbol in file
GMRFLib_free_graph /var/tmp//cclSOuVa.o
GMRFLib_read_graph /var/tmp//cclSOuVa.o
GMRFLib_print_graph /var/tmp//cclSOuVa.o
GMRFLib_compute_subgraph /var/tmp//cclS

【在 r****t 的大作中提到】
: 那我就看不出来了,至少从
: http://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html
: 来看没理由不行, 要么就是更深奥的问题我也搞不懂。
: 你要是能贴出出错信息来会比较好,copy/paste 可以么?
: ls /home/me/GSL/
: ls /home/me/GSL/include/
: 都是什么
:
: >的

p***o
发帖数: 1252
28
差不多了,ld是linker,你都编译通过了,lib没加上。
你试试把-lGMRFLib加到命令行,如果不行的话看看
/home/me/GMRF/local/lib和/home/me/GSL/lib下都有啥。

home

【在 b*********7 的大作中提到】
: 不好意思,回帖晚了。
: 不过好像现在的错误又变了,刚才可能我没加上lib包含路径,现在加上以后出错信息
: 如下:
: bash-2.05b$ gcc -I/home/me/GSL/include -I/home/me/GMRF/local/include -L/home
: /me/GMRF/local/lib -L/home/me/GSL/lib -o test2 test2.c
: Undefined first referenced
: symbol in file
: GMRFLib_free_graph /var/tmp//cclSOuVa.o
: GMRFLib_read_graph /var/tmp//cclSOuVa.o
: GMRFLib_print_graph /var/tmp//cclSOuVa.o

1 (共1页)
进入Programming版参与讨论
相关主题
有人用DEV-C++吗?请教一个makefile 小问题
怎样把gsl-1.15安装到vs2012ultimate平台上?opinions on boost.multiarray?
How solid it is: c++/c# call Matlab library求问C++问题
local python 安装问题do you use blas/lapack?
求助:Wavelet 的 library (转载)问一个link的问题
Matrix calculation in C++问个面试问题,请教
Questions about MAKEFILEVS里的不同类型PROJECT有什么区别啊?
请推荐好的c++下的matrix库谁给科普一下Linux里lib search怎么运作的?
相关话题的讨论汇总
话题: gsl话题: gmrflib话题: include话题: library话题: makefile