Jump to content

Compiling IONDRV doesn't work


17 posts in this topic

Recommended Posts

I tried to test Xcode by compiling the IOGraphics source from opensource.apple.com, but it isn't working out? I have installed dtrace, kext-tools, bootstrap and cxxfilt, I didn't mod the source, and it always says "Build succeeded". Yet the compiled Kexts are not to be found on the HDD! I found the output directory inside the Xcode.app, but the Build folder was empty? Could someone explain what I missed?

Link to comment
Share on other sites

I did find the settings in my prohect, thanks to your picture. But the only options are these: Default, Deployment, Development. The only one which does something is development, and that only gives me a .kext with nothing more than a .plist file... Default and Deployment don't give out anything. I did not change the project, I just tried to build it. I'm quite new to Xcode, could I have missed something else? The files I use are these: http://opensource.apple.com/source/IOGraphics/IOGraphics-409/ and I build with Xcode 4.3.3.

Link to comment
Share on other sites

What OS are you trying to compile for? Be sure you're compiling a 64 bit kext if you're 10.7 and upwards.

 

I actually dug a bit into why it wasn't compiling and there were two headers that were missing that I included which are IOGraphicsTypesPrivate.h and IOFramebufferPrivate.h but for some odd reason I thought the compile would have been fine but the private framebuffer yielded a good deal of errors I don't have time to weed through and fix atm.

 

Screen%20Shot%202012-10-08%20at%2011.50.09%20AM.png

Link to comment
Share on other sites

There is no need to fix those errors :) They occur because your Xcode misses cxxfilt, dtrace, kext-tools and bootstrap-cmds. The Headers aren't needed, it compiles just fine (Build succeeded, yet the kext is missing). And since I want to compile for Lion 10.7.4 (IOGraphics-409 are for 10.7.4), I would like to know where I change the mode?

Link to comment
Share on other sites

Try right clicking on the kext selection on the left hand pane and show in finder and see when you build the file if the file's updated time stamp matches your build time. It doesn't matter where the project sits what matters is more so the kext landing in the build folder within the directory.

 

Try looking in the project section on where the build location for the debug and release are set to because the kexts when built should land in that directory that is set.

Link to comment
Share on other sites

It compiles, but throws errors without an end... 121 on IONRDVSupport, and 5 on IOGraphicsFamily. How come Apples own source code doesn't compile? I checked the Developer Library, but the only info on compiling their sources is for the XNU. And I can't event add the missing file "IOGraphicsPrivate", even though I have the original in the IOKIT/graphics folder.

And if it compiles in 2 seconds without an error, the names under the "products" folder are red:

 

Untitled.tiff

Link to comment
Share on other sites

You're facing the issue I was plagued with when I tried compiling myself a couple days ago.. Not even sure why this one doesn't do so when I've compiled others in the past that have worked. You tried building for both 32 and 64 correct? Why can't you add the header btw? It should be able to be added without an issue. Also, just installed the command line tools and what not and my issue seems to be with the IOFramebufferPrivate and nor will Xcode accept that I've added in the private framebuffer into IOFramebuffer

Link to comment
Share on other sites

The settings are set for i386, x86_64 - and it reads "My Mac 32-Bit" near the Run and Stop button. I also added the in red written missing .c and .h files, which I found in older source versions. Could it be that I need to use the Xcode version for 10.7.4, since thats the version of IONDRV that I want to compile.

 

Edit: I can only boot 32-Bit, since I have the first MacBook Air from early 2008 (MBA1,1).

Link to comment
Share on other sites

  • 3 weeks later...
 Share

×
×
  • Create New...