Problem building the Jucer


#1

I’ve just updated the tip and trying to build the Jucer out of the box, on a Mac OS X 10.6 system.

The compilation fails with the following errors:

[code]/Developer/usr/bin/gcc-4.0 -x objective-c++ -arch ppc -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -Os -mdynamic-no-pic -Wreturn-type -Wunused-variable -isysroot /Developer/SDKs/MacOSX10.6.sdk -mtune=G4 -fvisibility=hidden -fvisibility-inlines-hidden -mmacosx-version-min=10.6 “-I/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/build/Jucer.build/Release/Jucer.build/Jucer.hmap” “-F/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/build/Release” “-I/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/build/Release/include” “-I/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/build/Jucer.build/Release/Jucer.build/DerivedSources/ppc” “-I/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/build/Jucer.build/Release/Jucer.build/DerivedSources” -c “/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/juce_LibrarySource.mm” -o “/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/build/Jucer.build/Release/Jucer.build/Objects-normal/ppc/juce_LibrarySource.o”

/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:321: error: expected type-specifier before ‘CALayer’
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:321: error: expected )' before 'CALayer' /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:321: error: expected;’ before ‘’ token
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBitmapImageRep.h:165: error: expected type-specifier before ‘NSColorRenderingIntent’
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBitmapImageRep.h:165: error: expected )' before 'NSColorRenderingIntent' /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBitmapImageRep.h:165: error: expected;’ before ‘)’ token
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBrowser.h:561: error: expected type-specifier before ‘NSViewController’
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBrowser.h:561: error: expected )' before 'NSViewController' /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBrowser.h:561: error: expected;’ before '
’ token
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBrowser.h:566: error: expected type-specifier before ‘NSViewController’
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBrowser.h:566: error: expected )' before 'NSViewController' /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBrowser.h:566: error: expected;’ before ‘’ token
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp: In function ‘bool juce::juce_copyFile(const juce::String&, const juce::String&)’:
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp:238710: warning: ‘copyPath:toPath:handler:’ is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSFileManager.h:172)
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp: In member function ‘const juce::File juce::File::getLinkedTarget() const’:
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp:238916: warning: ‘pathContentOfSymbolicLinkAtPath:’ is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSFileManager.h:166)
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp: In static member function ‘static OSType juce::PlatformUtilities::getTypeOfFile(const juce::String&)’:
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp:239141: warning: ‘fileAttributesAtPath:traverseLink:’ is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSFileManager.h:162)
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp: In static member function ‘static void juce::desktop::setScreenSaverEnabled(bool)’:
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp:239525: warning: ‘IOPMAssertionCreate’ is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/IOKit.framework/Headers/pwr_mgt/IOPMLib.h:342)
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp:239526: warning: ‘IOPMAssertionCreate’ is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/IOKit.framework/Headers/pwr_mgt/IOPMLib.h:342)
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp: In constructor 'juce::NSViewComponentPeer::NSViewComponentPeer(juce::Component
, int, NSView*)’:
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp:245927: warning: class ‘JuceNSWindow_1_51_3’ does not implement the ‘NSWindowDelegate’ protocol
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp: In member function ‘NSMenu* juce::JuceMainMenuHandler::createMenu(juce::PopupMenu, const juce::String&, int, int)’:
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp:247933: warning: class ‘JuceMenuCallback_1_51_3’ does not implement the ‘NSMenuDelegate’ protocol
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp: In static member function ‘static void juce::FileChooser::showPlatformDialog(juce::Array<juce::File, juce::DummyCriticalSection>&, const juce::String&, const juce::File&, const juce::String&, bool, bool, bool, bool, bool, juce::FilePreviewComponent*)’:
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp:248228: warning: class ‘JuceFileChooserDelegate_1_51_3’ does not implement the ‘NSOpenSavePanelDelegate’ protocol
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp: In function ‘JuceAppDelegate_1_51_3* -[JuceAppDelegate_1_51_3 init](JuceAppDelegate_1_51_3*, objc_selector*)’:
/Sviluppo/Common/juce/Juce_git/extras/the jucer/build/mac/…/…/src/…/…/…/juce_amalgamated.cpp:249169: warning: class ‘JuceAppDelegate_1_51_3’ does not implement the ‘NSKeyedArchiverDelegate’ protocol[/code]


#2

It builds fine for me. That looks as if you’re trying to compile the amalgamated files as .cpps rather than .mms…


#3

I have a Core 2 MacBook (64-bit) running OS X 10.6 and XCode 3.2.2. With default SDK selected, and release target selected (debug target works), and virgin downloads of 1.50 and 1.51 and git, I get the same errors as yfede when building the new Jucer, and also when building the demo audio plugin.

The errors happen during the PPC build – the 386 build works in all cases. But my system is 10.6, so the default SDK is 10.6, and of course a PPC build shouldn’t be expected to work on 10.6 – and it doesn’t.

Quick solution is to select 10.5 SDK; then everything seems to work fine. The Juce Demo Plugin also passes auval that way.

I’m not sure why it’s trying to build PPC under 10.6 though – should it be doing that at all?


#4

It’s in the build settings, under “architectures” or something.


#5

Trying to build on 10.5 out of the box and I get no errors but when I try to launch the jucer. I get a ‘cannot run because it is not supported on this architecture’ but everything seems to work fine in terms of building it? In the build settings architecture is set to i386, is there something else I’m missing. I get the same problem when trying to build a project that I created with the jucer on windows for OSX, i.e., everything seems to build fine but the binary won’t launch? I’m using xcode 3 and 10.5.5.


#6

Hi Jules,
I have problems building Jucer in release mode, it shows the following errors. The debug mode it builds without any problem.

CompileC build/Jucer.build/Release/Jucer.build/Objects-normal/ppc/juce_LibrarySource.o ../../src/juce_LibrarySource.mm normal ppc objective-c++ com.apple.compilers.gcc.4_0
cd "/Users/borqsindia/juce/extras/the jucer/build/mac"
setenv LANG en_US.US-ASCII
/Developer/usr/bin/gcc-4.0 -x objective-c++ -arch ppc -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -Os -mdynamic-no-pic -Wreturn-type -Wunused-variable -isysroot /Developer/SDKs/MacOSX10.6.sdk -mtune=G4 -fvisibility=hidden -fvisibility-inlines-hidden -mmacosx-version-min=10.6 "-I/Users/borqsindia/juce/extras/the jucer/build/mac/build/Jucer.build/Release/Jucer.build/Jucer.hmap" "-F/Users/borqsindia/juce/extras/the jucer/build/mac/build/Release" "-I/Users/borqsindia/juce/extras/the jucer/build/mac/build/Release/include" "-I/Users/borqsindia/juce/extras/the jucer/build/mac/build/Jucer.build/Release/Jucer.build/DerivedSources/ppc" "-I/Users/borqsindia/juce/extras/the jucer/build/mac/build/Jucer.build/Release/Jucer.build/DerivedSources" -c "/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/juce_LibrarySource.mm" -o "/Users/borqsindia/juce/extras/the jucer/build/mac/build/Jucer.build/Release/Jucer.build/Objects-normal/ppc/juce_LibrarySource.o"

/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:321: error: expected type-specifier before 'CALayer'
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:321: error: expected `)' before 'CALayer'
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:321: error: expected `;' before '*' token
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBitmapImageRep.h:165: error: expected type-specifier before 'NSColorRenderingIntent'
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBitmapImageRep.h:165: error: expected `)' before 'NSColorRenderingIntent'
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBitmapImageRep.h:165: error: expected `;' before ')' token
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBrowser.h:561: error: expected type-specifier before 'NSViewController'
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBrowser.h:561: error: expected `)' before 'NSViewController'
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBrowser.h:561: error: expected `;' before '*' token
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBrowser.h:566: error: expected type-specifier before 'NSViewController'
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBrowser.h:566: error: expected `)' before 'NSViewController'
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSBrowser.h:566: error: expected `;' before '*' token
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp: In function 'bool juce::juce_copyFile(const juce::String&, const juce::String&)':
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp:238245: warning: 'copyPath:toPath:handler:' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSFileManager.h:172)
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp: In member function 'const juce::File juce::File::getLinkedTarget() const':
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp:238438: warning: 'pathContentOfSymbolicLinkAtPath:' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSFileManager.h:166)
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp: In static member function 'static OSType juce::PlatformUtilities::getTypeOfFile(const juce::String&)':
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp:238661: warning: 'fileAttributesAtPath:traverseLink:' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSFileManager.h:162)
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp: In static member function 'static void juce::Desktop::setScreenSaverEnabled(bool)':
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp:239051: warning: 'IOPMAssertionCreate' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/IOKit.framework/Headers/pwr_mgt/IOPMLib.h:342)
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp:239052: warning: 'IOPMAssertionCreate' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/IOKit.framework/Headers/pwr_mgt/IOPMLib.h:342)
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp: In constructor 'juce::NSViewComponentPeer::NSViewComponentPeer(juce::Component*, int, NSView*)':
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp:245857: warning: class 'JuceNSWindow_1_51_15_3' does not implement the 'NSWindowDelegate' protocol
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp: In member function 'NSMenu* juce::JuceMainMenuHandler::createMenu(juce::PopupMenu, const juce::String&, int, int)':
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp:248023: warning: class 'JuceMenuCallback_1_51_15_3' does not implement the 'NSMenuDelegate' protocol
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp: In static member function 'static void juce::FileChooser::showPlatformDialog(juce::Array<juce::File, juce::DummyCriticalSection>&, const juce::String&, const juce::File&, const juce::String&, bool, bool, bool, bool, bool, juce::FilePreviewComponent*)':
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp:248318: warning: class 'JuceFileChooserDelegate_1_51_15_3' does not implement the 'NSOpenSavePanelDelegate' protocol
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp: In function 'JuceAppDelegate_1_51_15_3* -[JuceAppDelegate_1_51_15_3 init](JuceAppDelegate_1_51_15_3*, objc_selector*)':
/Users/borqsindia/juce/extras/the jucer/build/mac/../../src/../../../juce_amalgamated.cpp:249427: warning: class 'JuceAppDelegate_1_51_15_3' does not implement the 'NSKeyedArchiverDelegate' protocol

If I change the build setting to following, Jucer builds and launches but it’s not the right way to do it. I see if I can do a better job than this.


#7

Finally a working solution, Setting architecture type to 64-bit Intel solves the problem. Looks the api’s are available for 64 bit machines.


#8

Thanks - I’ve actually got a simple code change to fix this, I’ll check it in later today…


#9

I haven’t taken update yet, but this problem persist with both the version of Jucer.


#10

I fixed it yesterday - try the latest version.


#11

Hi Jules,

I got the Jucer built, but the build time has more than doubled :frowning: . This is only in the case of Jucer(experimental). The old Jucer builds quickly enough.

Anyway what changes did you put in to fix the errors?


#12

The build time will certainly double if you build a universal binary, because XCode has to compile everything twice!

I just found an old bodge in the codebase that was causing that error, and removed it.


#13

Not sure if it has something to do with universal binary. Since it takes more time to build each files. I will try building for Native architecture and check the time required for build.


#14

You were right, It builds much quicker in debug mode. :oops: