Version 1.38

removing OTHER_LD_FLAGS_ppc does not change a thing, debug build fails, release works :frowning:

Builds just fine on my machine, so can’t think what’s wrong there.

But if you’ve not got 10.2, then I wouldn’t bother using 10.3 anyway - just get rid of the xconfig file altogether and do a normal 10.4 build. The only reason I the xconfig is there is if you want to build a universal binary that works on all platforms from 10.2 owards.

removing xconfig file produces a different error:

/code/juce_1_38/build/macosx/…/…/src/juce_core/text/juce_String.cpp:331: error: ‘__isfinite’ was not declared in this scope

juce_isfinite is declared in juce_MathsFunctions.h

If you have a look, you’ll see it’s defined differently for each OS version - on my setup here, to build in 10.3, I needed to use __isfinite, and that still works for me. No idea why yours would be different, but I’d be interested to know if you can hack that file around to get it to build on your machine.

[quote=“jules”]Builds just fine on my machine, so can’t think what’s wrong there.

But if you’ve not got 10.2, then I wouldn’t bother using 10.3 anyway - just get rid of the xconfig file altogether and do a normal 10.4 build. [/quote]

I don’t know if it will help, but I had a similar problem. The ppc target for juce was set to 10.2.8, and my intel iMac doesn’t have that SDK installed. Changing the xconfig references to 10.2.8 to 10.3.9 fixed the problem.

I am getting a number of warnings of deprecated calls. Has anyone else mentioned that? Things like GetPort, SetPort, Region calls, Show and HideCursor…

[quote=“igor”][quote=“jules”]Builds just fine on my machine, so can’t think what’s wrong there.

But if you’ve not got 10.2, then I wouldn’t bother using 10.3 anyway - just get rid of the xconfig file altogether and do a normal 10.4 build. [/quote]

I don’t know if it will help, but I had a similar problem. The ppc target for juce was set to 10.2.8, and my intel iMac doesn’t have that SDK installed. Changing the xconfig references to 10.2.8 to 10.3.9 fixed the problem.

I am getting a number of warnings of deprecated calls. Has anyone else mentioned that? Things like GetPort, SetPort, Region calls, Show and HideCursor…[/quote]

That’s the same thing, but auspuff’s getting different errors when building for 10.3

The deprecated warnings are annoying, but for most of it, I can’t find any other way of doing the things that use these old functions… For example, getting the mouse position is deprecated, but there’s no replacement function!

Ok, I just managed to get this error to happen to me as well - here’s a fix, which replaces a section of juce_MathsFunctions.h:

#ifdef JUCE_LINUX
  #define juce_isfinite(v)      std::isfinite(v)
#elif JUCE_MAC
  #if MACOS_10_2_OR_EARLIER
    #define juce_isfinite(v)    __isfinite(v)
  #elif MACOS_10_3_OR_EARLIER
    #define juce_isfinite(v)    __isfinited(v)
  #else
    #define juce_isfinite(v)    std::isfinite(v)
  #endif
#elif JUCE_WIN32 && ! defined (isfinite)
  #define juce_isfinite(v)      _finite(v)
#else
  #define juce_isfinite(v)      isfinite(v)
#endif

You’ll probably have to make sure you do a full clean rebuild to get it to compile properly.

Hi,
I also was having a couple of build issues under 10.4, but the suggestions above fixed the problems. i trashed the juce.xcode and i then had an error about converting int* to socklen_t*. i changed the following in juce_Socket.cpp, i guess the #if is not working correctly.

#if defined (JUCE_LINUX) || (defined (JUCE_MAC) && ! MACOS_10_2_OR_EARLIER)
socklen_t len = sizeof (sockaddr);
#else
socklen_t len = sizeof (sockaddr);

thanks

[quote=“testcase”]Hi,
I also was having a couple of build issues under 10.4, but the suggestions above fixed the problems. i trashed the juce.xcode and i then had an error about converting int* to socklen_t*. i changed the following in juce_Socket.cpp, i guess the #if is not working correctly.

#if defined (JUCE_LINUX) || (defined (JUCE_MAC) && ! MACOS_10_2_OR_EARLIER)
socklen_t len = sizeof (sockaddr);
#else
socklen_t len = sizeof (sockaddr);

thanks[/quote]

I’ve tested that code under 10.2, 10.3 and 10.4, and had no problems. Maybe your build has conflicting settings about which OS version it’s targeting? Seems like your MACOS_10_2_OR_EARLIER flag must be set even though you’re using 10.4.

[quote=“jules”]

I’ve tested that code under 10.2, 10.3 and 10.4, and had no problems. Maybe your build has conflicting settings about which OS version it’s targeting? Seems like your MACOS_10_2_OR_EARLIER flag must be set even though you’re using 10.4.[/quote]

Hmm. I can’t find anything, but I will continue to look and post if I find something.

hi i think the following needs to be added to juce_Slider.cpp

void SliderListener::sliderValueChanged (Slider*)
{
}

Really?.. It’s a pure virtual function deliberately to make sure people can’t forget to implement it. Why do you think it shouldn’t be pure virtual?

Ooop. My error. sorry. I am making some wrappers so that some things can be called from lisp and i was getting a link error because it was a missing symbol - but, as you point out it should be.

Ld /Developer/Projects/myPlug/build/JuceVST.vst/Contents/MacOS/JuceVST normal ppc
    cd /Developer/Projects/myPlug/build/VST_Mac
    /usr/bin/g++-4.0 -o /Developer/Projects/myPlug/build/JuceVST.vst/Contents/MacOS/JuceVST -L/Developer/Projects/myPlug/build -L/Developer/SDKs/juce/bin -F/Developer/Projects/myPlug/build -filelist /Developer/Projects/myPlug/build/JuceVST.build/Objects-normal/ppc/JuceVST.LinkFileList -framework Carbon -framework QuickTime -framework AGL -framework CoreAudio -framework CoreServices -framework CoreMIDI -arch ppc -Wl,-Y,1455 -bundle -mmacosx-version-min=10.3 -ljucedebug -isysroot /Developer/SDKs/MacOSX10.3.9.sdk
/usr/bin/ld: /Developer/SDKs/juce/bin/libjucedebug.a(juce_String.o) illegal reference for -dynamic code (section difference reference from section (__TEXT,__eh_frame) relocation entry (50) to symbol: ___isfinite defined in dylib: /Developer/SDKs/MacOSX10.3.9.sdk/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libSystem.dylib)
collect2: ld returned 1 exit status

this is what i’m getting, juce is 1.40 audiopluginframework is latest.

i can’t compile with sdk 10.4u cause it gives me an error with undefined juce_isfinite(), i’m kinda stuck. any ideas ? (this is a debug build with juce build on sdk 10.3.9).

That isfinite thing is a real PITA on the mac as every OS release and compiler change seems to implement it in bizarre and incompatible ways…

In the upcoming release I’ve removed all uses of it from the library itself, using tests like “n > -1.0e20 && n < -1.0e20” (or something appropriate) instead. That way at least it all links.

and i though macos was superior in all ways possible. and yet this thing comes up.

i’ll wait for a new release, for now i’ll go with using the “Release” biuld for my plug, hope i wont crash anything.

(This isn’t actually macos - it’s the c library that’s the trouble)