读书人

精通linux的各位大侠ubuntu下运行st

发布时间: 2012-04-14 17:14:21 作者: rapoo

精通linux的各位大侠,ubuntu下运行stanford的开源phoniex的mapreduce有错误,请教了!
源程序在http://mapreduce.stanford.edu/可以下到,下0.8M的程序压缩包。
里面的kmeans程序,我在运行的时候会在编译mapreduceshedular.c的时候报错。
1、第一个问题
说没有定义max_proc,而这段定义是在该文件的上面部分
#ifdef _solaris_
int max_proc
#endef
于是我自动把int max_proc加到了
#ifdef _linux_
#endef
中间
于是程序成功编译。

2、第二个问题
可是新的问题出现,error里有新的信息,说是没有lcpc,这个东西在网上几乎搜不到
于是我把makefile里的-lcpc给删了,终于运行出了可执行文件

3、第三个问题
但是当我输入数据之后,文件执行并不正常……泪奔

给位大侠,我不知道这上面哪个环节出错导致了最终整个程序的失败,请多多指教啊!

[解决办法]
1、第一个问题
说没有定义max_proc,而这段定义是在该文件的上面部分
#ifdef _solaris_
int max_proc
#endef
于是我自动把int max_proc加到了
#ifdef _linux_
#endef
中间
于是程序成功编译。


你既然是条件编译,定义时使用了条件,在使用变量时也要用同样的条件
而不是放入一个定义过的条件中。

2、第二个问题
可是新的问题出现,error里有新的信息,说是没有lcpc,这个东西在网上几乎搜不到
于是我把makefile里的-lcpc给删了,终于运行出了可执行文件

-l 参数是接连库的,那个cpc是一个库,使用这个库之前,你要确定已经安装了它
(我也没查到这是个什么库,有可能是一个个人或公司内部开发的东西)

3.
只能靠你自己了

[解决办法]
我查了一下-lcpc是mapreduce需要用到的编译选项。可能是个库吧,你得找一下,既然是从stanford下的源码,你从他们那找看有没有。

我找的链接,你看看。

http://pages.cs.wisc.edu/~gibson/mapReduceTutorial.html

读书人网 >C语言

热点推荐