由于文件权限问题,无法构建自制程序包

时间:2017-11-08 15:38:53

标签: makefile homebrew

我想向Homebrew#20409提交一份PR,它应该将libp11从版本0.2.8更新为0.4.7但是我在本地运行安装时遇到一些问题。

我正在将我的补丁20409拉到交互式安装中。

brew pull https://github.com/Homebrew/homebrew-core/pull/20409
brew install --interactive libp11

之后

./configure
make
make install

安装抱怨无法创建常规文件...不允许操作 似乎需要sudo权利,但我不确定它是否是正确的方法。

make install     
Making install in src
 /usr/local/bin/gmkdir -p '/usr/local/Cellar/openssl/1.0.2m/lib/engines'
 /usr/local/bin/gmkdir -p '/usr/local/lib'
 /usr/local/bin/gmkdir -p '/usr/local/include'
 /bin/sh ../libtool   --mode=install /usr/local/bin/ginstall -c   libp11.la '/usr/local/lib'
 /bin/sh ../libtool   --mode=install /usr/local/bin/ginstall -c   pkcs11.la '/usr/local/Cellar/openssl/1.0.2m/lib/engines'
 /usr/local/bin/gmkdir -p '/usr/local/lib/pkgconfig'
 /usr/local/bin/ginstall -c -m 644 libp11.h p11_err.h '/usr/local/include'
 /usr/local/bin/ginstall -c -m 644 libp11.pc '/usr/local/lib/pkgconfig'
ginstall: cannot create regular file '/usr/local/include/libp11.h': Operation not permitted
ginstall: cannot create regular file '/usr/local/include/p11_err.h': Operation not permitted
make[2]: *** [install-includeHEADERS] Error 1
make[2]: *** Waiting for unfinished jobs....
ginstall: cannot create regular file '/usr/local/lib/pkgconfig/libp11.pc': Operation not permitted
make[2]: *** [install-pkgconfigDATA] Error 1
libtool: install: /usr/local/bin/ginstall -c .libs/libp11.2.dylib /usr/local/lib/libp11.2.dylib
libtool: install: /usr/local/bin/ginstall -c .libs/pkcs11.dylib /usr/local/Cellar/openssl/1.0.2m/lib/engines/pkcs11.dylib
ginstall: cannot create regular file '/usr/local/lib/libp11.2.dylib': Operation not permitted
ginstall: cannot create regular file '/usr/local/Cellar/openssl/1.0.2m/lib/engines/pkcs11.dylib': Operation not permitted
make[2]: *** [install-libLTLIBRARIES] Error 1
make[2]: *** [install-enginesexecLTLIBRARIES] Error 1
make[1]: *** [install-am] Error 2
make: *** [install-recursive] Error 1

通常我会拨打sudo make install,但不允许使用Homebrew operation not permitted: sudo

我在MAC OS Sierra而不是Hight Sierra上运行测试,所以this问题不适用

1 个答案:

答案 0 :(得分:0)

我知道你说你正在运行Sierra,但这仍然只是一个文件权限问题。对于Sierra,您应该能够这样做:

sudo chown -R $(whoami) $(brew --prefix)

你链接的另一篇文章说/usr/local不能被提示(很高兴知道,我很快就会打到.....)所以"修复&#34 ;只是chown在那里的一切:

sudo chown -R $(whoami) $(brew --prefix)/*

如果已经创建了您需要写入的目录,那么它将正常工作。