WebScriptObject.mm: In function `NSString* -[WebScriptObject stringRepresentation](WebScriptObject*, objc_selector*)': WebScriptObject.mm:343: warning: `NSString' may not respond to `+stringWithCString:encoding:' WebScriptObject.mm:343: warning: cannot find method `+stringWithCString:encoding:'; return type `id' assumed Documentation says that +stringWithCString:encoding is 10.4 specific.
Even though these are warnings, the next thing that prints is ** BUILD FAILED **
There's probably a CFString function that does the same thing as this method.
Webkit is built with -Werror by default: if you manually pull out the -Werror flag from that build line, you can continue building Webkit -- however, there will be a crash when you encounter that symbol. Advice on #webkit indicates that it may be possible to rewrite this method to use some CFString method instead. I don't know what this means, just tossing it in in case it's helpful.
Review of this patch is in progress.
Another build error: in file: /Users/crschmidt/webkit/WebCore/khtml/ecma/kjs_window.cpp /Users/crschmidt/webkit/WebCore/khtml/ecma/kjs_window.cpp:93: error: `isnan' not declared /Users/crschmidt/webkit/WebCore/khtml/ecma/kjs_window.cpp: In function `int KJS::intFeature(const QMap<QString, QString>&, const char*, int, int, int)': /Users/crschmidt/webkit/WebCore/khtml/ecma/kjs_window.cpp:557: error: `isnan' undeclared (first use this function) /Users/crschmidt/webkit/WebCore/khtml/ecma/kjs_window.cpp:557: error: (Each undeclared identifier is reported only once for each function it appears in.) Interestingly enough, there seems to be some kind of indication in the file of why this might happen: // Must include <cmath> instead of <math.h> because of a bug in the // gcc 3.3 library version of <math.h> where if you include both // <cmath> and <math.h> the macros necessary for functions like // isnan are not defined. But <cmath> is being included. Not sure why exactly this is/isn't working, but I do know that Panther is using gcc-3.3, whereas building on Tiger used gcc-4.0. This one is an error, rather than a warning, so it can't be just skipped over. I was able to continue building by pulling the isnan calls out (as well as the using std::isnan), although obviously the code in this file will suffer as a result. (Not sure what the end result of this really is, just trying to get it to build to find where things which need to change are).
10.3.9 does not include libxslt header files: it includes the library (-rwxr-xr-x 1 root wheel 202984 12 May 12:13 /usr/lib/libxslt.1.dylib), but there is no /usr/include/libxslt directory.
Comment #6 has been opened as Bug 3334. Comment #5 has been opened as Bug 3344.
Changing title: metabug is 3354. This is one specific aspect of said bug.
Created attachment 2307 [details] proposed fix Unless I'm missing something, this fixes JavaScriptCore to build on Panther.
The patch is OK if the internal compiler error doesn't start happening again. My guess is that it will, and another solution in that case is to use the deprecated +[NSString stringWithCString:].
What internal compiler error? I didn't really grok the comment, not knowing the background ;-) Or of course the non-deprecated [NSString stringWithUTF8String:] or [NSString stringWithString:], but I don't like randomly copying strings for no good reason.
I just applied the patch and did not see any internal compile error building with gcc 3.3 on Tiger.
I didn't get any internal compiler error on Panther with gcc 3.3 1671 or on Tiger with gcc 4.0 5026
r=me I'm going to assume the internal compiler error is gone and land this, since Finlay and I could not repro under a variety of circumstances.
Comment on attachment 2307 [details] proposed fix OK. If this doesn't bring back that mysterious internal compiler error, then it's fine.
Reporter, please mark this bug as Verified if this issue has been fixed in the latest TOT Webkit.