[cairo-bugs] [Bug 18010] New: Cairo requires -DREENTRANT ( along with -D_POSIX_THREAD_SEMANTICS) to compile on Solaris 10 with pthreads

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Oct 10 14:12:20 PDT 2008


http://bugs.freedesktop.org/show_bug.cgi?id=18010

           Summary: Cairo requires -DREENTRANT (along with -
                    D_POSIX_THREAD_SEMANTICS) to compile on Solaris 10 with
                    pthreads
           Product: cairo
           Version: 1.8.0
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: general
        AssignedTo: cworth at cworth.org
        ReportedBy: mjbauer at eecs.tufts.edu
         QAContact: cairo-bugs at cairographics.org


Compilation of the Cairo test suite (with pthreads enabled) fails at
cairo_test.c:

 gcc -DHAVE_CONFIG_H -I. -I.. -I. -I./pdiff -I../boilerplate -I../src -I../src
-I/usr/local/include/pixman-1 -I/usr/local/include/freetype2
-I/usr/local/include -I/usr/local/include -I/usr/local/include/libpng12
-I/usr/local/include -Wall -Wextra -Wsign-compare
-Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
-Wnested-externs -Wpacked -Wswitch-enum -Wmissing-format-attribute
-Wstrict-aliasing=2 -Winit-self -Wunsafe-loop-optimizations
-Wdeclaration-after-statement -Wold-style-definition
-Wno-missing-field-initializers -Wno-unused-parameter -Wno-attributes
-Wno-long-long -Winline -fno-strict-aliasing -Wp,-D_FORTIFY_SOURCE=2
-I/usr/openwin/include -g -O2 -D_POSIX_PTHREAD_SEMANTICS -MT cairo-test.lo -MD
-MP -MF .deps/cairo-test.Tpo -c cairo-test.c  -fPIC -DPIC -o .libs/cairo-test.o
cairo-test.c: In function 'cairo_test_run':
cairo-test.c:1060: error: implicit declaration of function 'flockfile'
cairo-test.c:1060: warning: nested extern declaration of 'flockfile'
cairo-test.c:1091: error: implicit declaration of function 'funlockfile'
cairo-test.c:1091: warning: nested extern declaration of 'funlockfile'
make[5]: *** [cairo-test.lo] Error 1
make[5]: Target `imagediff' not remade because of errors.
gcc -DHAVE_CONFIG_H -I. -I..  -I. -I./pdiff -I../boilerplate -I../src -I../src
-I/usr/local/include/pixman-1      -I/usr/local/include/freetype2
-I/usr/local/include   -I/usr/local/include   -I/usr/local/include/libpng12  
-I/usr/local/include      -Wall -Wextra -Wsign-compare
-Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
-Wnested-externs -Wpacked -Wswitch-enum -Wmissing-format-attribute
-Wstrict-aliasing=2 -Winit-self -Wunsafe-loop-optimizations
-Wdeclaration-after-statement -Wold-style-definition
-Wno-missing-field-initializers -Wno-unused-parameter -Wno-attributes
-Wno-long-long -Winline -fno-strict-aliasing -Wp,-D_FORTIFY_SOURCE=2         
-I/usr/openwin/include    -g -O2 -D_POSIX_PTHREAD_SEMANTICS -MT png-flatten.o
-MD -MP -MF .deps/png-flatten.Tpo -c -o png-flatten.o png-flatten.c
mv -f .deps/png-flatten.Tpo .deps/png-flatten.Po
make[5]: Target `png-flatten' not remade because of errors.
make[5]: Leaving directory `/tmp/cairo-1.8.0/test'
make[4]: *** [check-am] Error 2
make[4]: Leaving directory `/tmp/cairo-1.8.0/test'
make[3]: *** [check-recursive] Error 1
make[3]: Leaving directory `/tmp/cairo-1.8.0/test'
make[2]: *** [check] Error 2
make[2]: Leaving directory `/tmp/cairo-1.8.0/test'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/tmp/cairo-1.8.0'
make: *** [check] Error 2


The missing definitions of flockfile and funlockfile are protected in
/usr/include/stdio.h with the following conditions:

#if defined(__EXTENSIONS__) || defined(_REENTRANT) || \
        (_POSIX_C_SOURCE - 0 >= 199506L)


Adding -D_REENTRANT to the CFLAGS permits this to build.  I do not know if this
change will work on earlier versions of Solaris, nor do I know if it will work
on any version of Solaris x86.

The test suite, however, still gives a large number of failures, which I am
still investigating.


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the cairo-bugs mailing list