Cannot compile on Yosemite

#5 · closed · 3 comments

View on GitHub ↗

bajtos

``` $ cc -v Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn) Target: x86_64-apple-darwin14.0.0 Thread model: posix $ make 2 ↵ cc -m64 -Xlinker -kext -static DisableTurboBoost.c -o Contents/MacOS/DisableTurboBoost -fno-builtin -nostdlib -lkmod -r -mlong-branch -I/System/Library/Frameworks/Kernel.framework/Headers -Wall clang: error: unknown argument: '-mlong-branch' make: *** [Contents/MacOS/DisableTurboBoost] Error 1 ``` Removing the flag `-mlong-branch` fixes the compiler error, but I am not sure of the consequences of such change.

Comments

bajtos

Also `make load` fails on my machine: ``` $ make load mkdir -p /tmp/DisableTurboBoost.kext mkdir -p /tmp/DisableTurboBoost.kext/Contents/MacOS sudo cp Contents/MacOS/DisableTurboBoost /tmp/DisableTurboBoost.kext/Contents/MacOS/DisableTurboBoost Password: sudo cp Contents/Info.plist /tmp/DisableTurboBoost.kext/Contents/Info.plist sudo chown -R root:wheel /tmp/DisableTurboBoost.kext sudo kextutil -v /tmp/DisableTurboBoost.kext Defaulting to kernel file '/System/Library/Kernels/kernel' Diagnostics for /tmp/DisableTurboBoost.kext: Code Signing Failure: not code signed /tmp/DisableTurboBoost.kext appears to be loadable (not including linkage for on-disk libraries). ERROR: invalid signature for com.nanoant.DisableTurboBoost, will not load make: *** [load] Error 19 ```

nanoant

I have fixed compilation problems with fddc9f7a133bc2f1592dd773228f509bc1e8048b, however I will not fix the signature errors. `kexts` needs separate certificate different from Developer ID (that I have) in order to run `kexts` on vanilla Yosemite. I once submitted myself for such certificate, but Apple has not responded at all for my submission. Pff. You will need to enable `kext` developer mode if you want to run them unsigned: ``` nvram boot-args=kext-dev-mode=1 ``` More information about this http://www.cindori.org/trim-enabler-and-yosemite/

bajtos

Cool, thank you for the fix and the info on how to resolve the signature problem.