In the cairo_test_real() function in test/cairo-test.c, the current value of 'stderr' is saved and restored later. 'stderr' is read-only on Solaris. Compiler error: "cairo-test.c", line 355: left operand must be modifiable lvalue: op "=" "cairo-test.c", line 372: left operand must be modifiable lvalue: op "=" I don't understand why it is saved. Attached patch removes the save/restore code and uses 'Stderr' instead of 'stderr' for the file handle.
Created attachment 2616 [details] [review] Remove assignment of stderr in test/cairo-test.c
That's annoying, (though I did wonder for a moment if writing to stderr was kosher or not). The goal here was to easily get individual test output to log files rather than spewing to the tty. One way to fix it in the face of read-only stderr is to add something like a cairo_test_log function and change all occurrences of fprintf(stder, ...) in cairo/test/*.c to call cairo_test_log instead.
I've now committed a change that eliminates the write to stderr and implements cairo_test_log as suggested.
Move bugs against "cvs" version to "0.9.3" so we can remove the "cvs" version.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.