<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"><<a href="mailto:nkline@kent.edu">nkline@kent.edu</a>></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: "configure: error:<br>
mandatory image surface backend feature could not be enabled"<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'<br>
make install-am<br>
make[2]: Entering directory `/tmp/pixman-0.18.4/pixman'<br>
make[3]: Entering directory `/tmp/pixman-0.18.4/pixman'<br>
test -z "/usr/local/lib64/lib" || /bin/mkdir -p "/usr/local/lib64/lib"<br>
/bin/sh ../libtool --mode=install /usr/bin/install -c<br>
<a href="http://libpixman-1.la" target="_blank">libpixman-1.la</a> '/usr/local/lib64/lib'<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 && { ln -s -f<br>
libpixman-1.so.0.18.4 libpixman-1.so.0 || { rm -f libpixman-1.so.0 &&<br>
ln -s libpixman-1.so.0.18.4 libpixman-1.so.0; }; })<br>
libtool: install: (cd /usr/local/lib64/lib && { ln -s -f<br>
libpixman-1.so.0.18.4 libpixman-1.so || { rm -f libpixman-1.so && 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="/usr/bin:/bin:/sbin" 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'<br>
flag during linking and do at least one of the following:<br>
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable<br>
during execution<br>
- add LIBDIR to the `LD_RUN_PATH' environment variable<br>
during linking<br>
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag<br>
- have your system administrator add LIBDIR to `/etc/ld.so.conf'<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 "/usr/local/include/pixman-1/" || /bin/mkdir -p<br>
"/usr/local/include/pixman-1/"<br>
/usr/bin/install -c -m 644 pixman.h pixman-version.h<br>
'/usr/local/include/pixman-1/'<br>
make[3]: Leaving directory `/tmp/pixman-0.18.4/pixman'<br>
make[2]: Leaving directory `/tmp/pixman-0.18.4/pixman'<br>
make[1]: Leaving directory `/tmp/pixman-0.18.4/pixman'<br>
Making install in test<br>
make[1]: Entering directory `/tmp/pixman-0.18.4/test'<br>
make[2]: Entering directory `/tmp/pixman-0.18.4/test'<br>
make[2]: Nothing to be done for `install-exec-am'.<br>
make[2]: Nothing to be done for `install-data-am'.<br>
make[2]: Leaving directory `/tmp/pixman-0.18.4/test'<br>
make[1]: Leaving directory `/tmp/pixman-0.18.4/test'<br>
make[1]: Entering directory `/tmp/pixman-0.18.4'<br>
make[2]: Entering directory `/tmp/pixman-0.18.4'<br>
make[2]: Nothing to be done for `install-exec-am'.<br>
test -z "/usr/local/lib64/lib/pkgconfig" || /bin/mkdir -p<br>
"/usr/local/lib64/lib/pkgconfig"<br>
/usr/bin/install -c -m 644 pixman-1.pc '/usr/local/lib64/lib/pkgconfig'<br>
make[2]: Leaving directory `/tmp/pixman-0.18.4'<br>
make[1]: Leaving directory `/tmp/pixman-0.18.4'<br>
Remove the program binaries and object files from the source code<br>
directory: sudo make clean<br>
Remove the files that `configure' 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 -><br>
libpixman-1.so.0.18.4<br>
lrwxrwxrwx 1 root root 21 Aug 20 18:00 libpixman-1.so.0 -><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 "+="... 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's Xlib surface backend feature...<br>
checking for xlib... yes<br>
checking whether cairo's Xlib surface backend feature could be enabled... yes<br>
checking for cairo's Xlib Xrender surface backend feature...<br>
checking for xlib_xrender... yes<br>
checking whether cairo's Xlib Xrender surface backend feature could<br>
be enabled... yes<br>
checking for cairo'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's Quartz surface backend feature could be<br>
enabled... no (requires CoreGraphics framework)<br>
checking for cairo's Quartz font backend feature...<br>
checking whether cairo's Quartz font backend feature could be<br>
enabled... no (requires CoreGraphics framework)<br>
checking for cairo's Microsoft Windows surface backend feature...<br>
checking whether cairo's Microsoft Windows surface backend feature<br>
could be enabled... no (requires a Win32 platform)<br>
checking for cairo's Microsoft Windows font backend feature...<br>
checking whether cairo's Microsoft Windows font backend feature<br>
could be enabled... no (requires a Win32 platform)<br>
checking for cairo's PNG functions feature...<br>
checking for png... yes<br>
checking whether cairo's PNG functions feature could be enabled... yes<br>
checking for cairo's FreeType font backend feature...<br>
checking for FONTCONFIG... yes<br>
checking for FcFini... yes<br>
checking for FREETYPE... yes<br>
checking whether cairo'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's PostScript surface backend feature...<br>
checking whether cairo'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's PDF surface backend feature...<br>
checking whether cairo'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 >=<br>
0.9.2 is not available<br>
checking for cairo's SVG surface backend feature...<br>
checking whether cairo'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's image surface backend feature...<br>
checking for pixman... no<br>
no<br>
checking whether cairo's image surface backend feature could be<br>
enabled... no (requires pixman-1 >= 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>