我正在尝试在 Linux Mint 19.1 上安装 SVP(SmoothVideo 项目),但在安装 Vapoursynth 时遇到问题。当我尝试执行“从源构建第 3 方应用程序 -> Vapoursynth -> # build Vapoursynth! -> make -j4”部分时(位于此处:https://www.svp-team.com/wiki/SVP:Linux)我遇到了一个错误:
Fatal error: can't create src/core/.libs/libvapoursynth_la-cachefilter.o: Permission denied
这是完整的代码:
CXX src/core/libvapoursynth_la-boxblurfilter.lo
CXX src/core/libvapoursynth_la-cachefilter.lo
CC src/core/libvapoursynth_la-cpufeatures.lo
CXX src/core/libvapoursynth_la-exprfilter.lo
rm: cannot remove 'src/core/.libs/libvapoursynth_la-cpufeatures.o': Permission denied
rm: cannot remove 'src/core/.libs/libvapoursynth_la-cachefilter.o': Permission denied
rm: cannot remove 'src/core/.libs/libvapoursynth_la-boxblurfilter.o': Permission denied
rm: cannot remove 'src/core/.libs/libvapoursynth_la-exprfilter.o': Permission denied
Assembler messages:
Fatal error: can't create src/core/.libs/libvapoursynth_la-cpufeatures.o: Permission denied
Makefile:1322: recipe for target 'src/core/libvapoursynth_la-cpufeatures.lo' failed
make: *** [src/core/libvapoursynth_la-cpufeatures.lo] Error 1
make: *** Waiting for unfinished jobs....
Assembler messages:
Fatal error: can't create src/core/.libs/libvapoursynth_la-boxblurfilter.o: Permission denied
Makefile:1472: recipe for target 'src/core/libvapoursynth_la-boxblurfilter.lo' failed
make: *** [src/core/libvapoursynth_la-boxblurfilter.lo] Error 1
In file included from src/core/exprfilter.cpp:38:0:
src/core/jitasm.h: In constructor ‘jitasm::detail::ResultT<float, 4>::ResultT(float)’:
src/core/jitasm.h:8533:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ResultT(const float imm) : val_(Imm32(*(uint32*)&imm)) {}
^~~
src/core/jitasm.h: In member function ‘void jitasm::detail::ResultT<double, 8>::StoreResult(jitasm::Frontend&, const jitasm::detail::ResultDest&)’:
src/core/jitasm.h:8608:67: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
f.mov(f.dword_ptr[f.rsp - 8], *reinterpret_cast<uint32*>(&imm_));
^
Assembler messages:
Fatal error: can't create src/core/.libs/libvapoursynth_la-cachefilter.o: Permission denied
Makefile:1479: recipe for target 'src/core/libvapoursynth_la-cachefilter.lo' failed
make: *** [src/core/libvapoursynth_la-cachefilter.lo] Error 1
Assembler messages:
Fatal error: can't create src/core/.libs/libvapoursynth_la-exprfilter.o: Permission denied
Makefile:1486: recipe for target 'src/core/libvapoursynth_la-exprfilter.lo' failed
make: *** [src/core/libvapoursynth_la-exprfilter.lo] Error 1
我已经安装了最新的 Python 和 Cython,这解决了我的一些问题,但这个问题仍然存在。我想我应该以某种方式授予它许可,但我不知道如何,因为我对 Linux 世界还很陌生。
编辑:我通过运行“sudo make clean”修复了这个问题,由于某种原因“make clean”没有完全清理它。但现在我面临着一个新问题。称为“vspipe”的东西不断抛出错误。这是错误代码:
Error compiling Cython file:
------------------------------------------------------------
...
# If we are not using VSScript, do nothing.
if self.single:
return
_environment_state.current = _env_current_stack().pop()
def __eq__(self, other):
^
------------------------------------------------------------
src/cython/vapoursynth.pyx:133:4: Special method __eq__ must be implemented via __richcmp__
CXX src/vspipe/vspipe.o
Makefile:2019: recipe for target 'src/cython/vapoursynth.c' failed
make: *** [src/cython/vapoursynth.c] Error 1
make: *** Waiting for unfinished jobs....
答案1
该错误消息意味着 Cython 已过时。使用pip3来更新它。
pip3 install Cython