<div>My problem was that --prefix and $PKG_CONFIG_PATH did not match.</div><div><br></div><div>Try this:</div><div><br></div><div>PREFIX=/foo</div>PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig ./autogen.sh --prefix=$PREFIX<div><br>
</div><div>For both pixman and cairo</div><div><br><br><div class="gmail_quote">On Sat, Aug 21, 2010 at 5:19 PM, NICHOLAS KLINE <span dir="ltr">&lt;<a href="mailto:nkline@kent.edu">nkline@kent.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi,<br>
<br>
PROBLEM<br>
I have spent the last 10 hours trying to install Cairo on RedHat<br>
Enterprise Linux 5.5 x86_64 without success.<br>
Cairo returns this error during configuration: &quot;configure: error:<br>
mandatory image surface backend feature could not be enabled&quot;<br>
Please provide guidance on how to proceed from here.<br>
<br>
<br>
WORK DONE SO FAR<br>
Install dependencies first<br>
        these version were already installed:<br>
                libpng-devel 1.2.10<br>
                zlib-devel 1.2.3<br>
                libXrender-devel 0.9.1<br>
                fontconfig-devel 2.4.1<br>
<br>
FYI<br>
        qpixman 0.13.3 was already installed (sounds like a variation of<br>
pixman, I left it alone)<br>
        Cairo 1.2.4 was already installed (looks like a lot of other programs<br>
depend on it, I left it alone)<br>
<br>
<br>
Install pixman<br>
        cd /tmp<br>
        sudo tar -xzvf pixman-0.18.4.tar.gz<br>
        cd pixman-0.18.4<br>
        configure the package: sudo ./configure --exec-prefix=/usr/local/lib64<br>
        compile the package: sudo make<br>
        run verification tests: sudo make check (all 10 tests passed)<br>
        install the program: sudo make install<br>
                Results:<br>
                Making install in pixman<br>
                make[1]: Entering directory `/tmp/pixman-0.18.4/pixman&#39;<br>
                make  install-am<br>
                make[2]: Entering directory `/tmp/pixman-0.18.4/pixman&#39;<br>
                make[3]: Entering directory `/tmp/pixman-0.18.4/pixman&#39;<br>
                test -z &quot;/usr/local/lib64/lib&quot; || /bin/mkdir -p &quot;/usr/local/lib64/lib&quot;<br>
                 /bin/sh ../libtool   --mode=install /usr/bin/install -c<br>
<a href="http://libpixman-1.la" target="_blank">libpixman-1.la</a> &#39;/usr/local/lib64/lib&#39;<br>
                libtool: install: /usr/bin/install -c .libs/libpixman-1.so.0.18.4<br>
/usr/local/lib64/lib/libpixman-1.so.0.18.4<br>
                libtool: install: (cd /usr/local/lib64/lib &amp;&amp; { ln -s -f<br>
libpixman-1.so.0.18.4 libpixman-1.so.0 || { rm -f libpixman-1.so.0 &amp;&amp;<br>
ln -s libpixman-1.so.0.18.4 libpixman-1.so.0; }; })<br>
                libtool: install: (cd /usr/local/lib64/lib &amp;&amp; { ln -s -f<br>
libpixman-1.so.0.18.4 libpixman-1.so || { rm -f libpixman-1.so &amp;&amp; ln<br>
-s libpixman-1.so.0.18.4 libpixman-1.so; }; })<br>
                libtool: install: /usr/bin/install -c .libs/libpixman-1.lai<br>
/usr/local/lib64/lib/<a href="http://libpixman-1.la" target="_blank">libpixman-1.la</a><br>
                libtool: install: /usr/bin/install -c .libs/libpixman-1.a<br>
/usr/local/lib64/lib/libpixman-1.a<br>
                libtool: install: chmod 644 /usr/local/lib64/lib/libpixman-1.a<br>
                libtool: install: ranlib /usr/local/lib64/lib/libpixman-1.a<br>
                libtool: finish: PATH=&quot;/usr/bin:/bin:/sbin&quot; ldconfig -n /usr/local/lib64/lib<br>
                ----------------------------------------------------------------------<br>
                Libraries have been installed in:<br>
                   /usr/local/lib64/lib<br>
<br>
                                If you ever happen to want to link against installed libraries<br>
                                in a given directory, LIBDIR, you must either use libtool, and<br>
                                specify the full pathname of the library, or use the `-LLIBDIR&#39;<br>
                                flag during linking and do at least one of the following:<br>
                                   - add LIBDIR to the `LD_LIBRARY_PATH&#39; environment variable<br>
                                     during execution<br>
                                   - add LIBDIR to the `LD_RUN_PATH&#39; environment variable<br>
                                     during linking<br>
                                   - use the `-Wl,-rpath -Wl,LIBDIR&#39; linker flag<br>
                                   - have your system administrator add LIBDIR to `/etc/ld.so.conf&#39;<br>
<br>
                                See any operating system documentation about shared libraries for<br>
                                more information, such as the ld(1) and ld.so(8) manual pages.<br>
                                ----------------------------------------------------------------------<br>
                                test -z &quot;/usr/local/include/pixman-1/&quot; || /bin/mkdir -p<br>
&quot;/usr/local/include/pixman-1/&quot;<br>
                                 /usr/bin/install -c -m 644 pixman.h pixman-version.h<br>
&#39;/usr/local/include/pixman-1/&#39;<br>
                                make[3]: Leaving directory `/tmp/pixman-0.18.4/pixman&#39;<br>
                                make[2]: Leaving directory `/tmp/pixman-0.18.4/pixman&#39;<br>
                                make[1]: Leaving directory `/tmp/pixman-0.18.4/pixman&#39;<br>
                                Making install in test<br>
                                make[1]: Entering directory `/tmp/pixman-0.18.4/test&#39;<br>
                                make[2]: Entering directory `/tmp/pixman-0.18.4/test&#39;<br>
                                make[2]: Nothing to be done for `install-exec-am&#39;.<br>
                                make[2]: Nothing to be done for `install-data-am&#39;.<br>
                                make[2]: Leaving directory `/tmp/pixman-0.18.4/test&#39;<br>
                                make[1]: Leaving directory `/tmp/pixman-0.18.4/test&#39;<br>
                                make[1]: Entering directory `/tmp/pixman-0.18.4&#39;<br>
                                make[2]: Entering directory `/tmp/pixman-0.18.4&#39;<br>
                                make[2]: Nothing to be done for `install-exec-am&#39;.<br>
                                test -z &quot;/usr/local/lib64/lib/pkgconfig&quot; || /bin/mkdir -p<br>
&quot;/usr/local/lib64/lib/pkgconfig&quot;<br>
                                 /usr/bin/install -c -m 644 pixman-1.pc &#39;/usr/local/lib64/lib/pkgconfig&#39;<br>
                                make[2]: Leaving directory `/tmp/pixman-0.18.4&#39;<br>
                                make[1]: Leaving directory `/tmp/pixman-0.18.4&#39;<br>
                        Remove the program binaries and object files from the source code<br>
directory: sudo make clean<br>
                        Remove the files that `configure&#39; created: sudo make distclean<br>
<br>
<br>
/usr/local/lib64/lib<br>
total 5420<br>
drwxr-xr-x 3 root root    4096 Aug 20 18:00 .<br>
drwxr-xr-x 3 root root    4096 Aug 20 18:00 ..<br>
-rw-r--r-- 1 root root 3381126 Aug 20 18:00 libpixman-1.a<br>
-rwxr-xr-x 1 root root     961 Aug 20 18:00 <a href="http://libpixman-1.la" target="_blank">libpixman-1.la</a><br>
lrwxrwxrwx 1 root root      21 Aug 20 18:00 libpixman-1.so -&gt;<br>
libpixman-1.so.0.18.4<br>
lrwxrwxrwx 1 root root      21 Aug 20 18:00 libpixman-1.so.0 -&gt;<br>
libpixman-1.so.0.18.4<br>
-rwxr-xr-x 1 root root 2136324 Aug 20 18:00 libpixman-1.so.0.18.4<br>
drwxr-xr-x 2 root root    4096 Aug 20 18:00 pkgconfig<br>
<br>
/usr/local/lib64/lib/pkgconfig<br>
total 12<br>
drwxr-xr-x 2 root root 4096 Aug 20 18:00 .<br>
drwxr-xr-x 3 root root 4096 Aug 20 18:00 ..<br>
-rw-r--r-- 1 root root  241 Aug 20 18:00 pixman-1.pc<br>
<br>
<br>
Install Cairo<br>
        cd /tmp<br>
        sudo tar -xzvf cairo-1.8.10.tar.gz<br>
        cd cairo-1.8.10<br>
        export PKG_CONFIG_PATH=/usr/local/lib64/lib/pkgconfig<br>
        Configure the package: sudo ./configure --exec-prefix=/usr/local/lib64<br>
                Results:<br>
                -bash-3.2$ sudo ./configure --exec-prefix=/usr/local/lib64<br>
                checking for a BSD-compatible install... /usr/bin/install -c<br>
                checking whether build environment is sane... yes<br>
                checking for a thread-safe mkdir -p... /bin/mkdir -p<br>
                checking for gawk... gawk<br>
                checking whether make sets $(MAKE)... yes<br>
                checking build system type... x86_64-unknown-linux-gnu<br>
                checking host system type... x86_64-unknown-linux-gnu<br>
                checking for style of include used by make... GNU<br>
                checking for gcc... gcc<br>
                checking whether the C compiler works... yes<br>
                checking for C compiler default output file name... a.out<br>
                checking for suffix of executables...<br>
                checking whether we are cross compiling... no<br>
                checking for suffix of object files... o<br>
                checking whether we are using the GNU C compiler... yes<br>
                checking whether gcc accepts -g... yes<br>
                checking for gcc option to accept ISO C89... none needed<br>
                checking dependency style of gcc... gcc3<br>
                checking for a sed that does not truncate output... /bin/sed<br>
                checking for grep that handles long lines and -e... /bin/grep<br>
                checking for egrep... /bin/grep -E<br>
                checking for fgrep... /bin/grep -F<br>
                checking for ld used by gcc... /usr/bin/ld<br>
                checking if the linker (/usr/bin/ld) is GNU ld... yes<br>
                checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B<br>
                checking the name lister (/usr/bin/nm -B) interface... BSD nm<br>
                checking whether ln -s works... yes<br>
                checking the maximum length of command line arguments... 98304<br>
                checking whether the shell understands some XSI constructs... yes<br>
                checking whether the shell understands &quot;+=&quot;... yes<br>
                checking for /usr/bin/ld option to reload object files... -r<br>
                checking for objdump... objdump<br>
                checking how to recognize dependent libraries... pass_all<br>
                checking for ar... ar<br>
                checking for strip... strip<br>
                checking for ranlib... ranlib<br>
                checking command to parse /usr/bin/nm -B output from gcc object... ok<br>
                checking how to run the C preprocessor... gcc -E<br>
                checking for ANSI C header files... yes<br>
                checking for sys/types.h... yes<br>
                checking for sys/stat.h... yes<br>
                checking for stdlib.h... yes<br>
                checking for string.h... yes<br>
                checking for memory.h... yes<br>
                checking for strings.h... yes<br>
                checking for inttypes.h... yes<br>
                checking for stdint.h... yes<br>
                checking for unistd.h... yes<br>
                checking for dlfcn.h... yes<br>
                checking for objdir... .libs<br>
                checking if gcc supports -fno-rtti -fno-exceptions... no<br>
                checking for gcc option to produce PIC... -fPIC -DPIC<br>
                checking if gcc PIC flag -fPIC -DPIC works... yes<br>
                checking if gcc static flag -static works... yes<br>
                checking if gcc supports -c -o file.o... yes<br>
                checking if gcc supports -c -o file.o... (cached) yes<br>
                checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports<br>
shared libraries... yes<br>
                checking whether -lc should be explicitly linked in... no<br>
                checking dynamic linker characteristics... GNU/Linux ld.so<br>
                checking how to hardcode library paths into programs... immediate<br>
                checking whether stripping libraries is possible... yes<br>
                checking if libtool supports shared libraries... yes<br>
                checking whether to build shared libraries... yes<br>
                checking whether to build static libraries... yes<br>
                checking for bash... /bin/bash<br>
                checking if dolt supports this host... yes, replacing libtool<br>
                checking for pkg-config... /usr/bin/pkg-config<br>
                checking pkg-config is at least version 0.9.0... yes<br>
                checking whether to build gtk-doc documentation... no<br>
                checking for gtkdoc-check... no<br>
                checking for find... /usr/bin/find<br>
                checking for xargs... /usr/bin/xargs<br>
                checking for gcc... (cached) gcc<br>
                checking whether we are using the GNU C compiler... (cached) yes<br>
                checking whether gcc accepts -g... (cached) yes<br>
                checking for gcc option to accept ISO C89... (cached) none needed<br>
                checking dependency style of gcc... (cached) gcc3<br>
                checking how to run the C preprocessor... gcc -E<br>
                checking for g++... g++<br>
                checking whether we are using the GNU C++ compiler... yes<br>
                checking whether g++ accepts -g... yes<br>
                checking dependency style of g++... gcc3<br>
                checking whether we are using the GNU C++ compiler... (cached) yes<br>
                checking whether g++ accepts -g... (cached) yes<br>
                checking dependency style of g++... (cached) gcc3<br>
                checking how to run the C++ preprocessor... g++ -E<br>
                checking for ld used by g++... /usr/bin/ld -m elf_x86_64<br>
                checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes<br>
                checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports<br>
shared libraries... yes<br>
                checking for g++ option to produce PIC... -fPIC -DPIC<br>
                checking if g++ PIC flag -fPIC -DPIC works... yes<br>
                checking if g++ static flag -static works... yes<br>
                checking if g++ supports -c -o file.o... yes<br>
                checking if g++ supports -c -o file.o... (cached) yes<br>
                checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports<br>
shared libraries... yes<br>
                checking dynamic linker characteristics... GNU/Linux ld.so<br>
                checking how to hardcode library paths into programs... immediate<br>
                checking whether gcc and cc understand -c and -o together... yes<br>
                checking for inline... inline<br>
                checking for pkg-config... (cached) /usr/bin/pkg-config<br>
                checking pkg-config is at least version 0.9.0... yes<br>
                checking whether byte ordering is bigendian... no<br>
                checking whether float word ordering is bigendian... no<br>
                checking for native atomic primitives... Intel<br>
                checking whether atomic ops require a memory barrier... no<br>
                checking for native Win32... no<br>
                checking for Sun Solaris (non-POSIX ctime_r)... no<br>
                checking for cos in -lm... yes<br>
                checking for sched_yield in -lrt... yes<br>
                checking for stdint.h... (cached) yes<br>
                checking for inttypes.h... (cached) yes<br>
                checking sys/int_types.h usability... no<br>
                checking sys/int_types.h presence... no<br>
                checking for sys/int_types.h... no<br>
                checking for uint64_t... yes<br>
                checking for uint128_t... no<br>
                checking fcntl.h usability... yes<br>
                checking fcntl.h presence... yes<br>
                checking for fcntl.h... yes<br>
                checking for unistd.h... (cached) yes<br>
                checking signal.h usability... yes<br>
                checking signal.h presence... yes<br>
                checking for signal.h... yes<br>
                checking for sys/stat.h... (cached) yes<br>
                checking sys/socket.h usability... yes<br>
                checking sys/socket.h presence... yes<br>
                checking for sys/socket.h... yes<br>
                checking sys/poll.h usability... yes<br>
                checking sys/poll.h presence... yes<br>
                checking for sys/poll.h... yes<br>
                checking sys/un.h usability... yes<br>
                checking sys/un.h presence... yes<br>
                checking for sys/un.h... yes<br>
                checking sched.h usability... yes<br>
                checking sched.h presence... yes<br>
                checking for sched.h... yes<br>
                checking for sched_getaffinity... yes<br>
                checking fenv.h usability... yes<br>
                checking fenv.h presence... yes<br>
                checking for fenv.h... yes<br>
                checking for feenableexcept... yes<br>
                checking for fedisableexcept... yes<br>
                checking libgen.h usability... yes<br>
                checking libgen.h presence... yes<br>
                checking for libgen.h... yes<br>
                checking byteswap.h usability... yes<br>
                checking byteswap.h presence... yes<br>
                checking for byteswap.h... yes<br>
                checking for signal.h... (cached) yes<br>
                checking setjmp.h usability... yes<br>
                checking setjmp.h presence... yes<br>
                checking for setjmp.h... yes<br>
                checking for vasnprintf... no<br>
                checking for link... yes<br>
                checking for ctime_r... yes<br>
                checking for drand48... yes<br>
                checking for flockfile... yes<br>
                checking windows.h usability... no<br>
                checking windows.h presence... no<br>
                checking for windows.h... no<br>
                checking for supported warning flags...<br>
                checking whether gcc supports -Wall... no<br>
                checking whether gcc supports -Wextra... no<br>
                checking whether gcc supports -Wsign-compare... no<br>
                checking whether gcc supports -Werror-implicit-function-declaration... no<br>
                checking whether gcc supports -Wpointer-arith... no<br>
                checking whether gcc supports -Wwrite-strings... no<br>
                checking whether gcc supports -Wstrict-prototypes... no<br>
                checking whether gcc supports -Wmissing-prototypes... no<br>
                checking whether gcc supports -Wmissing-declarations... no<br>
                checking whether gcc supports -Wnested-externs... no<br>
                checking whether gcc supports -Wpacked... no<br>
                checking whether gcc supports -Wswitch-enum... no<br>
                checking whether gcc supports -Wmissing-format-attribute... no<br>
                checking whether gcc supports -Wstrict-aliasing=2... no<br>
                checking whether gcc supports -Winit-self... no<br>
                checking whether gcc supports -Wunsafe-loop-optimizations... no<br>
                checking whether gcc supports -Wdeclaration-after-statement... no<br>
                checking whether gcc supports -Wold-style-definition... no<br>
                checking whether gcc supports -Wno-missing-field-initializers... no<br>
                checking whether gcc supports -Wno-unused-parameter... no<br>
                checking whether gcc supports -Wno-attributes... no<br>
                checking whether gcc supports -Wno-long-long... no<br>
                checking whether gcc supports -Winline... no<br>
                checking whether gcc supports -fno-strict-aliasing... no<br>
                checking whether gcc supports -fno-common... no<br>
                checking whether gcc supports -Wp,-D_FORTIFY_SOURCE=2... no<br>
                checking which warning flags were supported...<br>
                checking how to enable unused result warnings...<br>
                checking how to allow undefined symbols in shared libraries used by<br>
test suite... checking whether gcc supports<br>
-Wl,--allow-shlib-undefined... no<br>
<br>
                checking for VALGRIND... no<br>
                no<br>
                checking for compress in -lz... yes<br>
                checking zlib.h usability... yes<br>
                checking zlib.h presence... yes<br>
                checking for zlib.h... yes<br>
                checking for X... libraries , headers<br>
                checking for cairo&#39;s Xlib surface backend feature...<br>
                checking for xlib... yes<br>
                checking whether cairo&#39;s Xlib surface backend feature could be enabled... yes<br>
                checking for cairo&#39;s Xlib Xrender surface backend feature...<br>
                checking for xlib_xrender... yes<br>
                checking whether cairo&#39;s Xlib Xrender surface backend feature could<br>
be enabled... yes<br>
                checking for cairo&#39;s Quartz surface backend feature...<br>
                checking ApplicationServices/ApplicationServices.h usability... no<br>
                checking ApplicationServices/ApplicationServices.h presence... no<br>
                checking for ApplicationServices/ApplicationServices.h... no<br>
                checking CoreGraphics/CoreGraphics.h usability... no<br>
                checking CoreGraphics/CoreGraphics.h presence... no<br>
                checking for CoreGraphics/CoreGraphics.h... no<br>
                checking whether cairo&#39;s Quartz surface backend feature could be<br>
enabled... no (requires CoreGraphics framework)<br>
                checking for cairo&#39;s Quartz font backend feature...<br>
                checking whether cairo&#39;s Quartz font backend feature could be<br>
enabled... no (requires CoreGraphics framework)<br>
                checking for cairo&#39;s Microsoft Windows surface backend feature...<br>
                checking whether cairo&#39;s Microsoft Windows surface backend feature<br>
could be enabled... no (requires a Win32 platform)<br>
                checking for cairo&#39;s Microsoft Windows font backend feature...<br>
                checking whether cairo&#39;s Microsoft Windows font backend feature<br>
could be enabled... no (requires a Win32 platform)<br>
                checking for cairo&#39;s PNG functions feature...<br>
                checking for png... yes<br>
                checking whether cairo&#39;s PNG functions feature could be enabled... yes<br>
                checking for cairo&#39;s FreeType font backend feature...<br>
                checking for FONTCONFIG... yes<br>
                checking for FcFini... yes<br>
                checking for FREETYPE... yes<br>
                checking whether cairo&#39;s FreeType font backend feature could be enabled... yes<br>
                checking for FT_Bitmap_Size.y_ppem... yes<br>
                checking for FT_GlyphSlot_Embolden... yes<br>
                checking for FT_Load_Sfnt_Table... yes<br>
                checking for FT_Library_SetLcdFilter... no<br>
                checking pthread.h usability... yes<br>
                checking pthread.h presence... yes<br>
                checking for pthread.h... yes<br>
                checking for cairo&#39;s PostScript surface backend feature...<br>
                checking whether cairo&#39;s PostScript surface backend feature could be<br>
enabled... yes<br>
                checking for gs... gs<br>
                checking for LIBSPECTRE... no<br>
                no<br>
                checking for cairo&#39;s PDF surface backend feature...<br>
                checking whether cairo&#39;s PDF surface backend feature could be enabled... yes<br>
                checking for POPPLER... no<br>
                no<br>
                configure: WARNING: PDF backend will not be tested since poppler &gt;=<br>
0.9.2 is not available<br>
                checking for cairo&#39;s SVG surface backend feature...<br>
                checking whether cairo&#39;s SVG surface backend feature could be enabled... yes<br>
                checking for LIBRSVG... yes<br>
                checking for rsvg_pixbuf_from_file... yes<br>
                checking for cairo&#39;s image surface backend feature...<br>
                checking for pixman... no<br>
                no<br>
                checking whether cairo&#39;s image surface backend feature could be<br>
enabled... no (requires pixman-1 &gt;= 0.12.0<br>
<a href="http://cairographics.org/releases/" target="_blank">http://cairographics.org/releases/</a>)<br>
                configure: error: mandatory image surface backend feature could not be enabled<br>
--- end ---<br>
<br>
Thank you,<br>
<br>
Nick<br>
<div><div></div><div class="h5">--<br>
cairo mailing list<br>
<a href="mailto:cairo@cairographics.org">cairo@cairographics.org</a><br>
<a href="http://lists.cairographics.org/mailman/listinfo/cairo" target="_blank">http://lists.cairographics.org/mailman/listinfo/cairo</a><br>
</div></div></blockquote></div><br></div>