AU Xcode 5 OSX 10.9 Build Succeeds but Product Fails


#1

Hi all,

I recently upgraded to Mavericks 10.9 & Xcode 5. I built a new plugin project with the Introjucer and managed to compile it. However the .component file is not recognized by Logic Pro 9,  JUCE PluginHost,  and Ableton Live 8. Furthermore, the product in Xcode stays red (see attached screenshot).

The plugin should just be the default "Hellow World". I haven't linked in the MainGUI.h file yet.

Any help is much appreciated!

Muir

 


#2

Check: 

  • Have you got an exectuable in *.component/Contents/MacOS
  • Is it in the appropriate Plug-ins/Components folder
  • If you run 'file' on the executable do you get the architecture you need? (see below)
  • What does auval say? 


 $ file BigKick 
BigKick: Mach-O universal binary with 2 architectures: [x86_64: Mach-O 64-bit x86_64 bundle] [i386]
 

You are right that red is odd though - it's supposed to mean the product isn't there - however mine is also showing red and it's working just fine. So I'd not spend too long scratching your head about that.  

 


#3

Many thanks for responding!

• I do have an executable in the specified location

• It's in the correct folder (gets copied over to the components folder as a post-build script)

• Running 'file' produces the following:

tadnicolsmbp2:~ Tad$ file /Library/Audio/Plug-Ins/Components/PhaserRaiser.component/Contents/MacOS/PhaserRaiser 

/Library/Audio/Plug-Ins/Components/PhaserRaiser.component/Contents/MacOS/PhaserRaiser: Mach-O bundle i386

• Auval says the following:

--------------------------------------------------

VALIDATING AUDIO UNIT: 'aufx' - 'PHRS' - 'MUIR'

--------------------------------------------------

Manufacturer String: Muirscape

AudioUnit Name: PhaserRaiser

Component Version: 1.0.0 (0x10000)

 

* * PASS

--------------------------------------------------

TESTING OPEN TIMES:

COLD:

JUCE v3.0.0

FATAL ERROR: OpenAComponent: result: -1,0xFFFFFFFF

tadnicolsmbp2:~ Tad$ 


#4

Also, what Architecture are you using to obtain: Mach-O universal binary with 2 architectures: [x86_64: Mach-O 64-bit x86_64 bundle] [i386]?

I've tried every option and only get either:

• Mach-O bundle i386

or

• Mach-O 64-bit bundle x86_64


#5

http://www.juce.com/forum/topic/introjucers-au-plugin-template-not-working-anymore#p62820

See if that fixes it for you!

Dual architecture is done by tweaking the build settings.  Introjucer should work for you though.  Under your Xcode project (in build and release) I have Architecture set to Universal Binary (32/64-bit). 

I think There are a couple of different things 'file' reports these binaries as though on different versions of OSX, so don't be surprised if you get a slightly different message. 


#6

I took a look at the chain of forum threads from your above post, took a deep breath, & decided to do a complete clean re-clone of juce after clearing away all the old files.

It works great now!

I still can't figure out a way to get both the i386 & x86_64 to show up in the 'file' command. I have the architecture set to Universal Binary (32/64-bit) as well. But perhaps that's one of those changes in the OSX you mentioned. 

Also, auval only works with the 32-bit version, yes?

Many thanks for your help!


#7

Auval works on the 64-bit version with the option -64 ( auval -64 -a as an example) I know this is a late answer and you probably figured that out by now, but I just happened to be looking through the forum and thought I'd answer for posterity in case anyone else is looking.