1

I tried to compile XNU-2782.1.97 for my Mac that's on OSX Yosemite 10.10.3, but I got the following errors at the end of the compilation.

I think that normally I have everything that's needing for doing it.

...
clang: error: optimization flag '-freorder-blocks' is not supported
make[7]: *** [device_tree.o] Error 1
make[6]: *** [build_all] Error 2
make[5]: *** [do_all] Error 2
clang: error: optimization flag '-freorder-blocks' is not supported
make[4]: *** [build_all] Error 2
clang: error: optimization flag '-freorder-blocks' is not supported
make[3]: *** [build_all_recurse_into_conf] Error 2
make[7]: *** [IOLib.cpo] Error 1
make[2]: *** [build_all_recurse_into_pexpert] Error 2
make[2]: *** Waiting for unfinished jobs....
make[6]: *** [build_all] Error 2
make[5]: *** [do_all] Error 2
make[4]: *** [build_all] Error 2
make[3]: *** [build_all_recurse_into_conf] Error 2
make[2]: *** [build_all_recurse_into_iokit] Error 2
make[7]: *** [OSRuntimeSupport.o] Error 1
make[7]: *** Waiting for unfinished jobs....
C++ OSSerialize.cpo
clang: error: optimization flag '-freorder-blocks' is not supported
make[7]: *** [OSSerialize.cpo] Error 1
make[6]: *** [build_all] Error 2
make[5]: *** [do_all] Error 2
make[4]: *** [build_all] Error 2
make[3]: *** [build_all_recurse_into_conf] Error 2
make[2]: *** [build_all_recurse_into_libkern] Error 2
MIG atm_notification_user.c
MIG device_server.h
MIG default_pager_alerts_user.c
Generating audit_kevents.c from /Users/Martin/xnu-2782.1.97/bsd/kern/syscalls.master
MIG audit_triggers_user.c
MIG device_server.c
CC audit_mac.o
clang: error: optimization flag '-freorder-blocks' is not supported
make[7]: *** [audit_mac.o] Error 1
make[6]: *** [build_all] Error 2
make[5]: *** [do_all] Error 2
make[4]: *** [build_all] Error 2
make[3]: *** [build_all_recurse_into_conf] Error 2
make[2]: *** [build_all_recurse_into_bsd] Error 2
MIG default_pager_object_server.c
MIG UNDRequest.c
MIG clock_reply_user.c
MIG gssd_mach.c
MIG UNDReplyServer.c
MIG coalition_notification_user.c
MIG kextd_mach.c
MIG gssd_mach.h
MIG lockd_mach.c
MIG exc_user.c
MIG kextd_mach.h
MIG lockd_mach.h
MIG host_notify_reply_user.c
MIG mach_exc_user.c
MIG mach_notify_user.c
MIG memory_object_user.c
MIG memory_object_control_user.c
MIG memory_object_default_user.c
MIG task_access_user.c
MIG telemetry_notification_user.c
MIG upl_user.c
MIG vm_map_user.c
MIG clock_server.c
MIG clock_priv_server.c
MIG exc_server.c
MIG host_priv_server.c
MIG host_security_server.c
MIG lock_set_server.c
MIG mach_exc_server.c
MIG mach_host_server.c
MIG mach_notify_server.c
MIG mach_port_server.c
MIG mach_vm_server.c
MIG mach_voucher_server.c
MIG mach_voucher_attr_control_server.c
MIG memory_object_server.c
MIG memory_object_control_server.c
MIG memory_object_default_server.c
MIG processor_server.c
MIG processor_set_server.c
MIG task_server.c
MIG thread_act_server.c
MIG upl_server.c
MIG vm_map_server.c
MIG vm32_map_server.c
CC vm_compressor_backing_store.o
CC default_pager.o
CC dp_backing_store.o
CC dp_memory_object.o
clang: error: optimization flag '-freorder-blocks' is not supportedclang
: error: optimization flag '-freorder-blocks' is not supported
clang: error: optimization flag '-freorder-blocks' is not supported
clang: error: optimization flag '-freorder-blocks' is not supported
make[7]: *** [dp_memory_object.o] Error 1
make[7]: *** Waiting for unfinished jobs....
make[7]: *** [dp_backing_store.o] Error 1
make[7]: *** [default_pager.o] Error 1
make[7]: *** [vm_compressor_backing_store.o] Error 1
CC default_pager_alerts_user.o
clang: error: optimization flag '-freorder-blocks' is not supported
make[7]: *** [default_pager_alerts_user.o] Error 1
make[6]: *** [build_all] Error 2
make[5]: *** [do_all] Error 2
make[4]: *** [build_all] Error 2
make[3]: *** [build_all_recurse_into_conf] Error 2
make[2]: *** [build_all_recurse_into_osfmk] Error 2
make[1]: *** [build_all_bootstrap_RELEASE^X86_64^NONE] Error 2
make: *** [all] Error 2
Unheilig
  • 16,196
  • 193
  • 68
  • 98
Siccoi
  • 21
  • 3

2 Answers2

2

You're most likely using the wrong Xcode version. An Apple kernel engineer, Shantonu Sen, maintains a blog about compiling xnu from source, and he tells you the the exact toolchain versions to use for each version of xnu. I suggest checking that you're doing it exactly as he says. You may need to use xcode-select to set the Xcode version that xcodebuild will use.

pmdj
  • 22,018
  • 3
  • 52
  • 103
  • I am using Xcode 6.3.2. Do I need to downgrade Xcode to 6.1 ? – Siccoi May 23 '15 at 13:56
  • Yes. Or at least, you need to install both, and use the `xcode-select` command-line command to default to 6.1 during the xnu build. I have various versions of Xcode in /Applications, renamed to e.g. "Xcode-6.3.2.app" etc. – pmdj May 23 '15 at 14:57
0

Here are the steps that I have done for compiling it.

Last login: Sat May 16 20:39:26 on ttys006
iMac-de-Martin:~ Martin$ curl -O http://opensource.apple.com/tarballs/xnu/xnu-2782.1.97.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 9655k  100 9655k    0     0  48145      0  0:03:25  0:03:25 --:--:-- 64335
iMac-de-Martin:~ Martin$ tar zxf xnu-2782.1.97.tar.gz
iMac-de-Martin:~ Martin$ cd xnu-2782.1.97
iMac-de-Martin:xnu-2782.1.97 Martin$ make SDKROOT=macosx ARCH_CONFIGS=X86_64 KERNEL_CONFIGS=RELEASE
Siccoi
  • 21
  • 3