AppArmor零知识学习五、源码构建(2)

本文内容参考:

AppArmor / apparmor · GitLab

接前一篇文章:AppArmor零知识学习四、源码构建(1)

在前一篇文章中完成了apparmor源码构建的第一步——环境变量的设置,本文继续往下进行。

四、源码构建

2. libapparmor构建和安装

(1)进入libraries/libapparmor目录

通过cd命令进入apparmor源码根目录下的libraries/libapparmor目录。实际命令及结果如下所示:

$ cd libraries/libapparmor/
$ pwd
/home/penghao/AppArmor/apparmor/libraries/libapparmor

(2)执行autogen.sh脚本

运行sh autogen.sh或者直接./autogen.sh。实际命令及结果如下:

$ ./autogen.sh 
Running aclocal
Running autoconf
configure.ac:8: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated.
./lib/autoconf/general.m4:2434: AC_DIAGNOSE is expanded from...
aclocal.m4:9766: AM_INIT_AUTOMAKE is expanded from...
configure.ac:8: the top level
configure.ac:10: warning: AC_PROG_LEX without either yywrap or noyywrap is obsolete
./lib/autoconf/programs.m4:716: _AC_PROG_LEX is expanded from...
./lib/autoconf/programs.m4:709: AC_PROG_LEX is expanded from...
aclocal.m4:10005: AM_PROG_LEX is expanded from...
configure.ac:10: the top level
configure.ac:48: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:48: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
m4/ac_python_devel.m4:1: AC_PYTHON_DEVEL is expanded from...
configure.ac:48: the top level
configure.ac:81: warning: The macro `AC_HEADER_STDC' is obsolete.
configure.ac:81: You should run autoupdate.
./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from...
configure.ac:81: the top level
configure.ac:88: warning: The macro `AM_PROG_LIBTOOL' is obsolete.
configure.ac:88: You should run autoupdate.
aclocal.m4:123: AM_PROG_LIBTOOL is expanded from...
configure.ac:88: the top level
configure.ac:90: warning: The macro `AC_PROG_CC_C99' is obsolete.
configure.ac:90: You should run autoupdate.
./lib/autoconf/c.m4:1659: AC_PROG_CC_C99 is expanded from...
configure.ac:90: the top level
configure.ac:95: warning: AC_OUTPUT should be used without arguments.
configure.ac:95: You should run autoupdate.
Running libtoolize
Running automake
configure.ac:8: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated.  For more info, see:
configure.ac:8: https://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation
configure.ac:10: installing './compile'
configure.ac:88: installing './config.guess'
configure.ac:88: installing './config.sub'
configure.ac:8: installing './install-sh'
configure.ac:8: installing './missing'
doc/Makefile.am:10: warning: subst .2,.pod,$(man_MANS: non-POSIX variable name
doc/Makefile.am:10: (probably a GNU make extension)
doc/Makefile.am:10: warning: subst .3,.pod,$(man_MANS: non-POSIX variable name
doc/Makefile.am:10: (probably a GNU make extension)
doc/Makefile.am:17: warning: '%'-style pattern rules are a GNU make extension
doc/Makefile.am:26: warning: '%'-style pattern rules are a GNU make extension
src/Makefile.am:70: warning: '%'-style pattern rules are a GNU make extension
src/Makefile.am:1: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
src/Makefile.am: installing './depcomp'
configure.ac: installing './ylwrap'
parallel-tests: installing './test-driver'
testsuite/Makefile.am:8: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')

(3)配置

使用configure进行配置。实际命令及结果如下所示:

$ ./configure --prefix=/usr --with-perl --with-python
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports the include directive... yes (GNU style)
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 the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for flex... flex
checking for lex output file root... lex.yy
checking for lex library... none needed
checking for library containing yywrap... no
checking whether yytext is a pointer... yes
checking for bison... bison -y
checking for a sed that does not truncate output... /usr/bin/sed
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for swig... /usr/bin/swig
checking whether the libapparmor debug output should be enabled... no
checking whether the libapparmor man pages should be generated... yes
checking for podchecker... podchecker
checking for pod2man... pod2man
checking whether python bindings are enabled... yes
checking for python3... /usr/bin/python3
checking for python3... (cached) /usr/bin/python3
checking for python3-config... /usr/bin/python3-config
checking for a version of Python >= '2.1.0'... yes
checking for the setuptools Python package... yes
checking for Python include path... /usr/bin/python3-config is /usr/bin/python3-config
-I/usr/include/python3.10 -I/usr/include/python3.10
checking for Python library path... /usr/bin/python3-config is /usr/bin/python3-config
 -L/usr/lib  -lcrypt -ldl  -lm -lm 
checking for Python site-packages path... /usr/lib/python3.10/site-packages
checking python extra libraries... /usr/bin/python3-config is /usr/bin/python3-config
-lpython3.10 -lcrypt -ldl  -lm -lm 
checking python extra linking flags... /usr/bin/python3-config is /usr/bin/python3-config
 -L/usr/lib -lpython3.10 -lcrypt -ldl  -lm -lm 
checking consistency of all components of python development environment... yes
checking whether /usr/bin/python3 version is >= 3.0... yes
checking for /usr/bin/python3 version... 3.10
checking for /usr/bin/python3 platform... linux
checking for GNU default /usr/bin/python3 prefix... ${prefix}
checking for GNU default /usr/bin/python3 exec_prefix... ${exec_prefix}
checking for /usr/bin/python3 script directory (pythondir)... ${PYTHON_PREFIX}/lib/python3.10/site-packages
checking for /usr/bin/python3 extension module directory (pyexecdir)... ${PYTHON_EXEC_PREFIX}/lib/python3.10/site-packages
checking whether perl bindings are enabled... yes
checking for perl... /usr/bin/perl
checking whether ruby bindings are enabled... no
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for unistd.h... (cached) yes
checking for stdint.h... (cached) yes
checking for syslog.h... yes
checking for asprintf... yes
checking for __secure_getenv... no
checking for secure_getenv... yes
checking for reallocarray... yes
checking for an ANSI C-conforming const... yes
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... (cached) /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 file... file
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 ar... ar
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
file: could not find any valid magic files! (No such file or directory)
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) 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... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating src/Makefile
config.status: creating swig/Makefile
config.status: creating swig/perl/Makefile
config.status: creating swig/perl/Makefile.PL
config.status: creating swig/python/Makefile
config.status: creating swig/python/setup.py
config.status: creating swig/python/test/Makefile
config.status: creating swig/ruby/Makefile
config.status: creating testsuite/Makefile
config.status: creating testsuite/config/Makefile
config.status: creating testsuite/libaalogparse.test/Makefile
config.status: creating testsuite/lib/Makefile
config.status: creating include/Makefile
config.status: creating include/sys/Makefile
config.status: executing depfiles commands
config.status: executing libtool commands

(4)编译

运行make命令进行编译。实际命令及结果如下所示:

$ make
Making all in doc
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/doc”
podchecker -warnings -warnings aa_change_hat.pod
aa_change_hat.pod pod syntax OK.
pod2man \
        --section=2 \
        --release="AppArmor 3.1.0" \
        --center="AppArmor" \
        --stderr \
        aa_change_hat.pod > aa_change_hat.2
podchecker -warnings -warnings aa_change_profile.pod
aa_change_profile.pod pod syntax OK.
pod2man \
        --section=2 \
        --release="AppArmor 3.1.0" \
        --center="AppArmor" \
        --stderr \
        aa_change_profile.pod > aa_change_profile.2
podchecker -warnings -warnings aa_stack_profile.pod
aa_stack_profile.pod pod syntax OK.
pod2man \
        --section=2 \
        --release="AppArmor 3.1.0" \
        --center="AppArmor" \
        --stderr \
        aa_stack_profile.pod > aa_stack_profile.2
podchecker -warnings -warnings aa_getcon.pod
aa_getcon.pod pod syntax OK.
pod2man \
        --section=2 \
        --release="AppArmor 3.1.0" \
        --center="AppArmor" \
        --stderr \
        aa_getcon.pod > aa_getcon.2
podchecker -warnings -warnings aa_find_mountpoint.pod
*** WARNING: multiple occurrences (2) of link target 'EACCES' at line - in file aa_find_mountpoint.pod
*** WARNING: multiple occurrences (2) of link target 'EBUSY' at line - in file aa_find_mountpoint.pod
*** WARNING: multiple occurrences (2) of link target 'ENOENT' at line - in file aa_find_mountpoint.pod
*** WARNING: multiple occurrences (2) of link target 'ENOMEM' at line - in file aa_find_mountpoint.pod
aa_find_mountpoint.pod pod syntax OK.
pod2man \
        --section=2 \
        --release="AppArmor 3.1.0" \
        --center="AppArmor" \
        --stderr \
        aa_find_mountpoint.pod > aa_find_mountpoint.2
podchecker -warnings -warnings aa_splitcon.pod
aa_splitcon.pod pod syntax OK.
pod2man \
        --section=3 \
        --release="AppArmor 3.1.0" \
        --center="AppArmor" \
        --stderr \
        aa_splitcon.pod > aa_splitcon.3
podchecker -warnings -warnings aa_query_label.pod
aa_query_label.pod pod syntax OK.
pod2man \
        --section=2 \
        --release="AppArmor 3.1.0" \
        --center="AppArmor" \
        --stderr \
        aa_query_label.pod > aa_query_label.2
podchecker -warnings -warnings aa_features.pod
aa_features.pod pod syntax OK.
pod2man \
        --section=3 \
        --release="AppArmor 3.1.0" \
        --center="AppArmor" \
        --stderr \
        aa_features.pod > aa_features.3
podchecker -warnings -warnings aa_kernel_interface.pod
aa_kernel_interface.pod pod syntax OK.
pod2man \
        --section=3 \
        --release="AppArmor 3.1.0" \
        --center="AppArmor" \
        --stderr \
        aa_kernel_interface.pod > aa_kernel_interface.3
podchecker -warnings -warnings aa_policy_cache.pod
aa_policy_cache.pod pod syntax OK.
pod2man \
        --section=3 \
        --release="AppArmor 3.1.0" \
        --center="AppArmor" \
        --stderr \
        aa_policy_cache.pod > aa_policy_cache.3
make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/doc”
Making all in src
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
/bin/sh ../ylwrap grammar.y y.tab.c grammar.c y.tab.h `echo grammar.c | sed -e s/cc$/hh/ -e s/cpp$/hpp/ -e s/cxx$/hxx/ -e s/c++$/h++/ -e s/c$/h/` y.output grammar.output -- bison -y -d -p aalogparse_ 
/home/penghao/AppArmor/apparmor/libraries/libapparmor/src/grammar.y:86.1-8: 警告: POSIX Yacc does not support %defines [-Wyacc]
   86 | %defines
      | ^~~~~~~~
/home/penghao/AppArmor/apparmor/libraries/libapparmor/src/grammar.y:92.1-7: 警告: POSIX Yacc does not support %define [-Wyacc]
   92 | %define api.pure
      | ^~~~~~~
/home/penghao/AppArmor/apparmor/libraries/libapparmor/src/grammar.y:196.1-11: 警告: POSIX Yacc does not support %destructor [-Wyacc]
  196 | %destructor { free($$); } TOK_QUOTED_STRING TOK_ID TOK_MODE TOK_DMESG_STAMP
      | ^~~~~~~~~~~
/home/penghao/AppArmor/apparmor/libraries/libapparmor/src/grammar.y:197.1-11: 警告: POSIX Yacc does not support %destructor [-Wyacc]
  197 | %destructor { free($$); } TOK_AUDIT_DIGITS TOK_DATE_MONTH TOK_DATE TOK_TIME
      | ^~~~~~~~~~~
/home/penghao/AppArmor/apparmor/libraries/libapparmor/src/grammar.y:198.1-11: 警告: POSIX Yacc does not support %destructor [-Wyacc]
  198 | %destructor { free($$); } TOK_HEXSTRING TOK_TYPE_OTHER TOK_MSG_REST
      | ^~~~~~~~~~~
/home/penghao/AppArmor/apparmor/libraries/libapparmor/src/grammar.y:199.1-11: 警告: POSIX Yacc does not support %destructor [-Wyacc]
  199 | %destructor { free($$); } TOK_IP_ADDR
      | ^~~~~~~~~~~
updating grammar.h
flex -v scanner.l
flex version 2.6.4 usage statistics:
  scanner options: ---reentrant--bison-bridgevI8 -Cem -oscanner.c -Paalogparse_
  1320/2000 NFA states
  676/1000 DFA states (2760 words)
  137 rules
  Compressed tables always back-up
  12/40 start conditions
  528 epsilon states, 208 double epsilon states
  44/100 character classes needed 560/750 words of storage, 0 reused
  25479 state/nextstate pairs created
  1628/23851 unique/duplicate transitions
  697/1000 base-def entries created
  1654/2000 (peak 2605) nxt-chk entries created
  189/2500 (peak 1407) template nxt-chk entries created
  0 empty table entries
  23 protos created
  21 templates created, 489 uses
  67/256 equivalence classes created
  9/256 meta-equivalence classes created
  2 (26 saved) hash collisions, 977 DFAs equal
  2 sets of reallocations needed
  5025 total table entries needed
echo '#include ' | gcc  -E -dM - | LC_ALL=C  sed  -n -e "/IPPROTO_MAX/d"  -e "s/^\#define[ \\t]\\+IPPROTO_\\([A-Z0-9_]\\+\\)\\(.*\\)$/AA_GEN_PROTO_ENT(\\UIPPROTO_\\1, \"\\L\\1\")/p" > af_protos.h
make  all-am
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I.  -D_GNU_SOURCE -I../include/  -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT grammar.lo -MD -MP -MF .deps/grammar.Tpo -c -o grammar.lo grammar.c
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT grammar.lo -MD -MP -MF .deps/grammar.Tpo -c grammar.c  -fPIC -DPIC -o .libs/grammar.o
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT grammar.lo -MD -MP -MF .deps/grammar.Tpo -c grammar.c -o grammar.o >/dev/null 2>&1
mv -f .deps/grammar.Tpo .deps/grammar.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I.  -D_GNU_SOURCE -I../include/  -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT libaalogparse.lo -MD -MP -MF .deps/libaalogparse.Tpo -c -o libaalogparse.lo libaalogparse.c
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT libaalogparse.lo -MD -MP -MF .deps/libaalogparse.Tpo -c libaalogparse.c  -fPIC -DPIC -o .libs/libaalogparse.o
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT libaalogparse.lo -MD -MP -MF .deps/libaalogparse.Tpo -c libaalogparse.c -o libaalogparse.o >/dev/null 2>&1
mv -f .deps/libaalogparse.Tpo .deps/libaalogparse.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I.  -D_GNU_SOURCE -I../include/  -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT kernel.lo -MD -MP -MF .deps/kernel.Tpo -c -o kernel.lo kernel.c
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT kernel.lo -MD -MP -MF .deps/kernel.Tpo -c kernel.c  -fPIC -DPIC -o .libs/kernel.o
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT kernel.lo -MD -MP -MF .deps/kernel.Tpo -c kernel.c -o kernel.o >/dev/null 2>&1
mv -f .deps/kernel.Tpo .deps/kernel.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I.  -D_GNU_SOURCE -I../include/  -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT scanner.lo -MD -MP -MF .deps/scanner.Tpo -c -o scanner.lo scanner.c
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT scanner.lo -MD -MP -MF .deps/scanner.Tpo -c scanner.c  -fPIC -DPIC -o .libs/scanner.o
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT scanner.lo -MD -MP -MF .deps/scanner.Tpo -c scanner.c -o scanner.o >/dev/null 2>&1
mv -f .deps/scanner.Tpo .deps/scanner.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I.  -D_GNU_SOURCE -I../include/  -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT private.lo -MD -MP -MF .deps/private.Tpo -c -o private.lo private.c
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT private.lo -MD -MP -MF .deps/private.Tpo -c private.c  -fPIC -DPIC -o .libs/private.o
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT private.lo -MD -MP -MF .deps/private.Tpo -c private.c -o private.o >/dev/null 2>&1
mv -f .deps/private.Tpo .deps/private.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I.  -D_GNU_SOURCE -I../include/  -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT features.lo -MD -MP -MF .deps/features.Tpo -c -o features.lo features.c
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT features.lo -MD -MP -MF .deps/features.Tpo -c features.c  -fPIC -DPIC -o .libs/features.o
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT features.lo -MD -MP -MF .deps/features.Tpo -c features.c -o features.o >/dev/null 2>&1
mv -f .deps/features.Tpo .deps/features.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I.  -D_GNU_SOURCE -I../include/  -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT kernel_interface.lo -MD -MP -MF .deps/kernel_interface.Tpo -c -o kernel_interface.lo kernel_interface.c
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT kernel_interface.lo -MD -MP -MF .deps/kernel_interface.Tpo -c kernel_interface.c  -fPIC -DPIC -o .libs/kernel_interface.o
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT kernel_interface.lo -MD -MP -MF .deps/kernel_interface.Tpo -c kernel_interface.c -o kernel_interface.o >/dev/null 2>&1
mv -f .deps/kernel_interface.Tpo .deps/kernel_interface.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I.  -D_GNU_SOURCE -I../include/  -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT policy_cache.lo -MD -MP -MF .deps/policy_cache.Tpo -c -o policy_cache.lo policy_cache.c
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT policy_cache.lo -MD -MP -MF .deps/policy_cache.Tpo -c policy_cache.c  -fPIC -DPIC -o .libs/policy_cache.o
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT policy_cache.lo -MD -MP -MF .deps/policy_cache.Tpo -c policy_cache.c -o policy_cache.o >/dev/null 2>&1
mv -f .deps/policy_cache.Tpo .deps/policy_cache.Plo
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I.  -D_GNU_SOURCE -I../include/  -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT PMurHash.lo -MD -MP -MF .deps/PMurHash.Tpo -c -o PMurHash.lo PMurHash.c
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT PMurHash.lo -MD -MP -MF .deps/PMurHash.Tpo -c PMurHash.c  -fPIC -DPIC -o .libs/PMurHash.o
libtool: compile:  gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -D_GNU_SOURCE -I../include/ -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT PMurHash.lo -MD -MP -MF .deps/PMurHash.Tpo -c PMurHash.c -o PMurHash.o >/dev/null 2>&1
mv -f .deps/PMurHash.Tpo .deps/PMurHash.Plo
/bin/sh ../libtool  --tag=CC   --mode=link gcc -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -version-info 13:2:12 -XCClinker -dynamic -pthread -Wl,--version-script=../src/libapparmor.map  -o libapparmor.la -rpath /usr/lib grammar.lo libaalogparse.lo kernel.lo scanner.lo private.lo features.lo kernel_interface.lo policy_cache.lo PMurHash.lo  
libtool: link: gcc -shared  -fPIC -DPIC  .libs/grammar.o .libs/libaalogparse.o .libs/kernel.o .libs/scanner.o .libs/private.o .libs/features.o .libs/kernel_interface.o .libs/policy_cache.o .libs/PMurHash.o    -flto-partition=none -g -O2 -dynamic -Wl,--version-script=../src/libapparmor.map   -pthread -Wl,-soname -Wl,libapparmor.so.1 -o .libs/libapparmor.so.1.12.2
libtool: link: (cd ".libs" && rm -f "libapparmor.so.1" && ln -s "libapparmor.so.1.12.2" "libapparmor.so.1")
libtool: link: (cd ".libs" && rm -f "libapparmor.so" && ln -s "libapparmor.so.1.12.2" "libapparmor.so")
libtool: link: ar cr .libs/libapparmor.a  grammar.o libaalogparse.o kernel.o scanner.o private.o features.o kernel_interface.o policy_cache.o PMurHash.o
libtool: link: ranlib .libs/libapparmor.a
libtool: link: ( cd ".libs" && rm -f "libapparmor.la" && ln -s "../libapparmor.la" "libapparmor.la" )
cd ".." && \
/bin/sh ./config.status --file="src/libapparmor.pc"
config.status: creating src/libapparmor.pc
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
Making all in include
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include”
Making all in sys
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include/sys”
make[2]: 对“all”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include/sys”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include”
make[2]: 对“all-am”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include”
Making all in swig
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig”
Making all in perl
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl”
/usr/bin/swig -perl -I./../../include -module LibAppArmor -o libapparmor_wrap.c ./../SWIG/libapparmor.i
./../../include/aalogparse.h:163: Warning 301: class keyword used, but not in C++ mode.
/usr/bin/perl Makefile.PL PREFIX=/usr MAKEFILE=Makefile.perl
Warning: -L../../src/.libs/ changed to -L/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl/../../src/.libs/
Generating a Unix-style Makefile.perl
Writing Makefile.perl for LibAppArmor
Writing MYMETA.yml and MYMETA.json
sed -ie 's/LD_RUN_PATH="\x24(LD_RUN_PATH)"//g' Makefile.perl
sed -ie 's/^LD_RUN_PATH.*//g' Makefile.perl
if test ! -f libapparmor_wrap.c; then cp ./libapparmor_wrap.c . ; fi
make -fMakefile.perl
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl”
cp LibAppArmor.pm blib/lib/LibAppArmor.pm
Running Mkbootstrap for LibAppArmor ()
chmod 644 "LibAppArmor.bs"
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- LibAppArmor.bs blib/arch/auto/LibAppArmor/LibAppArmor.bs 644
cc -c  -I../../include -g -O2 -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2   -DVERSION=\"3.1.0\" -DXS_VERSION=\"3.1.0\" -fPIC "-I/usr/lib/perl5/5.36/core_perl/CORE"   libapparmor_wrap.c
rm -f blib/arch/auto/LibAppArmor/LibAppArmor.so
cc  -shared -O2 -L/usr/local/lib -fstack-protector-strong  libapparmor_wrap.o  -o blib/arch/auto/LibAppArmor/LibAppArmor.so  \
   -L/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl/../../src/.libs -lapparmor   \
  
chmod 755 blib/arch/auto/LibAppArmor/LibAppArmor.so
make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl”
if test ../.. != ../.. ; then rm -f libapparmor_wrap.c ; fi
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl”
Making all in python
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python”
Making all in test
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python/test”
make[3]: 对“all”无需做任何事。make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python/test”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python”
/usr/bin/swig -python -I./../../include -module LibAppArmor -o libapparmor_wrap.c ./../SWIG/libapparmor.i
./../../include/aalogparse.h:163: Warning 301: class keyword used, but not in C++ mode.
./../../include/aalogparse.h:163: Warning 314: 'class' is a python keyword, renaming to '_class'
if test ! -f libapparmor_wrap.c; then cp ./libapparmor_wrap.c . ; fi
CC="gcc" CFLAGS="-I/usr/include/python3.10 -I/usr/include/python3.10 -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough" LDSHARED="gcc -shared" LDFLAGS="-L/usr/lib  -lcrypt -ldl  -lm -lm  " /usr/bin/python3 setup.py build
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-310
creating build/lib.linux-x86_64-cpython-310/LibAppArmor
copying ./LibAppArmor.py -> build/lib.linux-x86_64-cpython-310/LibAppArmor
copying ./__init__.py -> build/lib.linux-x86_64-cpython-310/LibAppArmor
running build_ext
building '_LibAppArmor' extension
creating build/temp.linux-x86_64-cpython-310
gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -I/usr/include/python3.10 -I/usr/include/python3.10 -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -I../../include -I/usr/include/python3.10 -c libapparmor_wrap.c -o build/temp.linux-x86_64-cpython-310/libapparmor_wrap.o
libapparmor_wrap.c: 在函数‘_wrap_aa_change_hat_vargs__varargs__’中:
libapparmor_wrap.c:6069:117: 警告:unused parameter ‘varargs’ [-Wunused-parameter]
 6069 | SWIGINTERN PyObject *_wrap_aa_change_hat_vargs__varargs__(PyObject *SWIGUNUSEDPARM(self), PyObject *args, PyObject *varargs) {
      |                                                                                                           ~~~~~~~~~~^~~~~~~
libapparmor_wrap.c: 在函数‘_wrap_aa_getpeercon_raw’中:
libapparmor_wrap.c:6444:47: 警告:传递‘aa_getpeercon_raw’的第 3 个参数给指针时,目标与指针符号不一致 [-Wpointer-sign]
 6444 |     result = (int)aa_getpeercon_raw(arg1,arg2,arg3,arg4);
      |                                               ^~~~
      |                                               |
      |                                               int *
In file included from libapparmor_wrap.c:2709:
../../include/sys/apparmor.h:98:60: 附注:需要类型‘socklen_t *’ {或称 ‘unsigned int *’},但实参的类型为‘int *’
   98 | extern int aa_getpeercon_raw(int fd, char *buf, socklen_t *len, char **mode);
      |                                                 ~~~~~~~~~~~^~~
gcc -shared -L/usr/lib -lcrypt -ldl -lm -lm -I/usr/include/python3.10 -I/usr/include/python3.10 -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough build/temp.linux-x86_64-cpython-310/libapparmor_wrap.o -L/usr/lib -o build/lib.linux-x86_64-cpython-310/LibAppArmor/_LibAppArmor.cpython-310-x86_64-linux-gnu.so -L../../src/.libs -lapparmor
make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python”
Making all in ruby
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/ruby”
make[2]: 对“all”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/ruby”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig”
make[2]: 对“all-am”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig”
Making all in testsuite
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite”
Making all in lib
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/lib”
make[2]: 对“all”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/lib”
Making all in config
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/config”
make[2]: 对“all”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/config”
Making all in libaalogparse.test
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/libaalogparse.test”
make[2]: 对“all”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/libaalogparse.test”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite”
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I. -I../include  -DLOCALEDIR=\"/usr/share/locale\"  -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -g -O2 -MT test_multi_multi-test_multi.o -MD -MP -MF .deps/test_multi_multi-test_multi.Tpo -c -o test_multi_multi-test_multi.o `test -f 'test_multi.c' || echo './'`test_multi.c
mv -f .deps/test_multi_multi-test_multi.Tpo .deps/test_multi_multi-test_multi.Po
/bin/sh ../libtool  --tag=CC   --mode=link gcc -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -g -O2   -o test_multi.multi test_multi_multi-test_multi.o -L../src/.libs -lapparmor 
libtool: link: gcc -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -g -O2 -o .libs/test_multi.multi test_multi_multi-test_multi.o  -L../src/.libs /home/penghao/AppArmor/apparmor/libraries/libapparmor/src/.libs/libapparmor.so -pthread
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite”
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor”
make[1]: 对“all-am”无需做任何事。make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor”

(5)检查

运行make check命令进行检查。实际命令及结果如下所示:

$ make check
Making check in doc
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/doc”
make[1]: 对“check”无需做任何事。make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/doc”
Making check in src
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
make  check-am
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
make  tst_aalogmisc tst_features tst_kernel
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I.  -D_GNU_SOURCE -I../include/  -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT tst_aalogmisc.o -MD -MP -MF .deps/tst_aalogmisc.Tpo -c -o tst_aalogmisc.o tst_aalogmisc.c
mv -f .deps/tst_aalogmisc.Tpo .deps/tst_aalogmisc.Po
/bin/sh ../libtool  --tag=CC   --mode=link gcc -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2   -o tst_aalogmisc tst_aalogmisc.o .libs/libapparmor.a 
libtool: link: gcc -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -o tst_aalogmisc tst_aalogmisc.o  .libs/libapparmor.a
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I.  -D_GNU_SOURCE -I../include/  -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT tst_features.o -MD -MP -MF .deps/tst_features.Tpo -c -o tst_features.o tst_features.c
tst_features.c: 在函数‘main’中:
tst_features.c:123:21: 警告:‘c’ may be used uninitialized [-Wmaybe-uninitialized]
  123 |                 if (do_test_walk_one(str, component, is_top_level,      \
      |                     ^~~~~~~~~~~~~~~~
tst_features.c:97:12: 附注:by argument 2 of type ‘const struct component *’ to ‘do_test_walk_one’ declared here
   97 | static int do_test_walk_one(const char **str, const struct component *component,
      |            ^~~~~~~~~~~~~~~~
tst_features.c:138:26: 附注:‘c’在此声明  138 |         struct component c;
      |                          ^
tst_features.c:123:21: 警告:‘c’ may be used uninitialized [-Wmaybe-uninitialized]
  123 |                 if (do_test_walk_one(str, component, is_top_level,      \
      |                     ^~~~~~~~~~~~~~~~
tst_features.c:97:12: 附注:by argument 2 of type ‘const struct component *’ to ‘do_test_walk_one’ declared here
   97 | static int do_test_walk_one(const char **str, const struct component *component,
      |            ^~~~~~~~~~~~~~~~
tst_features.c:138:26: 附注:‘c’在此声明  138 |         struct component c;
      |                          ^
mv -f .deps/tst_features.Tpo .deps/tst_features.Po
/bin/sh ../libtool  --tag=CC   --mode=link gcc -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2   -o tst_features tst_features.o .libs/libapparmor.a 
libtool: link: gcc -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -o tst_features tst_features.o  .libs/libapparmor.a
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libapparmor1\" -DVERSION=\"3.1.0\" -DYYTEXT_POINTER=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_UNISTD_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_ASPRINTF=1 -DHAVE_SECURE_GETENV=1 -DHAVE_REALLOCARRAY=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I.  -D_GNU_SOURCE -I../include/  -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -MT tst_kernel.o -MD -MP -MF .deps/tst_kernel.Tpo -c -o tst_kernel.o tst_kernel.c
tst_kernel.c: 在函数‘test_splitcon’中:
tst_kernel.c:133:37: 警告:operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {或称 ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
  133 |         TEST_SPLITCON("unconfined", -1, true, "unconfined", NULL,
      |                                     ^~
tst_kernel.c:86:54: 附注:in definition of macro ‘TEST_SPLITCON’
   86 |                 size_t sz = size < 0 ? strlen(con) : size;              \
      |                                                      ^~~~
tst_kernel.c:135:37: 警告:operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {或称 ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
  135 |         TEST_SPLITCON("unconfined", -1, false, "unconfined", NULL,
      |                                     ^~
tst_kernel.c:86:54: 附注:in definition of macro ‘TEST_SPLITCON’
   86 |                 size_t sz = size < 0 ? strlen(con) : size;              \
      |                                                      ^~~~
tst_kernel.c:137:39: 警告:operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {或称 ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
  137 |         TEST_SPLITCON("unconfined\n", -1, true, "unconfined", NULL,
      |                                       ^~
tst_kernel.c:86:54: 附注:in definition of macro ‘TEST_SPLITCON’
   86 |                 size_t sz = size < 0 ? strlen(con) : size;              \
      |                                                      ^~~~
tst_kernel.c:139:39: 警告:operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {或称 ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
  139 |         TEST_SPLITCON("unconfined\n", -1, false, NULL, NULL,
      |                                       ^~
tst_kernel.c:86:54: 附注:in definition of macro ‘TEST_SPLITCON’
   86 |                 size_t sz = size < 0 ? strlen(con) : size;              \
      |                                                      ^~~~
tst_kernel.c:142:39: 警告:operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {或称 ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
  142 |         TEST_SPLITCON("label (mode)", -1, true, "label", "mode",
      |                                       ^~
tst_kernel.c:86:54: 附注:in definition of macro ‘TEST_SPLITCON’
   86 |                 size_t sz = size < 0 ? strlen(con) : size;              \
      |                                                      ^~~~
tst_kernel.c:144:39: 警告:operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {或称 ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
  144 |         TEST_SPLITCON("label (mode)", -1, false, "label", "mode",
      |                                       ^~
tst_kernel.c:86:54: 附注:in definition of macro ‘TEST_SPLITCON’
   86 |                 size_t sz = size < 0 ? strlen(con) : size;              \
      |                                                      ^~~~
tst_kernel.c:146:41: 警告:operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {或称 ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
  146 |         TEST_SPLITCON("label (mode)\n", -1, true, "label", "mode",
      |                                         ^~
tst_kernel.c:86:54: 附注:in definition of macro ‘TEST_SPLITCON’
   86 |                 size_t sz = size < 0 ? strlen(con) : size;              \
      |                                                      ^~~~
tst_kernel.c:148:41: 警告:operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {或称 ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
  148 |         TEST_SPLITCON("label (mode)\n", -1, false, NULL, NULL,
      |                                         ^~
tst_kernel.c:86:54: 附注:in definition of macro ‘TEST_SPLITCON’
   86 |                 size_t sz = size < 0 ? strlen(con) : size;              \
      |                                                      ^~~~
tst_kernel.c:151:43: 警告:operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {或称 ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
  151 |         TEST_SPLITCON("/a/b/c (enforce)", -1, true, "/a/b/c", "enforce",
      |                                           ^~
tst_kernel.c:86:54: 附注:in definition of macro ‘TEST_SPLITCON’
   86 |                 size_t sz = size < 0 ? strlen(con) : size;              \
      |                                                      ^~~~
tst_kernel.c:153:43: 警告:operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {或称 ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
  153 |         TEST_SPLITCON("/a/b/c (enforce)", -1, false, "/a/b/c", "enforce",
      |                                           ^~
tst_kernel.c:86:54: 附注:in definition of macro ‘TEST_SPLITCON’
   86 |                 size_t sz = size < 0 ? strlen(con) : size;              \
      |                                                      ^~~~
tst_kernel.c:155:45: 警告:operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {或称 ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
  155 |         TEST_SPLITCON("/a/b/c (enforce)\n", -1, true, "/a/b/c", "enforce",
      |                                             ^~
tst_kernel.c:86:54: 附注:in definition of macro ‘TEST_SPLITCON’
   86 |                 size_t sz = size < 0 ? strlen(con) : size;              \
      |                                                      ^~~~
tst_kernel.c:157:45: 警告:operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {或称 ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
  157 |         TEST_SPLITCON("/a/b/c (enforce)\n", -1, false, NULL, NULL,
      |                                             ^~
tst_kernel.c:86:54: 附注:in definition of macro ‘TEST_SPLITCON’
   86 |                 size_t sz = size < 0 ? strlen(con) : size;              \
      |                                                      ^~~~
mv -f .deps/tst_kernel.Tpo .deps/tst_kernel.Po
/bin/sh ../libtool  --tag=CC   --mode=link gcc -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -pthread  -o tst_kernel tst_kernel.o .libs/libapparmor.a 
libtool: link: gcc -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -fPIC -flto-partition=none -g -O2 -o tst_kernel tst_kernel.o  .libs/libapparmor.a -pthread
make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
make  check-TESTS check-local
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
make[4]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
PASS: tst_aalogmisc
PASS: tst_features
PASS: tst_kernel
============================================================================
Testsuite summary for 
============================================================================
# TOTAL: 3
# PASS:  3
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
make[4]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
test -f ./.libs/libapparmor.so.1.12.2 || { echo '*** unexpected .so name/number for libapparmor (expected libapparmor.so.1.12.2, the actual filename is shown below) ***' ; ls -l ./.libs/libapparmor.so.*.* ; exit 1; }
make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
Making check in include
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include”
Making check in sys
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include/sys”
make[2]: 对“check”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include/sys”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include”
make[2]: 对“check-am”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include”
Making check in swig
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig”
Making check in perl
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl”
if test ! -f libapparmor_wrap.c; then cp ./libapparmor_wrap.c . ; fi
make -fMakefile.perl
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl”
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- LibAppArmor.bs blib/arch/auto/LibAppArmor/LibAppArmor.bs 644
make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl”
if test ../.. != ../.. ; then rm -f libapparmor_wrap.c ; fi
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl”
Making check in python
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python”
Making check in test
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python/test”
make  check-TESTS
make[4]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python/test”
make[5]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python/test”
cd "../../.." && \
/bin/sh ./config.status --file="swig/python/test/test_python.py"
config.status: creating swig/python/test/test_python.py
chmod +x test_python.py
PASS: test_python.py
============================================================================
Testsuite summary for 
============================================================================
# TOTAL: 1
# PASS:  1
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
make[5]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python/test”
make[4]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python/test”
make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python/test”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python”
if test ! -f libapparmor_wrap.c; then cp ./libapparmor_wrap.c . ; fi
CC="gcc" CFLAGS="-I/usr/include/python3.10 -I/usr/include/python3.10 -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough" LDSHARED="gcc -shared" LDFLAGS="-L/usr/lib  -lcrypt -ldl  -lm -lm  " /usr/bin/python3 setup.py build
running build
running build_py
running build_ext
make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python”
Making check in ruby
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/ruby”
make[2]: 对“check”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/ruby”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig”
make[2]: 对“check-am”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig”
Making check in testsuite
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite”
Making check in lib
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/lib”
make[2]: 对“check”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/lib”
Making check in config
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/config”
make[2]: 对“check”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/config”
Making check in libaalogparse.test
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/libaalogparse.test”
make[2]: 对“check”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/libaalogparse.test”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite”
make  check-DEJAGNU check-local
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite”
Making a new site.exp file ...
srcdir='.'; export srcdir; \
EXPECT=expect; export EXPECT; \
if /bin/sh -c "runtest --version" > /dev/null 2>&1; then \
  exit_status=0; l='libaalogparse'; for tool in $l; do \
    if runtest --tool $tool --srcdir $srcdir  ; \
    then :; else exit_status=1; fi; \
  done; \
else echo "WARNING: could not find 'runtest'" 1>&2; :;\
fi; \
exit $exit_status
WARNING: Couldn't find the global config file.
WARNING: Couldn't find tool init file
Test run by penghao on Mon Apr 17 11:25:57 2023
Native configuration is x86_64-pc-linux-gnu

                === libaalogparse tests ===

Schedule of variations:
    unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/config/unix.exp as tool-and-target-specific interface file.
Running /home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/libaalogparse.test/multi_test.exp ...
Running test_multi...
   ... testcase26
   ... testcase_dbus_10
   ... testcase_syslog_mkdir
   ... testcase_mqueue_03
   ... ptrace_garbage_lp1689667_1
   ... syslog_datetime_02
   ... exec02
   ... testcase21
   ... testcase_dbus_06
   ... testcase01
   ... unbalanced_parenthesis
   ... testcase09
   ... old_style_log_03
   ... testcase_dbus_09
   ... testcase_dbus_02
   ... testcase_encoded_profile
   ... syslog_audit_02
   ... old_style_log_05
   ... testcase10
   ... testcase_dbus_05
   ... avc_audit_01
   ... testcase_syslog_link_01
   ... testcase_syslog_changehat_negative_error
   ... testcase_mqueue_07
   ... ptrace_garbage_lp1689667_2
   ... syslog_audit_05
   ... testcase11
   ... testcase15
   ... testcase_network_04
   ... old_style_log_18
   ... old_style_log_09
   ... testcase_syslog_rename_src
   ... testcase08
   ... unconfined-change_hat
   ... testcase_changehat_01
   ... testcase14
   ... testcase_dmesg_changehat_negative_error
   ... testcase_mqueue_06
   ... syslog_datetime_12
   ... old_style_log_17
   ... testcase_mqueue_01
   ... avc_audit_02
   ... testcase_network_02
   ... change_onexec_lp1648143
   ... testcase33
   ... testcase32
   ... avc_audit_03
   ... old_style_log_11
   ... testcase_mount_01
   ... testcase07
   ... old_style_log_15
   ... testcase24
   ... old_style_log_16
   ... avc_audit_invalid_audit_id
   ... testcase_dmesg_mkdir
   ... testcase18
   ... syslog_datetime_08
   ... testcase_dbus_04
   ... syslog_datetime_16
   ... testcase_syslog_status_offset
   ... testcase_dmesg_link_01
   ... testcase_userns_01
   ... testcase_ouid
   ... testcase06
   ... testcase_pivotroot_01
   ... testcase_dbus_03
   ... testcase_network_01
   ... syslog_datetime_14
   ... testcase_mqueue_05
   ... testcase_network_03
   ... testcase_dbus_08
   ... testcase19
   ... syslog_datetime_11
   ... old_style_log_01
   ... syslog_datetime_03
   ... testcase_mqueue_08
   ... old_style_log_10
   ... testcase_dbus_07
   ... syslog_datetime_13
   ... syslog_datetime_15
   ... testcase_changeprofile_01
   ... avc_syslog_03
   ... syslog_other_03
   ... status-filesystem-enabled
   ... 0x1d-uppercase-FSUID-OUID
   ... syslog_other_02
   ... testcase_dmesg_truncate
   ... symlink
   ... syslog_hostname_with_dot
   ... testcase03
   ... testcase_ptrace_01
   ... testcase_dmesg_rename_src
   ... exec01
   ... syslog_datetime_07
   ... syslog_datetime_09
   ... testcase_dbus_01
   ... testcase25
   ... testcase17
   ... testcase_network_05
   ... syslog_datetime_17
   ... syslog_other_01
   ... testcase_dmesg_status_offset
   ... file_chown
   ... complex_profile_name
   ... syslog_datetime_06
   ... old_style_log_04
   ... syslog_datetime_10
   ... file_xm
   ... old_style_log_07
   ... ptrace_no_denied_mask
   ... testcase22
   ... testcase_signal_01
   ... testcase_dmesg_capability
   ... testcase04
   ... file_perm_network_lp1466812
   ... testcase_syslog_capability
   ... testcase31
   ... old_style_log_06
   ... syslog_audit_01
   ... syslog_datetime_04
   ... testcase_syslog_rename_dest
   ... testcase13
   ... old_style_log_12
   ... testcase35
   ... testcase12
   ... syslog_other_04
   ... testcase_mqueue_02
   ... testcase_dmesg_rename_dest
   ... testcase_socklogd_mkdir
   ... syslog_audit_06
   ... syslog_datetime_18
   ... avc_syslog_02
   ... testcase_network_send_receive
   ... syslog_datetime_05
   ... testcase_changeprofile_02
   ... testcase_syslog_truncate
   ... testcase16
   ... testcase_encoded_comm
   ... old_style_log_08
   ... testcase_signal_02
   ... syslog_datetime_01
   ... testcase_stack_crash
   ... testcase_syslog_read
   ... testcase_dbus_11
   ... testcase02
   ... testcase_dmesg_changeprofile_01
   ... file_inherit_network_lp1509030
   ... old_style_log_14
   ... testcase05
   ... file_perm_network_receive_lp1577051
   ... testcase_mqueue_04
   ... old_style_log_02
   ... old_style_log_13
   ... avc_syslog_01
   ... file_perm_network_receive_lp1582374

                === libaalogparse Summary ===

# of expected passes            155
make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite”
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor”
make[1]: 对“check-am”无需做任何事。make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor”

(6)安装 

运行make install命令进行安装。实际命令及结果如下所示:

$ sudo make install
Making install in doc
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/doc”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/doc”
make[2]: 对“install-exec-am”无需做任何事。 /usr/bin/mkdir -p '/usr/share/man/man2'
 /usr/bin/install -c -m 644 aa_change_hat.2 aa_change_profile.2 aa_stack_profile.2 aa_getcon.2 aa_find_mountpoint.2 aa_query_label.2 '/usr/share/man/man2'
 /usr/bin/mkdir -p '/usr/share/man/man3'
 /usr/bin/install -c -m 644 aa_splitcon.3 aa_features.3 aa_kernel_interface.3 aa_policy_cache.3 '/usr/share/man/man3'
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/doc”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/doc”
Making install in src
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
make  install-am
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
 /usr/bin/mkdir -p '/usr/lib'
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libapparmor.la '/usr/lib'
libtool: install: /usr/bin/install -c .libs/libapparmor.so.1.12.2 /usr/lib/libapparmor.so.1.12.2
libtool: install: (cd /usr/lib && { ln -s -f libapparmor.so.1.12.2 libapparmor.so.1 || { rm -f libapparmor.so.1 && ln -s libapparmor.so.1.12.2 libapparmor.so.1; }; })
libtool: install: (cd /usr/lib && { ln -s -f libapparmor.so.1.12.2 libapparmor.so || { rm -f libapparmor.so && ln -s libapparmor.so.1.12.2 libapparmor.so; }; })
libtool: install: /usr/bin/install -c .libs/libapparmor.lai /usr/lib/libapparmor.la
libtool: install: /usr/bin/install -c .libs/libapparmor.a /usr/lib/libapparmor.a
libtool: install: chmod 644 /usr/lib/libapparmor.a
libtool: install: ranlib /usr/lib/libapparmor.a
libtool: finish: PATH="/bin:/usr/ucb:/usr/bin:/usr/sbin:/sbin:/usr/etc:/etc:/sbin" ldconfig -n /usr/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
 /usr/bin/mkdir -p '/usr/lib/pkgconfig'
 /usr/bin/install -c -m 644 libapparmor.pc '/usr/lib/pkgconfig'
make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/src”
Making install in include
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include”
Making install in sys
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include/sys”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include/sys”
make[3]: 对“install-exec-am”无需做任何事。 /usr/bin/mkdir -p '/usr/include/sys'
 /usr/bin/install -c -m 644 apparmor.h apparmor_private.h '/usr/include/sys'
make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include/sys”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include/sys”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include”
make[3]: 对“install-exec-am”无需做任何事。 /usr/bin/mkdir -p '/usr/include/aalogparse'
 /usr/bin/install -c -m 644 aalogparse.h '/usr/include/aalogparse'
make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/include”
Making install in swig
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig”
Making install in perl
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl”
if test ! -f libapparmor_wrap.c; then cp ./libapparmor_wrap.c . ; fi
make -fMakefile.perl
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl”
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- LibAppArmor.bs blib/arch/auto/LibAppArmor/LibAppArmor.bs 644
make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl”
if test ../.. != ../.. ; then rm -f libapparmor_wrap.c ; fi
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl”
make -fMakefile.perl install_vendor
make[4]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl”
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- LibAppArmor.bs blib/arch/auto/LibAppArmor/LibAppArmor.bs 644
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/lib/perl5/5.36/vendor_perl/auto/LibAppArmor/LibAppArmor.so
Installing /usr/lib/perl5/5.36/vendor_perl/LibAppArmor.pm
Appending installation info to /usr/lib/perl5/5.36/core_perl/perllocal.pod
make[4]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl”
make[3]: 对“install-data-am”无需做任何事。make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/perl”
Making install in python
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python”
Making install in test
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python/test”
make[4]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python/test”
make[4]: 对“install-exec-am”无需做任何事。make[4]: 对“install-data-am”无需做任何事。make[4]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python/test”
make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python/test”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python”
if test ! -f libapparmor_wrap.c; then cp ./libapparmor_wrap.c . ; fi
CC="gcc" CFLAGS="-I/usr/include/python3.10 -I/usr/include/python3.10 -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough" LDSHARED="gcc -shared" LDFLAGS="-L/usr/lib  -lcrypt -ldl  -lm -lm  " /usr/bin/python3 setup.py build
running build
running build_py
running build_ext
make[4]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python”
/usr/bin/python3 setup.py install --root="/" --prefix="/usr"
running install
/usr/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
running build
running build_py
running build_ext
running install_lib
creating /usr/lib/python3.10/site-packages/LibAppArmor
copying build/lib.linux-x86_64-cpython-310/LibAppArmor/LibAppArmor.py -> /usr/lib/python3.10/site-packages/LibAppArmor
copying build/lib.linux-x86_64-cpython-310/LibAppArmor/_LibAppArmor.cpython-310-x86_64-linux-gnu.so -> /usr/lib/python3.10/site-packages/LibAppArmor
copying build/lib.linux-x86_64-cpython-310/LibAppArmor/__init__.py -> /usr/lib/python3.10/site-packages/LibAppArmor
creating /usr/lib/python3.10/site-packages/LibAppArmor/__pycache__
copying build/lib.linux-x86_64-cpython-310/LibAppArmor/__pycache__/__init__.cpython-310.pyc -> /usr/lib/python3.10/site-packages/LibAppArmor/__pycache__
copying build/lib.linux-x86_64-cpython-310/LibAppArmor/__pycache__/LibAppArmor.cpython-310.pyc -> /usr/lib/python3.10/site-packages/LibAppArmor/__pycache__
running install_egg_info
running egg_info
creating LibAppArmor.egg-info
writing LibAppArmor.egg-info/PKG-INFO
writing dependency_links to LibAppArmor.egg-info/dependency_links.txt
writing top-level names to LibAppArmor.egg-info/top_level.txt
writing manifest file 'LibAppArmor.egg-info/SOURCES.txt'
reading manifest file 'LibAppArmor.egg-info/SOURCES.txt'
writing manifest file 'LibAppArmor.egg-info/SOURCES.txt'
Copying LibAppArmor.egg-info to /usr/lib/python3.10/site-packages/LibAppArmor-3.1.0-py3.10.egg-info
running install_scripts
make[4]: 对“install-data-am”无需做任何事。make[4]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python”
make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/python”
Making install in ruby
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/ruby”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/ruby”
make[3]: 对“install-exec-am”无需做任何事。make[3]: 对“install-data-am”无需做任何事。make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/ruby”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig/ruby”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig”
make[3]: 对“install-exec-am”无需做任何事。make[3]: 对“install-data-am”无需做任何事。make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/swig”
Making install in testsuite
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite”
Making install in lib
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/lib”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/lib”
make[3]: 对“install-exec-am”无需做任何事。make[3]: 对“install-data-am”无需做任何事。make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/lib”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/lib”
Making install in config
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/config”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/config”
make[3]: 对“install-exec-am”无需做任何事。make[3]: 对“install-data-am”无需做任何事。make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/config”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/config”
Making install in libaalogparse.test
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/libaalogparse.test”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/libaalogparse.test”
make[3]: 对“install-exec-am”无需做任何事。make[3]: 对“install-data-am”无需做任何事。make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/libaalogparse.test”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite/libaalogparse.test”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite”
make[3]: 对“install-exec-am”无需做任何事。make[3]: 对“install-data-am”无需做任何事。make[3]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor/testsuite”
make[1]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor”
make[2]: 对“install-exec-am”无需做任何事。make[2]: 对“install-data-am”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor/libraries/libapparmor”

至此,libapparmor就构建并安装完成了。

你可能感兴趣的:(系统安全,AppArmor,AppArmor,系统安全)