Cairo介绍及源码构建安装(3)

接前一篇文章:Cairo介绍及源码构建安装(2)

四、Cairo构建与安装

2. 配置

BLFS中给出的命令为:

./configure --prefix=/usr    \
            --disable-static \
            --enable-tee 

这里将“--prefix”选项由“/usr”调整为“/usr/local”(视个人需要,使用原始命令也可以),如下:

./configure --prefix=/usr/local   \
            --disable-static \
            --enable-tee 

实际命令及结果如下:

~/BLFS/cairo-1.17.6$ ./configure --prefix=/usr/local   \
            --disable-static \
            --enable-tee 
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for unistd.h... (cached) yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking for typeof syntax and keyword spelling... typeof
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports the include directive... yes (GNU style)
checking whether make supports nested variables... yes
checking dependency style of gcc... gcc3
checking whether make supports nested variables... (cached) yes
checking for ar... ar
checking the archiver (ar) interface... ar
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking whether to build gtk-doc documentation... no
checking for gtkdoc-check... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for find... /usr/bin/find
checking for xargs... /usr/bin/xargs
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking how to run the C preprocessor... gcc -E
checking for inline... inline
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for supported warning flags... 
checking whether gcc supports -Werror... yes
checking whether gcc supports -errwarn... no
checking whether gcc supports -Wall... yes
checking whether gcc supports -Wextra... yes
checking whether gcc supports -Wmissing-declarations... yes
checking whether gcc supports -Werror-implicit-function-declaration... yes
checking whether gcc supports -Wpointer-arith... yes
checking whether gcc supports -Wwrite-strings... yes
checking whether gcc supports -Wsign-compare... yes
checking whether gcc supports -Wpacked... yes
checking whether gcc supports -Wswitch-enum... yes
checking whether gcc supports -Wmissing-format-attribute... yes
checking whether gcc supports -Wvolatile-register-var... yes
checking whether gcc supports -Wstrict-aliasing=2... yes
checking whether gcc supports -Winit-self... yes
checking whether gcc supports -Wunsafe-loop-optimizations... yes
checking whether gcc supports -Wno-missing-field-initializers... yes
checking whether gcc supports -Wno-unused-parameter... yes
checking whether gcc supports -Wno-attributes... yes
checking whether gcc supports -Wno-long-long... yes
checking whether gcc supports -Winline... yes
checking whether gcc supports -erroff=E_ENUM_TYPE_MISMATCH_ARG... no
checking whether gcc supports -erroff=E_ENUM_TYPE_MISMATCH_OP... no
checking whether gcc supports -fno-strict-aliasing... yes
checking whether gcc supports -fno-common... yes
checking whether gcc supports -Wp,-D_FORTIFY_SOURCE=2... yes
checking whether gcc supports -Wunused-but-set-variable -Wno-unused-but-set-variable... yes
checking which warning flags were supported...  -Wall -Wextra -Wmissing-declarations -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wsign-compare -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wvolatile-register-var -Wstrict-aliasing=2 -Winit-self -Wunsafe-loop-optimizations -Wno-missing-field-initializers -Wno-unused-parameter -Wno-attributes -Wno-long-long -Winline -fno-strict-aliasing -fno-common -Wp,-D_FORTIFY_SOURCE=2 -Wno-unused-but-set-variable
checking how to enable unused result warnings... __attribute__((__warn_unused_result__))
checking how to allow undefined symbols in shared libraries used by test suite... -Wl,--allow-shlib-undefined
checking whether byte ordering is bigendian... no
checking whether float word ordering is bigendian... checking for strings... strings
no
checking for native atomic primitives... cxx11
checking whether atomic ops require a memory barrier... no
checking size of void *... 8
checking size of int... 4
checking size of long... 8
checking size of long long... 8
checking size of size_t... 8
checking for native Win32... no
checking for Sun Solaris (non-POSIX ctime_r)... no
checking for cos in -lm... yes
checking for sched_yield in -lrt... yes
checking for shm_open in -lrt... yes
checking for connect in -lsocket... no
checking for __builtin_return_address(0)... yes
checking for stdint.h... (cached) yes
checking for inttypes.h... (cached) yes
checking sys/int_types.h usability... no
checking sys/int_types.h presence... no
checking for sys/int_types.h... no
checking for uint64_t... yes
checking for uint128_t... no
checking for __uint128_t... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for unistd.h... (cached) yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking poll.h usability... yes
checking poll.h presence... yes
checking for poll.h... yes
checking for sys/stat.h... (cached) yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/poll.h usability... yes
checking sys/poll.h presence... yes
checking for sys/poll.h... yes
checking sys/un.h usability... yes
checking sys/un.h presence... yes
checking for sys/un.h... yes
checking for alarm... yes
checking sched.h usability... yes
checking sched.h presence... yes
checking for sched.h... yes
checking for sched_getaffinity... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking for mmap... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for clock_gettime... yes
checking fenv.h usability... yes
checking fenv.h presence... yes
checking for fenv.h... yes
checking for feenableexcept... yes
checking for fedisableexcept... yes
checking for feclearexcept... yes
checking libgen.h usability... yes
checking libgen.h presence... yes
checking for libgen.h... yes
checking byteswap.h usability... yes
checking byteswap.h presence... yes
checking for byteswap.h... yes
checking for signal.h... (cached) yes
checking setjmp.h usability... yes
checking setjmp.h presence... yes
checking for setjmp.h... yes
checking for fenv.h... (cached) yes
checking sys/wait.h usability... yes
checking sys/wait.h presence... yes
checking for sys/wait.h... yes
checking for ctime_r... yes
checking for localtime_r... yes
checking for gmtime_r... yes
checking for drand48... yes
checking for flockfile... yes
checking for funlockfile... yes
checking for getline... yes
checking for link... yes
checking for strndup... yes
checking for sys/stat.h... (cached) yes
checking io.h usability... no
checking io.h presence... no
checking for io.h... no
checking for mkdir... yes
checking mkdir variant... mkdir(path, mode)
checking for fork... yes
checking for waitpid... yes
checking for raise... yes
checking for VALGRIND... no
no
checking for compress in -lz... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for lzo2a_decompress in -llzo2... yes
checking lzo/lzo2a.h usability... yes
checking lzo/lzo2a.h presence... yes
checking for lzo/lzo2a.h... yes
checking for dlsym in -ldl... yes
checking for dlfcn.h... (cached) yes
checking xlocale.h usability... no
checking xlocale.h presence... no
checking for xlocale.h... no
checking for newlocale... yes
checking for strtod_l... yes
checking for X... libraries , headers 
checking for cairo's Xlib surface backend feature... 
checking for xlib... yes
checking sys/ipc.h usability... yes
checking sys/ipc.h presence... yes
checking for sys/ipc.h... yes
checking sys/shm.h usability... yes
checking sys/shm.h presence... yes
checking for sys/shm.h... yes
checking whether shmctl IPC_RMID allowes subsequent attaches... yes
checking for X11/extensions/XShm.h... yes
checking for X11/extensions/shmproto.h... yes
checking for X11/extensions/shmstr.h... yes
checking whether cairo's Xlib surface backend feature could be enabled... yes
checking for cairo's Xlib Xrender surface backend feature... 
checking for xlib_xrender... yes
checking for XRenderCreateSolidFill... yes
checking for XRenderCreateLinearGradient... yes
checking for XRenderCreateRadialGradient... yes
checking for XRenderCreateConicalGradient... yes
checking whether cairo's Xlib Xrender surface backend feature could be enabled... yes
checking for cairo's XCB surface backend feature... 
checking for xcb... yes
checking whether cairo's XCB surface backend feature could be enabled... yes
checking for cairo's XCB/SHM functions feature... 
checking for xcb_shm... yes
checking whether cairo's XCB/SHM functions feature could be enabled... yes
checking for cairo's Quartz surface backend feature... 
checking ApplicationServices/ApplicationServices.h usability... no
checking ApplicationServices/ApplicationServices.h presence... no
checking for ApplicationServices/ApplicationServices.h... no
checking CoreGraphics/CoreGraphics.h usability... no
checking CoreGraphics/CoreGraphics.h presence... no
checking for CoreGraphics/CoreGraphics.h... no
checking whether cairo's Quartz surface backend feature could be enabled... no (requires CoreGraphics framework)
checking for cairo's Quartz font backend feature... 
checking whether cairo's Quartz font backend feature could be enabled... no (requires CoreGraphics framework)
checking for cairo's Microsoft Windows surface backend feature... 
checking whether cairo's Microsoft Windows surface backend feature could be enabled... no (requires a Win32 platform)
checking for cairo's Microsoft Windows font backend feature... 
checking whether cairo's Microsoft Windows font backend feature could be enabled... no (requires a Win32 platform)
checking for cairo's PNG functions feature... 
checking for png... yes
checking whether cairo's PNG functions feature could be enabled... yes
checking for cairo's EGL functions feature... 
checking whether cairo's EGL functions feature could be enabled... no (not required by any backend)
checking for cairo's GLX functions feature... 
checking whether cairo's GLX functions feature could be enabled... no (not required by any backend)
checking for cairo's WGL functions feature... 
checking whether cairo's WGL functions feature could be enabled... no (not required by any backend)
checking for cairo's script surface backend feature... 
checking whether cairo's script surface backend feature could be enabled... yes
checking for cairo's FreeType font backend feature... 
checking for FREETYPE... yes
checking whether cairo's FreeType font backend feature could be enabled... yes
checking for cairo's Fontconfig font backend feature... 
checking for FONTCONFIG... yes
checking whether cairo's Fontconfig font backend feature could be enabled... yes
checking for FT_Get_X11_Font_Format... yes
checking for FT_GlyphSlot_Embolden... yes
checking for FT_GlyphSlot_Oblique... yes
checking for FT_Load_Sfnt_Table... yes
checking for FT_Library_SetLcdFilter... yes
checking for FT_Get_Var_Design_Coordinates... yes
checking for FT_Done_MM_Var... yes
checking for FT_Palette_Set_Foreground_Color... yes
checking for FT_HAS_COLOR... yes
checking for FcInit... yes
checking for FcFini... yes
checking for cairo's PostScript surface backend feature... 
checking whether cairo's PostScript surface backend feature could be enabled... yes
checking for gs... gs
checking for LIBSPECTRE... no
checking for cairo's PDF surface backend feature... 
checking whether cairo's PDF surface backend feature could be enabled... yes
checking for POPPLER... yes
checking for poppler_page_render... yes
checking for cairo's SVG surface backend feature... 
checking whether cairo's SVG surface backend feature could be enabled... yes
checking for LIBRSVG... yes
checking for rsvg_pixbuf_from_file... yes
checking for cairo's image surface backend feature... 
checking for pixman... yes
checking whether cairo's image surface backend feature could be enabled... yes
checking for cairo's mime surface backend feature... 
checking whether cairo's mime surface backend feature could be enabled... yes
checking for cairo's recording surface backend feature... 
checking whether cairo's recording surface backend feature could be enabled... yes
checking for cairo's observer surface backend feature... 
checking whether cairo's observer surface backend feature could be enabled... yes
checking for cairo's tee surface backend feature... 
checking whether cairo's tee surface backend feature could be enabled... yes
checking for cairo's user font backend feature... 
checking whether cairo's user font backend feature could be enabled... yes
checking for cairo's pthread feature... 
checking whether cairo's pthread feature could be enabled... yes
checking for cairo's gobject functions feature... 
checking for GOBJECT... yes
checking whether cairo's gobject functions feature could be enabled... yes
checking for GOBJECT... yes
checking for cairo's cairo-trace feature... 
checking whether cairo's cairo-trace feature could be enabled... yes
checking for cairo's cairo-script-interpreter feature... 
checking whether cairo's cairo-script-interpreter feature could be enabled... yes
checking for bfd_openr in -lbfd... yes
checking bfd.h usability... yes
checking bfd.h presence... yes
checking for bfd.h... yes
checking for cairo's symbol-lookup feature... 
checking whether cairo's symbol-lookup feature could be enabled... yes
checking for glib... yes
checking for shm_open in -lrt... (cached) yes
checking for gtk... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating src/cairo.pc
config.status: creating cairo-uninstalled.pc
config.status: creating util/cairo-script/cairo-script-interpreter.pc
config.status: creating util/cairo-script/cairo-script-interpreter-uninstalled.pc
config.status: creating src/cairo-xlib.pc
config.status: creating cairo-xlib-uninstalled.pc
config.status: creating src/cairo-xlib-xrender.pc
config.status: creating cairo-xlib-xrender-uninstalled.pc
config.status: creating src/cairo-xcb.pc
config.status: creating cairo-xcb-uninstalled.pc
config.status: creating src/cairo-xcb-shm.pc
config.status: creating cairo-xcb-shm-uninstalled.pc
config.status: creating src/cairo-png.pc
config.status: creating cairo-png-uninstalled.pc
config.status: creating src/cairo-script.pc
config.status: creating cairo-script-uninstalled.pc
config.status: creating src/cairo-ft.pc
config.status: creating cairo-ft-uninstalled.pc
config.status: creating src/cairo-fc.pc
config.status: creating cairo-fc-uninstalled.pc
config.status: creating src/cairo-ps.pc
config.status: creating cairo-ps-uninstalled.pc
config.status: creating src/cairo-pdf.pc
config.status: creating cairo-pdf-uninstalled.pc
config.status: creating src/cairo-svg.pc
config.status: creating cairo-svg-uninstalled.pc
config.status: creating src/cairo-tee.pc
config.status: creating cairo-tee-uninstalled.pc
config.status: creating src/cairo-gobject.pc
config.status: creating cairo-gobject-uninstalled.pc
config.status: creating Makefile
config.status: creating boilerplate/Makefile
config.status: creating src/Makefile
config.status: creating test/Makefile
config.status: creating test/pdiff/Makefile
config.status: creating perf/Makefile
config.status: creating perf/micro/Makefile
config.status: creating util/Makefile
config.status: creating util/cairo-fdr/Makefile
config.status: creating util/cairo-gobject/Makefile
config.status: creating util/cairo-missing/Makefile
config.status: creating util/cairo-script/Makefile
config.status: creating util/cairo-script/examples/Makefile
config.status: creating util/cairo-sphinx/Makefile
config.status: creating util/cairo-trace/Makefile
config.status: creating util/cairo-trace/cairo-trace
config.status: creating doc/Makefile
config.status: creating doc/public/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing ./build/Makefile.win32.features commands
config.status: creating ./build/Makefile.win32.features
config.status: ./build/Makefile.win32.features is unchanged
config.status: executing ./src/Makefile.am.features commands
config.status: creating ./src/Makefile.am.features
config.status: ./src/Makefile.am.features is unchanged
config.status: executing ./src/Makefile.win32.features commands
config.status: creating ./src/Makefile.win32.features
config.status: ./src/Makefile.win32.features is unchanged
config.status: executing ./boilerplate/Makefile.am.features commands
config.status: creating ./boilerplate/Makefile.am.features
config.status: ./boilerplate/Makefile.am.features is unchanged
config.status: executing ./boilerplate/Makefile.win32.features commands
config.status: creating ./boilerplate/Makefile.win32.features
config.status: ./boilerplate/Makefile.win32.features is unchanged
config.status: executing src/cairo-features.h commands
config.status: creating src/cairo-features.h
config.status: executing src/cairo-supported-features.h commands
config.status: creating src/cairo-supported-features.h
config.status: executing ./build/Makefile.win32.features-h commands
config.status: creating ./build/Makefile.win32.features-h
config.status: ./build/Makefile.win32.features-h is unchanged
config.status: executing cairo-trace commands

cairo (version 1.17.6 [snapshot]) will be compiled with:

The following surface backends:
  Image:         yes (always builtin)
  Recording:     yes (always builtin)
  Observer:      yes (always builtin)
  Mime:          yes (always builtin)
  Tee:           yes
  XML:           no (disabled, use --enable-xml to enable)
  Xlib:          yes
  Xlib Xrender:  yes
  Quartz:        no (requires CoreGraphics framework)
  Quartz-image:  no (disabled, use --enable-quartz-image to enable)
  XCB:           yes
  Win32:         no (requires a Win32 platform)
  CairoScript:   yes
  PostScript:    yes
  PDF:           yes
  SVG:           yes
  OpenGL:        no (disabled, use --enable-gl to enable)
  OpenGL ES 2.0: no (disabled, use --enable-glesv2 to enable)
  OpenGL ES 3.0: no (disabled, use --enable-glesv3 to enable)

The following font backends:
  User:          yes (always builtin)
  FreeType:      yes
  Fontconfig:    yes
  Win32:         no (requires a Win32 platform)
  Quartz:        no (requires CoreGraphics framework)

The following functions:
  PNG functions:   yes
  GLX functions:   no (not required by any backend)
  WGL functions:   no (not required by any backend)
  EGL functions:   no (not required by any backend)
  X11-xcb functions: no (disabled, use --enable-xlib-xcb to enable)
  XCB-shm functions: yes

The following features and utilities:
  cairo-trace:                yes
  cairo-script-interpreter:   yes

And the following internal features:
  pthread:       yes
  gtk-doc:       no
  gcov support:  no
  symbol-lookup: yes
  test surfaces: no (disabled, use --enable-test-surfaces to enable)
  ps testing:    no (requires libspectre)
  pdf testing:   yes
  svg testing:   yes


--- The tee surface backend feature is still under active development and is
--- included in this release only as a preview. It does NOT fully work yet
--- and incompatible changes may yet be made to tee surface backend specific
--- API.


3. 编译

执行make命令进行编译。命令及结果如下(内容较多,只贴出部分):

~/BLFS/cairo-1.17.6$ make
make  all-recursive
make[1]: 进入目录“/home/penghao/BLFS/cairo-1.17.6”
Making all in src
make[2]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/src”
Makefile:2682: warning: ignoring prerequisites on suffix rule definition
Makefile:2684: warning: ignoring prerequisites on suffix rule definition
make  all-am
make[3]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/src”
Makefile:2682: warning: ignoring prerequisites on suffix rule definition
Makefile:2684: warning: ignoring prerequisites on suffix rule definition
  CCLD     libcairo.la

……

 CC       cairo_test_suite-sample.o
  CC       cairo_test_suite-scale-down-source-surface-paint.o
  CC       cairo_test_suite-scale-offset-image.o
  CC       cairo_test_suite-scale-offset-similar.o
  CC       cairo_test_suite-scale-source-surface-paint.o
  CC       cairo_test_suite-scaled-font-zero-matrix.o
  CC       cairo_test_suite-stroke-ctm-caps.o
  CC       cairo_test_suite-stroke-clipped.o
  CC       cairo_test_suite-stroke-image.o
  CC       cairo_test_suite-stroke-open-box.o
  CC       cairo_test_suite-select-font-face.o
  CC       cairo_test_suite-select-font-no-show-text.o
  CC       cairo_test_suite-self-copy.o
  CC       cairo_test_suite-self-copy-overlap.o
  CC       cairo_test_suite-self-intersecting.o
  CC       cairo_test_suite-set-source.o
  CC       cairo_test_suite-show-glyphs-advance.o
  CC       cairo_test_suite-show-glyphs-many.o
show-glyphs-many.c: 在函数‘draw’中:
show-glyphs-many.c:136:16: 警告:implicit conversion from ‘cairo_test_status_t’ {或称 ‘enum cairo_test_status’} to ‘cairo_status_t’ {或称 ‘enum _cairo_status’} [-Wenum-conversion]
  136 |         status = get_glyph (ctx, scaled_font, *utf8, &glyphs[0]);
      |                ^
show-glyphs-many.c:151:12: 警告:implicit conversion from ‘cairo_test_status_t’ {或称 ‘enum cairo_test_status’} to ‘cairo_status_t’ {或称 ‘enum _cairo_status’} [-Wenum-conversion]
  151 |     status = get_glyph (ctx, scaled_font, "m", &glyphs[0]);
      |            ^
show-glyphs-many.c:157:12: 警告:implicit conversion from ‘cairo_test_status_t’ {或称 ‘enum cairo_test_status’} to ‘cairo_status_t’ {或称 ‘enum _cairo_status’} [-Wenum-conversion]
  157 |     status = get_glyph (ctx, scaled_font, "μ", &glyphs[i]);
      |            ^
show-glyphs-many.c:168:12: 警告:implicit conversion from ‘cairo_status_t’ {或称 ‘enum _cairo_status’} to ‘cairo_test_status_t’ {或称 ‘enum cairo_test_status’} [-Wenum-conversion]
  168 |     return status;
      |            ^~~~~~
  CC       cairo_test_suite-show-text-current-point.o
  CC       cairo_test_suite-shape-general-convex.o
  CC       cairo_test_suite-shape-sierpinski.o
  CC       cairo_test_suite-shifted-operator.o
  CC       cairo_test_suite-simple.o
  CC       cairo_test_suite-skew-extreme.o
  CC       cairo_test_suite-smask.o
  CC       cairo_test_suite-smask-fill.o
  CC       cairo_test_suite-smask-image-mask.o
  CC       cairo_test_suite-smask-mask.o
  CC       cairo_test_suite-smask-paint.o
  CC       cairo_test_suite-smask-stroke.o
  CC       cairo_test_suite-smask-text.o
  CC       cairo_test_suite-smp-glyph.o
  CC       cairo_test_suite-solid-pattern-cache-stress.o
  CC       cairo_test_suite-source-clip.o
  CC       cairo_test_suite-source-clip-scale.o
  CC       cairo_test_suite-source-surface-scale-paint.o
  CC       cairo_test_suite-spline-decomposition.o
  CC       cairo_test_suite-stride-12-image.o
  CC       cairo_test_suite-stroke-pattern.o
  CC       cairo_test_suite-subsurface.o
  CC       cairo_test_suite-subsurface-image-repeat.o
  CC       cairo_test_suite-subsurface-repeat.o
  CC       cairo_test_suite-subsurface-reflect.o
  CC       cairo_test_suite-subsurface-pad.o
  CC       cairo_test_suite-subsurface-modify-child.o
  CC       cairo_test_suite-subsurface-modify-parent.o
  CC       cairo_test_suite-subsurface-outside-target.o
  CC       cairo_test_suite-subsurface-scale.o
subsurface-scale.c: 在函数‘draw’中:
subsurface-scale.c:56:33: 警告:implicit conversion from ‘enum _cairo_font_weight’ to ‘cairo_font_slant_t’ {或称 ‘enum _cairo_font_slant’} [-Wenum-conversion]
   56 |                                 CAIRO_FONT_WEIGHT_NORMAL,
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~
subsurface-scale.c:57:33: 警告:implicit conversion from ‘enum _cairo_font_slant’ to ‘cairo_font_weight_t’ {或称 ‘enum _cairo_font_weight’} [-Wenum-conversion]
   57 |                                 CAIRO_FONT_SLANT_NORMAL);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~
  CC       cairo_test_suite-subsurface-similar-repeat.o
  CC       cairo_test_suite-surface-finish-twice.o
  CC       cairo_test_suite-surface-pattern.o
  CC       cairo_test_suite-surface-pattern-big-scale-down.o
  CC       cairo_test_suite-surface-pattern-operator.o
  CC       cairo_test_suite-surface-pattern-scale-down.o
  CC       cairo_test_suite-surface-pattern-scale-down-extend.o
  CC       cairo_test_suite-surface-pattern-scale-up.o
  CC       cairo_test_suite-text-antialias.o
  CC       cairo_test_suite-text-antialias-subpixel.o
  CC       cairo_test_suite-text-cache-crash.o
  CC       cairo_test_suite-text-glyph-range.o
  CC       cairo_test_suite-text-pattern.o
  CC       cairo_test_suite-text-rotate.o
  CC       cairo_test_suite-text-subpixel.o
  CC       cairo_test_suite-text-transform.o
  CC       cairo_test_suite-text-unhinted-metrics.o
  CC       cairo_test_suite-text-zero-len.o
  CC       cairo_test_suite-thin-lines.o
  CC       cairo_test_suite-tighten-bounds.o
  CC       cairo_test_suite-tiger.o
  CC       cairo_test_suite-toy-font-face.o
  CC       cairo_test_suite-transforms.o
  CC       cairo_test_suite-translate-show-surface.o
  CC       cairo_test_suite-trap-clip.o
  CC       cairo_test_suite-twin.o
  CC       cairo_test_suite-twin-antialias-gray.o
  CC       cairo_test_suite-twin-antialias-mixed.o
  CC       cairo_test_suite-twin-antialias-none.o
  CC       cairo_test_suite-twin-antialias-subpixel.o
  CC       cairo_test_suite-unaligned-box.o
  CC       cairo_test_suite-unantialiased-shapes.o
  CC       cairo_test_suite-unbounded-operator.o
  CC       cairo_test_suite-unclosed-strokes.o
  CC       cairo_test_suite-user-data.o
  CC       cairo_test_suite-user-font.o
  CC       cairo_test_suite-user-font-color.o
  CC       cairo_test_suite-user-font-mask.o
  CC       cairo_test_suite-user-font-proxy.o
  CC       cairo_test_suite-user-font-rescale.o
  CC       cairo_test_suite-user-font-subpixel.o
  CC       cairo_test_suite-world-map.o
  CC       cairo_test_suite-white-in-noop.o
  CC       cairo_test_suite-xcb-huge-image-shm.o
  CC       cairo_test_suite-xcb-huge-subimage.o
  CC       cairo_test_suite-xcb-stress-cache.o
  CC       cairo_test_suite-xcb-snapshot-assert.o
  CC       cairo_test_suite-xcomposite-projection.o
  CC       cairo_test_suite-xlib-expose-event.o
  CC       cairo_test_suite-zero-alpha.o
  CC       cairo_test_suite-zero-mask.o
  CC       cairo_test_suite-pthread-same-source.o
  CC       cairo_test_suite-pthread-show-text.o
  CC       cairo_test_suite-pthread-similar.o
  CC       cairo_test_suite-font-variations.o
  CC       cairo_test_suite-bitmap-font.o
  CC       cairo_test_suite-ft-color-font.o
  CC       cairo_test_suite-ft-font-create-for-ft-face.o
  CC       cairo_test_suite-ft-show-glyphs-positioning.o
  CC       cairo_test_suite-ft-show-glyphs-table.o
  CC       cairo_test_suite-ft-text-vertical-layout-type1.o
  CC       cairo_test_suite-ft-text-vertical-layout-type3.o
  CC       cairo_test_suite-ft-text-antialias-none.o
  CC       cairo_test_suite-pdf-features.o
  CC       cairo_test_suite-pdf-mime-data.o
  CC       cairo_test_suite-pdf-operators-text.o
  CC       cairo_test_suite-pdf-surface-source.o
  CC       cairo_test_suite-pdf-tagged-text.o
  CC       cairo_test_suite-ps-eps.o
  CC       cairo_test_suite-ps-features.o
  CC       cairo_test_suite-ps-surface-source.o
  CC       cairo_test_suite-svg-surface.o
  CC       cairo_test_suite-svg-clip.o
  CC       cairo_test_suite-svg-surface-source.o
  CC       cairo_test_suite-xcb-surface-source.o
  CC       cairo_test_suite-xlib-surface.o
  CC       cairo_test_suite-xlib-surface-source.o
  CC       cairo_test_suite-get-xrender-format.o
  CC       cairo_test_suite-multi-page.o
  CC       cairo_test_suite-mime-unique-id.o
  CC       cairo_test_suite-fallback-resolution.o
  CC       cairo_test_suite-cairo-test-constructors.o
  CC       any2ppm-any2ppm.o
  CCLD     any2ppm
  CCLD     cairo-test-suite
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/test”
make[3]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/test”
make[2]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/test”
Making all in perf
make[2]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/perf”
make  all-recursive
make[3]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/perf”
Making all in micro
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/perf/micro”
make  all-am
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/perf/micro”
  CC       cairo-perf-cover.lo
  CC       box-outline.lo
  CC       composite-checker.lo
  CC       disjoint.lo
  CC       fill.lo
  CC       hatching.lo
  CC       hash-table.lo
  CC       line.lo
  CC       a1-line.lo
  CC       long-lines.lo
  CC       mosaic.lo
  CC       paint.lo
  CC       paint-with-alpha.lo
  CC       mask.lo
  CC       pattern_create_radial.lo
  CC       rectangles.lo
  CC       rounded-rectangles.lo
  CC       stroke.lo
  CC       subimage_copy.lo
  CC       tessellate.lo
  CC       text.lo
  CC       tiger.lo
  CC       glyphs.lo
  CC       twin.lo
  CC       unaligned-clip.lo
  CC       wave.lo
  CC       world-map.lo
  CC       zrusin.lo
  CC       long-dashed-lines.lo
  CC       dragon.lo
  CC       pythagoras-tree.lo
  CC       intersections.lo
  CC       many-strokes.lo
  CC       wide-strokes.lo
  CC       many-fills.lo
  CC       wide-fills.lo
  CC       many-curves.lo
  CC       curve.lo
  CC       a1-curve.lo
  CC       spiral.lo
  CC       pixel.lo
  CC       sierpinski.lo
  CC       fill-clip.lo
  CCLD     libcairo-perf-micro.la
make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/perf/micro”
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/perf/micro”
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/perf”
  CC       cairo-analyse-trace.o
  CC       ../src/cairo-error.o
  CC       cairo-perf.lo
  CC       cairo-perf-report.lo
  CC       cairo-stats.lo
  CC       ../src/cairo-time.lo
  CCLD     libcairoperf.la
  CCLD     cairo-analyse-trace
  CC       cairo-perf-trace.o
  CC       ../src/cairo-hash.o
  CCLD     cairo-perf-trace
  CC       cairo-perf-micro.o
  CCLD     cairo-perf-micro
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/perf”
make[3]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/perf”
make[2]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/perf”
make[2]: 进入目录“/home/penghao/BLFS/cairo-1.17.6”
make[2]: 离开目录“/home/penghao/BLFS/cairo-1.17.6”
make[1]: 离开目录“/home/penghao/BLFS/cairo-1.17.6”

五、安装

BLFS中给出的命令为:

make install

这里稍作调整,加入“DESTDIR=”选项。

先在Cairo源码文件夹下创建output目录,之后执行以下命令:

~/BLFS/cairo-1.17.6$ make install DESTDIR=/home/penghao/BLFS/cairo-1.17.6/output

注意:DESTDIR选项中等号后边的路径必须为绝对路径。

实际命令及结果如下:

~/BLFS/cairo-1.17.6$ make install DESTDIR=/home/penghao/BLFS/cairo-1.17.6/output
make  install-recursive
make[1]: 进入目录“/home/penghao/BLFS/cairo-1.17.6”
Making install in src
make[2]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/src”
Makefile:2682: warning: ignoring prerequisites on suffix rule definition
Makefile:2684: warning: ignoring prerequisites on suffix rule definition
make  install-am
make[3]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/src”
Makefile:2682: warning: ignoring prerequisites on suffix rule definition
Makefile:2684: warning: ignoring prerequisites on suffix rule definition
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/src”
Makefile:2682: warning: ignoring prerequisites on suffix rule definition
Makefile:2684: warning: ignoring prerequisites on suffix rule definition
 /usr/bin/mkdir -p '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib'
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libcairo.la '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libcairo.so.2.11706.0 /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/libcairo.so.2.11706.0
libtool: install: (cd /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib && { ln -s -f libcairo.so.2.11706.0 libcairo.so.2 || { rm -f libcairo.so.2 && ln -s libcairo.so.2.11706.0 libcairo.so.2; }; })
libtool: install: (cd /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib && { ln -s -f libcairo.so.2.11706.0 libcairo.so || { rm -f libcairo.so && ln -s libcairo.so.2.11706.0 libcairo.so; }; })
libtool: install: /usr/bin/install -c .libs/libcairo.lai /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/libcairo.la
libtool: warning: remember to run 'libtool --finish /usr/local/lib'
 /usr/bin/mkdir -p '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/include/cairo'
 /usr/bin/install -c -m 644 cairo.h cairo-version.h cairo-deprecated.h cairo-xlib.h cairo-xlib-xrender.h cairo-xcb.h cairo-script.h cairo-ft.h cairo-ps.h cairo-pdf.h cairo-svg.h cairo-tee.h '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/include/cairo'
 /usr/bin/mkdir -p '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/include/cairo'
 /usr/bin/install -c -m 644 cairo-features.h '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/include/cairo'
 /usr/bin/mkdir -p '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/pkgconfig'
 /usr/bin/install -c -m 644 cairo.pc cairo-xlib.pc cairo-xlib-xrender.pc cairo-xcb.pc cairo-xcb-shm.pc cairo-png.pc cairo-script.pc cairo-ft.pc cairo-fc.pc cairo-ps.pc cairo-pdf.pc cairo-svg.pc cairo-tee.pc cairo-gobject.pc '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/pkgconfig'
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/src”
make[3]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/src”
make[2]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/src”
Making install in doc
make[2]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/doc”
make  install-recursive
make[3]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/doc”
Making install in public
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/doc/public”
make  install-am
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/doc/public”
make[6]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/doc/public”
make[6]: 对“install-exec-am”无需做任何事。installfiles=`echo ./html/*`; \
if test "$installfiles" = './html/*'; \
then echo '-- Nothing to install' ; \
else \
  /bin/sh /home/penghao/BLFS/cairo-1.17.6/build/install-sh -d /home/penghao/BLFS/cairo-1.17.6/output/usr/local/share/gtk-doc/html/cairo; \
  for i in $installfiles; do \
    echo '-- Installing '$i ; \
    /usr/bin/install -c -m 644 $i /home/penghao/BLFS/cairo-1.17.6/output/usr/local/share/gtk-doc/html/cairo; \
  done; \
  echo '-- Installing ./html/index.sgml' ; \
  /usr/bin/install -c -m 644 ./html/index.sgml /home/penghao/BLFS/cairo-1.17.6/output/usr/local/share/gtk-doc/html/cairo || :; \
  which gtkdoc-rebase >/dev/null && \
    gtkdoc-rebase --relative --dest-dir=/home/penghao/BLFS/cairo-1.17.6/output --html-dir=/home/penghao/BLFS/cairo-1.17.6/output/usr/local/share/gtk-doc/html/cairo ; \
fi
-- Installing ./html/bindings-errors.html
-- Installing ./html/bindings-fonts.html
-- Installing ./html/bindings-memory.html
-- Installing ./html/bindings-overloading.html
-- Installing ./html/bindings-path.html
-- Installing ./html/bindings-patterns.html
-- Installing ./html/bindings-return-values.html
-- Installing ./html/bindings-streams.html
-- Installing ./html/bindings-surfaces.html
-- Installing ./html/cairo-cairo-device-t.html
-- Installing ./html/cairo-cairo-font-face-t.html
-- Installing ./html/cairo-cairo-font-options-t.html
-- Installing ./html/cairo-cairo-matrix-t.html
-- Installing ./html/cairo-cairo-pattern-t.html
-- Installing ./html/cairo-cairo-scaled-font-t.html
-- Installing ./html/cairo-cairo-surface-t.html
-- Installing ./html/cairo-cairo-t.html
-- Installing ./html/cairo.devhelp2
-- Installing ./html/cairo-drawing.html
-- Installing ./html/cairo-DWrite-Fonts.html
-- Installing ./html/cairo-Error-handling.html
-- Installing ./html/cairo-fonts.html
-- Installing ./html/cairo-FreeType-Fonts.html
-- Installing ./html/cairo-Image-Surfaces.html
-- Installing ./html/cairo-Paths.html
-- Installing ./html/cairo-PDF-Surfaces.html
-- Installing ./html/cairo-PNG-Support.html
-- Installing ./html/cairo-PostScript-Surfaces.html
-- Installing ./html/cairo-Quartz-(CGFont)-Fonts.html
-- Installing ./html/cairo-Quartz-Surfaces.html
-- Installing ./html/cairo-Raster-Sources.html
-- Installing ./html/cairo-Recording-Surfaces.html
-- Installing ./html/cairo-Regions.html
-- Installing ./html/cairo-Script-Surfaces.html
-- Installing ./html/cairo-support.html
-- Installing ./html/cairo-surfaces.html
-- Installing ./html/cairo-SVG-Surfaces.html
-- Installing ./html/cairo-Tags-and-Links.html
-- Installing ./html/cairo-text.html
-- Installing ./html/cairo-Transformations.html
-- Installing ./html/cairo-Types.html
-- Installing ./html/cairo-User-Fonts.html
-- Installing ./html/cairo-Version-Information.html
-- Installing ./html/cairo-Win32-GDI-Fonts.html
-- Installing ./html/cairo-Win32-Surfaces.html
-- Installing ./html/cairo-XCB-Surfaces.html
-- Installing ./html/cairo-XLib-Surfaces.html
-- Installing ./html/cairo-XLib-XRender-Backend.html
-- Installing ./html/home.png
-- Installing ./html/index-all.html
-- Installing ./html/index.html
-- Installing ./html/language-bindings.html
-- Installing ./html/left-insensitive.png
-- Installing ./html/left.png
-- Installing ./html/right-insensitive.png
-- Installing ./html/right.png
-- Installing ./html/style.css
-- Installing ./html/up-insensitive.png
-- Installing ./html/up.png
-- Installing ./html/index.sgml
/usr/bin/install: 对 './html/index.sgml' 调用 stat 失败: 没有那个文件或目录which: no gtkdoc-rebase in (/home/penghao/anaconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/usr/go/bin)
make[6]: [Makefile:1385:install-data-local] 错误 1 (已忽略)make[6]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/doc/public”
make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/doc/public”
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/doc/public”
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/doc”
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/doc”
make[5]: 对“install-exec-am”无需做任何事。make[5]: 对“install-data-am”无需做任何事。make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/doc”
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/doc”
make[3]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/doc”
make[2]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/doc”
Making install in util
make[2]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util”
make  install-recursive
make[3]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util”
Making install in .
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util”
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util”
make[5]: 对“install-exec-am”无需做任何事。make[5]: 对“install-data-am”无需做任何事。make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util”
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util”
Making install in cairo-missing
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-missing”
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-missing”
make[5]: 对“install-exec-am”无需做任何事。make[5]: 对“install-data-am”无需做任何事。make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-missing”
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-missing”
Making install in cairo-gobject
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-gobject”
  CCLD     libcairo-gobject.la
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-gobject”
 /usr/bin/mkdir -p '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib'
 /bin/sh ../../libtool   --mode=install /usr/bin/install -c   libcairo-gobject.la '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib'
libtool: warning: relinking 'libcairo-gobject.la'
libtool: install: (cd /home/penghao/BLFS/cairo-1.17.6/util/cairo-gobject; /bin/sh "/home/penghao/BLFS/cairo-1.17.6/libtool"  --silent --tag CC --mode=relink gcc -D_REENTRANT -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libpng16 -Wall -Wextra -Wmissing-declarations -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wsign-compare -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wvolatile-register-var -Wstrict-aliasing=2 -Winit-self -Wunsafe-loop-optimizations -Wno-missing-field-initializers -Wno-unused-parameter -Wno-attributes -Wno-long-long -Winline -fno-strict-aliasing -fno-common -Wp,-D_FORTIFY_SOURCE=2 -Wno-unused-but-set-variable -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 -version-info 11708:0:11706 -no-undefined -o libcairo-gobject.la -rpath /usr/local/lib libcairo_gobject_la-cairo-gobject-enums.lo libcairo_gobject_la-cairo-gobject-structs.lo ../../src/libcairo.la -lpixman-1 -lfontconfig -lfreetype -lfreetype -lpng16 -lz -lxcb-shm -lxcb -lxcb-render -lXrender -lX11 -lX11 -lXext -lz -lz -lz -lgobject-2.0 -lglib-2.0 -lrt -lm -inst-prefix-dir /home/penghao/BLFS/cairo-1.17.6/output)
libtool: install: /usr/bin/install -c .libs/libcairo-gobject.so.2.11706.0T /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/libcairo-gobject.so.2.11706.0
libtool: install: (cd /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib && { ln -s -f libcairo-gobject.so.2.11706.0 libcairo-gobject.so.2 || { rm -f libcairo-gobject.so.2 && ln -s libcairo-gobject.so.2.11706.0 libcairo-gobject.so.2; }; })
libtool: install: (cd /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib && { ln -s -f libcairo-gobject.so.2.11706.0 libcairo-gobject.so || { rm -f libcairo-gobject.so && ln -s libcairo-gobject.so.2.11706.0 libcairo-gobject.so; }; })
libtool: install: /usr/bin/install -c .libs/libcairo-gobject.lai /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/libcairo-gobject.la
libtool: warning: remember to run 'libtool --finish /usr/local/lib'
 /usr/bin/mkdir -p '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/include/cairo'
 /usr/bin/install -c -m 644 cairo-gobject.h '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/include/cairo'
make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-gobject”
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-gobject”
Making install in cairo-script
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-script”
Making install in examples
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-script/examples”
make[6]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-script/examples”
make[6]: 对“install-exec-am”无需做任何事。make[6]: 对“install-data-am”无需做任何事。make[6]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-script/examples”
make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-script/examples”
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-script”
  CCLD     libcairo-script-interpreter.la
make[6]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-script”
 /usr/bin/mkdir -p '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib'
 /bin/sh ../../libtool   --mode=install /usr/bin/install -c   libcairo-script-interpreter.la '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib'
libtool: warning: relinking 'libcairo-script-interpreter.la'
libtool: install: (cd /home/penghao/BLFS/cairo-1.17.6/util/cairo-script; /bin/sh "/home/penghao/BLFS/cairo-1.17.6/libtool"  --silent --tag CC --mode=relink gcc -D_REENTRANT -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libpng16 -Wall -Wextra -Wmissing-declarations -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wsign-compare -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wvolatile-register-var -Wstrict-aliasing=2 -Winit-self -Wunsafe-loop-optimizations -Wno-missing-field-initializers -Wno-unused-parameter -Wno-attributes -Wno-long-long -Winline -fno-strict-aliasing -fno-common -Wp,-D_FORTIFY_SOURCE=2 -Wno-unused-but-set-variable -g -O2 -version-info 11708:0:11706 -no-undefined -o libcairo-script-interpreter.la -rpath /usr/local/lib libcairo_script_interpreter_la-cairo-script-file.lo libcairo_script_interpreter_la-cairo-script-hash.lo libcairo_script_interpreter_la-cairo-script-interpreter.lo libcairo_script_interpreter_la-cairo-script-objects.lo libcairo_script_interpreter_la-cairo-script-operators.lo libcairo_script_interpreter_la-cairo-script-scanner.lo libcairo_script_interpreter_la-cairo-script-stack.lo ../../src/libcairo.la -lpixman-1 -lfontconfig -lfreetype -lfreetype -lpng16 -lz -lxcb-shm -lxcb -lxcb-render -lXrender -lX11 -lX11 -lXext -lz -lz -lz -llzo2 -lz -lrt -lm -inst-prefix-dir /home/penghao/BLFS/cairo-1.17.6/output)
libtool: install: /usr/bin/install -c .libs/libcairo-script-interpreter.so.2.11706.0T /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/libcairo-script-interpreter.so.2.11706.0
libtool: install: (cd /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib && { ln -s -f libcairo-script-interpreter.so.2.11706.0 libcairo-script-interpreter.so.2 || { rm -f libcairo-script-interpreter.so.2 && ln -s libcairo-script-interpreter.so.2.11706.0 libcairo-script-interpreter.so.2; }; })
libtool: install: (cd /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib && { ln -s -f libcairo-script-interpreter.so.2.11706.0 libcairo-script-interpreter.so || { rm -f libcairo-script-interpreter.so && ln -s libcairo-script-interpreter.so.2.11706.0 libcairo-script-interpreter.so; }; })
libtool: install: /usr/bin/install -c .libs/libcairo-script-interpreter.lai /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/libcairo-script-interpreter.la
libtool: warning: remember to run 'libtool --finish /usr/local/lib'
 /usr/bin/mkdir -p '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/include/cairo'
 /usr/bin/install -c -m 644 cairo-script-interpreter.h '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/include/cairo'
 /usr/bin/mkdir -p '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/pkgconfig'
 /usr/bin/install -c -m 644 cairo-script-interpreter.pc '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/pkgconfig'
make[6]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-script”
make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-script”
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-script”
Making install in cairo-trace
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-trace”
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-trace”
 /usr/bin/mkdir -p '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/bin'
 /usr/bin/install -c cairo-trace '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/bin'
 /usr/bin/mkdir -p '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/cairo'
 /bin/sh ../../libtool   --mode=install /usr/bin/install -c   libcairo-trace.la '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/cairo'
libtool: install: /usr/bin/install -c .libs/libcairo-trace.so /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/cairo/libcairo-trace.so
libtool: install: /usr/bin/install -c .libs/libcairo-trace.lai /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/cairo/libcairo-trace.la
libtool: warning: remember to run 'libtool --finish /usr/local/lib/cairo'
make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-trace”
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-trace”
Making install in cairo-fdr
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-fdr”
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-fdr”
make[5]: 对“install-exec-am”无需做任何事。 /usr/bin/mkdir -p '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/cairo'
 /bin/sh ../../libtool   --mode=install /usr/bin/install -c   cairo-fdr.la '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/cairo'
libtool: install: /usr/bin/install -c .libs/cairo-fdr.so /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/cairo/cairo-fdr.so
libtool: install: /usr/bin/install -c .libs/cairo-fdr.lai /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/cairo/cairo-fdr.la
libtool: warning: remember to run 'libtool --finish /usr/local/lib/cairo'
make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-fdr”
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-fdr”
Making install in cairo-sphinx
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-sphinx”
cd ../../boilerplate && make  libcairoboilerplate.la
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/boilerplate”
make[5]: “libcairoboilerplate.la”已是最新。make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/boilerplate”
  CCLD     cairo-sphinx
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-sphinx”
cd ../../boilerplate && make  libcairoboilerplate.la
make[6]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/boilerplate”
make[6]: “libcairoboilerplate.la”已是最新。make[6]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/boilerplate”
 /usr/bin/mkdir -p '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/bin'
  /bin/sh ../../libtool   --mode=install /usr/bin/install -c cairo-sphinx '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/bin'
libtool: warning: '../../util/cairo-script/libcairo-script-interpreter.la' has not been installed in '/usr/local/lib'
libtool: warning: '/home/penghao/BLFS/cairo-1.17.6/src/libcairo.la' has not been installed in '/usr/local/lib'
libtool: warning: '../../src/libcairo.la' has not been installed in '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/cairo-sphinx /home/penghao/BLFS/cairo-1.17.6/output/usr/local/bin/cairo-sphinx
 /usr/bin/mkdir -p '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/cairo'
 /bin/sh ../../libtool   --mode=install /usr/bin/install -c   cairo-sphinx.la '/home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/cairo'
libtool: install: /usr/bin/install -c .libs/cairo-sphinx.so /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/cairo/cairo-sphinx.so
libtool: install: /usr/bin/install -c .libs/cairo-sphinx.lai /home/penghao/BLFS/cairo-1.17.6/output/usr/local/lib/cairo/cairo-sphinx.la
libtool: warning: remember to run 'libtool --finish /usr/local/lib/cairo'
make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-sphinx”
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util/cairo-sphinx”
make[3]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util”
make[2]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/util”
Making install in boilerplate
make[2]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/boilerplate”
make  install-am
make[3]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/boilerplate”
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/boilerplate”
make[4]: 对“install-exec-am”无需做任何事。make[4]: 对“install-data-am”无需做任何事。make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/boilerplate”
make[3]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/boilerplate”
make[2]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/boilerplate”
Making install in test
make[2]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/test”
make  install-recursive
make[3]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/test”
Making install in pdiff
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/test/pdiff”
make  install-am
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/test/pdiff”
make[6]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/test/pdiff”
make[6]: 对“install-exec-am”无需做任何事。make[6]: 对“install-data-am”无需做任何事。make[6]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/test/pdiff”
make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/test/pdiff”
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/test/pdiff”
Making install in .
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/test”
cd ../boilerplate && make  libcairoboilerplate.la
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/boilerplate”
make[5]: “libcairoboilerplate.la”已是最新。make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/boilerplate”
  CCLD     any2ppm
  CCLD     cairo-test-suite
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/test”
make[5]: 对“install-exec-am”无需做任何事。make[5]: 对“install-data-am”无需做任何事。make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/test”
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/test”
make[3]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/test”
make[2]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/test”
Making install in perf
make[2]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/perf”
make  install-recursive
make[3]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/perf”
Making install in micro
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/perf/micro”
make  install-am
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/perf/micro”
make[6]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/perf/micro”
make[6]: 对“install-exec-am”无需做任何事。make[6]: 对“install-data-am”无需做任何事。make[6]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/perf/micro”
make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/perf/micro”
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/perf/micro”
make[4]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/perf”
cd ../boilerplate && make  libcairoboilerplate.la
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/boilerplate”
make[5]: “libcairoboilerplate.la”已是最新。make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/boilerplate”
  CCLD     cairo-analyse-trace
  CCLD     cairo-perf-trace
  CCLD     cairo-perf-micro
make[5]: 进入目录“/home/penghao/BLFS/cairo-1.17.6/perf”
make[5]: 对“install-exec-am”无需做任何事。make[5]: 对“install-data-am”无需做任何事。make[5]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/perf”
make[4]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/perf”
make[3]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/perf”
make[2]: 离开目录“/home/penghao/BLFS/cairo-1.17.6/perf”
make[2]: 进入目录“/home/penghao/BLFS/cairo-1.17.6”
make[3]: 进入目录“/home/penghao/BLFS/cairo-1.17.6”
make[3]: 对“install-exec-am”无需做任何事。make[3]: 对“install-data-am”无需做任何事。make[3]: 离开目录“/home/penghao/BLFS/cairo-1.17.6”
make[2]: 离开目录“/home/penghao/BLFS/cairo-1.17.6”
make[1]: 离开目录“/home/penghao/BLFS/cairo-1.17.6”

安装完成后,output目录中的内容为:

/BLFS/cairo-1.17.6$ tree output/
output/
└── usr
    └── local
        ├── bin
        │   ├── cairo-sphinx
        │   └── cairo-trace
        ├── include
        │   └── cairo
        │       ├── cairo-deprecated.h
        │       ├── cairo-features.h
        │       ├── cairo-ft.h
        │       ├── cairo-gobject.h
        │       ├── cairo.h
        │       ├── cairo-pdf.h
        │       ├── cairo-ps.h
        │       ├── cairo-script.h
        │       ├── cairo-script-interpreter.h
        │       ├── cairo-svg.h
        │       ├── cairo-tee.h
        │       ├── cairo-version.h
        │       ├── cairo-xcb.h
        │       ├── cairo-xlib.h
        │       └── cairo-xlib-xrender.h
        ├── lib
        │   ├── cairo
        │   │   ├── cairo-fdr.la
        │   │   ├── cairo-fdr.so
        │   │   ├── cairo-sphinx.la
        │   │   ├── cairo-sphinx.so
        │   │   ├── libcairo-trace.la
        │   │   └── libcairo-trace.so
        │   ├── libcairo-gobject.la
        │   ├── libcairo-gobject.so -> libcairo-gobject.so.2.11706.0
        │   ├── libcairo-gobject.so.2 -> libcairo-gobject.so.2.11706.0
        │   ├── libcairo-gobject.so.2.11706.0
        │   ├── libcairo.la
        │   ├── libcairo-script-interpreter.la
        │   ├── libcairo-script-interpreter.so -> libcairo-script-interpreter.so.2.11706.0
        │   ├── libcairo-script-interpreter.so.2 -> libcairo-script-interpreter.so.2.11706.0
        │   ├── libcairo-script-interpreter.so.2.11706.0
        │   ├── libcairo.so -> libcairo.so.2.11706.0
        │   ├── libcairo.so.2 -> libcairo.so.2.11706.0
        │   ├── libcairo.so.2.11706.0
        │   └── pkgconfig
        │       ├── cairo-fc.pc
        │       ├── cairo-ft.pc
        │       ├── cairo-gobject.pc
        │       ├── cairo.pc
        │       ├── cairo-pdf.pc
        │       ├── cairo-png.pc
        │       ├── cairo-ps.pc
        │       ├── cairo-script-interpreter.pc
        │       ├── cairo-script.pc
        │       ├── cairo-svg.pc
        │       ├── cairo-tee.pc
        │       ├── cairo-xcb.pc
        │       ├── cairo-xcb-shm.pc
        │       ├── cairo-xlib.pc
        │       └── cairo-xlib-xrender.pc
        └── share
            └── gtk-doc
                └── html
                    └── cairo
                        ├── bindings-errors.html
                        ├── bindings-fonts.html
                        ├── bindings-memory.html
                        ├── bindings-overloading.html
                        ├── bindings-path.html
                        ├── bindings-patterns.html
                        ├── bindings-return-values.html
                        ├── bindings-streams.html
                        ├── bindings-surfaces.html
                        ├── cairo-cairo-device-t.html
                        ├── cairo-cairo-font-face-t.html
                        ├── cairo-cairo-font-options-t.html
                        ├── cairo-cairo-matrix-t.html
                        ├── cairo-cairo-pattern-t.html
                        ├── cairo-cairo-scaled-font-t.html
                        ├── cairo-cairo-surface-t.html
                        ├── cairo-cairo-t.html
                        ├── cairo.devhelp2
                        ├── cairo-drawing.html
                        ├── cairo-DWrite-Fonts.html
                        ├── cairo-Error-handling.html
                        ├── cairo-fonts.html
                        ├── cairo-FreeType-Fonts.html
                        ├── cairo-Image-Surfaces.html
                        ├── cairo-Paths.html
                        ├── cairo-PDF-Surfaces.html
                        ├── cairo-PNG-Support.html
                        ├── cairo-PostScript-Surfaces.html
                        ├── cairo-Quartz-(CGFont)-Fonts.html
                        ├── cairo-Quartz-Surfaces.html
                        ├── cairo-Raster-Sources.html
                        ├── cairo-Recording-Surfaces.html
                        ├── cairo-Regions.html
                        ├── cairo-Script-Surfaces.html
                        ├── cairo-support.html
                        ├── cairo-surfaces.html
                        ├── cairo-SVG-Surfaces.html
                        ├── cairo-Tags-and-Links.html
                        ├── cairo-text.html
                        ├── cairo-Transformations.html
                        ├── cairo-Types.html
                        ├── cairo-User-Fonts.html
                        ├── cairo-Version-Information.html
                        ├── cairo-Win32-GDI-Fonts.html
                        ├── cairo-Win32-Surfaces.html
                        ├── cairo-XCB-Surfaces.html
                        ├── cairo-XLib-Surfaces.html
                        ├── cairo-XLib-XRender-Backend.html
                        ├── home.png
                        ├── index-all.html
                        ├── index.html
                        ├── language-bindings.html
                        ├── left-insensitive.png
                        ├── left.png
                        ├── right-insensitive.png
                        ├── right.png
                        ├── style.css
                        ├── up-insensitive.png
                        └── up.png

12 directories, 109 files

至此,Cairo包的源码构建和安装就全部完成了(当然,这里只是安装到了output的路径下,如果使用原始参数,则会安装到系统中的/usr/路径下)。

猜你喜欢

转载自blog.csdn.net/phmatthaus/article/details/133309179