In the process of building PYQT I met a very disgusting problem, in the installation of the SIP after compiling the source code after the installation process has been prompted me: Operation not permitted
, I even reinstall the system is useless, finally through the data to overcome the problem.
Installing SIP
Download the SIP source code package after extracting it into its folder:
python configure.pysudo makesudo make install
At this point, a very nasty error message appears:
-f sip /System/Library/Frameworks/Python.framework/Versions/2.7/bin/sipcp: /System/Library/Frameworks/Python.framework/Versions/2.7/bin/sip: Operation not permittedmake[112
So I used to su
log in to the Shell. In repeated above process, no fruit.
After that, I used brew install sip
, reported the same error.
Then I went into the folder and I was /System/Library/Frameworks/Python.framework
going to explore:
An attempt was made to change its permissions. Results:
Reason
After the event that the Xcode compiler code was injected, this time the Mac OS X El Capitan System was upgraded, enabling a higher security protection mechanism: System Integrity Protection Systems Integrity Protection (SIP). In simple terms, it is more mandatory to protect the system-related folders. Developers cannot directly manipulate the relevant file content.
Apple's official explanation:
System Integrity Protection is a security technology on OS X El Capitan that's designed to help prevent potentially malici ous software from modifying protected files and folders on your MAC.
In OS X, the ' root ' user account previously had no permission restrictions and could access any system folder or Applicati On your Mac. Software gained Root-level Access when you entered your administrator name and password to install it and could then modif Y or overwrite any system file or application.
System Integrity Protection restricts the root account and limits the actions, the root user can perform on protected Parts of OS X.
Paths and applications protected by System Integrity Protection include:
/system
/usr
/bin
/sbin
Apps that is pre-installed with OS X
Paths and applications that Third-party apps and installers can write to include:
/applications
/library
/usr/local
System Integrity Protection is designed to allow modifications of these protected parts, by processes, is signed By Apple and has special entitlements to write to the system files, like Apple software updates and Apple installers.
Apps, download from the Mac App Store already work with System Integrity Protection. Other third-party software, conflicts with System Integrity Protection might is set aside when you upgrade to OS X El Capitan.
System Integrity Protection also helps prevent software from changing your startup volume. To boot your Mac from a different volume, you can use the Startup Disk pane in System Preferences or you can hold down the Option key while you reboot, and select a volume from the list.
Information about products not manufactured by Apple, or independent websites not controlled or tested by Apple, is Provid Ed without recommendation or endorsement. Apple assumes no responsibility with regard to the selection, performance, or use of third-party websites or products. Apple makes no representations regarding Third-party website accuracy or reliability. Risks is inherent in the use of the Internet. Contact the vendor for additional information. Other company and product names trademarks of their respective owners.
https://support.apple.com/en-us/HT204899
How to Solve
In fact the solution is very easy, since the system has a SIP problem, then we shut it down just fine:
- Rebooting the system
- Press and hold to
Command + R
enter Recoverary mode
- Click Useful Tools > Terminals
- Input
csrutil disable
- Rebooting the system
Then we compile and install the SIP again, no matter what the problem.
Troubleshooting Mac OS X 10.11 Installation SIP does not have permissions