1

我喜欢在我的 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 运行它,我会找不到命令。

谢谢

4

2 回答 2

0

我认为解决方案是:

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

BR

于 2013-05-10T16:15:22.743 回答
0

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

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

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

最好是剪切并粘贴您键入的确切命令和收到的错误消息,而不是转述。

您不应该也不应该需要使用sudo.

于 2013-05-10T17:49:26.910 回答