我想在我的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运行它,我找不到命令。
由于
答案 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
运行。