ubuntu - make后权限被拒绝

时间:2013-05-10 16:10:23

标签: linux makefile ubuntu-12.04

我想在我的ubuntu客户端上运行libsvm。我下载了文件并运行“make”,但如果我运行./svm-scale,我的权限被拒绝。

我是linux / ubuntu的新手如何设置权限?

这是Makefile

CXX ?= g++
CFLAGS = -Wall -Wconversion -O3 -fPIC
SHVER = 1

all: svm-train svm-predict svm-scale

lib: svm.o
    $(CXX) -shared svm.o -o libsvm.so.$(SHVER)

svm-predict: svm-predict.c svm.o
    $(CXX) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
svm-train: svm-train.c svm.o
    $(CXX) $(CFLAGS) svm-train.c svm.o -o svm-train -lm
svm-scale: svm-scale.c
    $(CXX) $(CFLAGS) svm-scale.c -o svm-scale
svm.o: svm.cpp svm.h
    $(CXX) $(CFLAGS) -c svm.cpp
clean:
    rm -f *~ svm.o svm-train svm-predict svm-scale

如果我用sudo运行它,我找不到命令。

由于

2 个答案:

答案 0 :(得分:0)

我认为解决方案是:

$ chmod -v u + x svm-train svm-predict svm-scale

BR

答案 1 :(得分:0)

我不认为这是一个简单的权限问题,除非这里发生的事情比原始帖子中描述的要多。链接器将始终生成具有执行权限的可执行文件,因此运行make后跟./svm-scale不应该给出权限错误。

您确定make步骤已完成且没有任何错误吗?

如果你运行ls -l svm-scale它会说什么?如果你运行file svm-scale它说的是什么?如果你运行umask它说的是什么?也许你的umask设置为删除执行权限(真的奇数)。

最好是剪切并粘贴你输入的确切命令和你得到的错误信息,而不是复述。

您不应该也不应该使用sudo运行。