> 文章列表 > libapparmor非默认目录构建和安装

libapparmor非默认目录构建和安装

libapparmor非默认目录构建和安装

在AppArmor零知识学习五、源码构建(2)中,详细介绍了libapparmor的构建步骤,但那完全使用的是官网给出的默认参数。如果需要将目标文件生成到指定目录而非默认的/usr,则需要进行一些修改,本文就来详述如何进行修改。

在进行libapparmor等组件的构建前,还是需要先进行环境变量配置。这一步与之前并无不同,参见:AppArmor零知识学习四、源码构建(1)

接下来,开始libapparmor自定义安装目录的构建和安装。

(1)配置

运行configure进行配置,实际命令及结果如下(注意--prefix=的参数):

$  ./configure --prefix=/usr/local --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

(2)编译

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

$ make
Making all in doc
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/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_2/apparmor/libraries/libapparmor/doc”
Making all in src
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/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_2/apparmor/libraries/libapparmor/src/grammar.y:86.1-8: 警告: POSIX Yacc does not support %defines [-Wyacc]86 | %defines| ^~~~~~~~
/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/src/grammar.y:92.1-7: 警告: POSIX Yacc does not support %define [-Wyacc]92 | %define api.pure| ^~~~~~~
/home/penghao/AppArmor/apparmor_2/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_2/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_2/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_2/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 states676/1000 DFA states (2760 words)137 rulesCompressed tables always back-up12/40 start conditions528 epsilon states, 208 double epsilon states44/100 character classes needed 560/750 words of storage, 0 reused25479 state/nextstate pairs created1628/23851 unique/duplicate transitions697/1000 base-def entries created1654/2000 (peak 2605) nxt-chk entries created189/2500 (peak 1407) template nxt-chk entries created0 empty table entries23 protos created21 templates created, 489 uses67/256 equivalence classes created9/256 meta-equivalence classes created2 (26 saved) hash collisions, 977 DFAs equal2 sets of reallocations needed5025 total table entries needed
echo '#include <netinet/in.h>' | 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_2/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/local/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_2/apparmor/libraries/libapparmor/src”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/src”
Making all in include
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include”
Making all in sys
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include/sys”
make[2]: 对“all”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include/sys”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include”
make[2]: 对“all-am”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include”
Making all in swig
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig”
Making all in perl
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/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/local MAKEFILE=Makefile.perl
Warning: -L../../src/.libs/ changed to -L/home/penghao/AppArmor/apparmor_2/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_2/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_2/apparmor/libraries/libapparmor/swig/perl/../../src/.libs -lapparmor   \\chmod 755 blib/arch/auto/LibAppArmor/LibAppArmor.so
make[3]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/perl”
if test ../.. != ../.. ; then rm -f libapparmor_wrap.c ; fi
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/perl”
Making all in python
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python”
Making all in test
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python/test”
make[3]: 对“all”无需做任何事。make[3]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python/test”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/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_2/apparmor/libraries/libapparmor/swig/python”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python”
Making all in ruby
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/ruby”
make[2]: 对“all”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/ruby”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig”
make[2]: 对“all-am”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig”
Making all in testsuite
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite”
Making all in lib
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/lib”
make[2]: 对“all”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/lib”
Making all in config
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/config”
make[2]: 对“all”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/config”
Making all in libaalogparse.test
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/libaalogparse.test”
make[2]: 对“all”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/libaalogparse.test”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/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/local/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_2/apparmor/libraries/libapparmor/src/.libs/libapparmor.so -pthread
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite”
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor”
make[1]: 对“all-am”无需做任何事。make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor”

(3)检查

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

$ make check
Making check in doc
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/doc”
make[1]: 对“check”无需做任何事。make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/doc”
Making check in src
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/src”
make  check-am
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/src”
make  tst_aalogmisc tst_features tst_kernel
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/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 here97 | 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 here97 | 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_2/apparmor/libraries/libapparmor/src”
make  check-TESTS check-local
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/src”
make[4]: 进入目录“/home/penghao/AppArmor/apparmor_2/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_2/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_2/apparmor/libraries/libapparmor/src”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/src”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/src”
Making check in include
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include”
Making check in sys
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include/sys”
make[2]: 对“check”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include/sys”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include”
make[2]: 对“check-am”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include”
Making check in swig
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig”
Making check in perl
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/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_2/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_2/apparmor/libraries/libapparmor/swig/perl”
if test ../.. != ../.. ; then rm -f libapparmor_wrap.c ; fi
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/perl”
Making check in python
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python”
Making check in test
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python/test”
make  check-TESTS
make[4]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python/test”
make[5]: 进入目录“/home/penghao/AppArmor/apparmor_2/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_2/apparmor/libraries/libapparmor/swig/python/test”
make[4]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python/test”
make[3]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python/test”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/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_2/apparmor/libraries/libapparmor/swig/python”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python”
Making check in ruby
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/ruby”
make[2]: 对“check”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/ruby”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig”
make[2]: 对“check-am”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig”
Making check in testsuite
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite”
Making check in lib
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/lib”
make[2]: 对“check”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/lib”
Making check in config
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/config”
make[2]: 对“check”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/config”
Making check in libaalogparse.test
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/libaalogparse.test”
make[2]: 对“check”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/libaalogparse.test”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite”
make  check-DEJAGNU check-local
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/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 Fri Apr 21 15:29:51 2023
Native configuration is x86_64-pc-linux-gnu=== libaalogparse tests ===Schedule of variations:unixRunning 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_2/apparmor/libraries/libapparmor/testsuite/config/unix.exp as tool-and-target-specific interface file.
Running /home/penghao/AppArmor/apparmor_2/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_2/apparmor/libraries/libapparmor/testsuite”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite”
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor”
make[1]: 对“check-am”无需做任何事。make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor”

(4)安装

运行make install命令进行安装,实际命令及结果如下(注意DESTDIR=的参数):

$ make install DESTDIR=/home/penghao/AppArmor/apparmor_2/output
Making install in doc
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/doc”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/doc”
make[2]: 对“install-exec-am”无需做任何事。 /usr/bin/mkdir -p '/home/penghao/AppArmor/apparmor_2/output/usr/local/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 '/home/penghao/AppArmor/apparmor_2/output/usr/local/share/man/man2'/usr/bin/mkdir -p '/home/penghao/AppArmor/apparmor_2/output/usr/local/share/man/man3'/usr/bin/install -c -m 644 aa_splitcon.3 aa_features.3 aa_kernel_interface.3 aa_policy_cache.3 '/home/penghao/AppArmor/apparmor_2/output/usr/local/share/man/man3'
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/doc”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/doc”
Making install in src
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/src”
make  install-am
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/src”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/src”/usr/bin/mkdir -p '/home/penghao/AppArmor/apparmor_2/output/usr/local/lib'/bin/sh ../libtool   --mode=install /usr/bin/install -c   libapparmor.la '/home/penghao/AppArmor/apparmor_2/output/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libapparmor.so.1.12.2 /home/penghao/AppArmor/apparmor_2/output/usr/local/lib/libapparmor.so.1.12.2
libtool: install: (cd /home/penghao/AppArmor/apparmor_2/output/usr/local/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 /home/penghao/AppArmor/apparmor_2/output/usr/local/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 /home/penghao/AppArmor/apparmor_2/output/usr/local/lib/libapparmor.la
libtool: install: /usr/bin/install -c .libs/libapparmor.a /home/penghao/AppArmor/apparmor_2/output/usr/local/lib/libapparmor.a
libtool: install: chmod 644 /home/penghao/AppArmor/apparmor_2/output/usr/local/lib/libapparmor.a
libtool: install: ranlib /home/penghao/AppArmor/apparmor_2/output/usr/local/lib/libapparmor.a
libtool: warning: remember to run 'libtool --finish /usr/local/lib'/usr/bin/mkdir -p '/home/penghao/AppArmor/apparmor_2/output/usr/local/lib/pkgconfig'/usr/bin/install -c -m 644 libapparmor.pc '/home/penghao/AppArmor/apparmor_2/output/usr/local/lib/pkgconfig'
make[3]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/src”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/src”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/src”
Making install in include
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include”
Making install in sys
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include/sys”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include/sys”
make[3]: 对“install-exec-am”无需做任何事。 /usr/bin/mkdir -p '/home/penghao/AppArmor/apparmor_2/output/usr/local/include/sys'/usr/bin/install -c -m 644 apparmor.h apparmor_private.h '/home/penghao/AppArmor/apparmor_2/output/usr/local/include/sys'
make[3]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include/sys”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include/sys”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include”
make[3]: 对“install-exec-am”无需做任何事。 /usr/bin/mkdir -p '/home/penghao/AppArmor/apparmor_2/output/usr/local/include/aalogparse'/usr/bin/install -c -m 644 aalogparse.h '/home/penghao/AppArmor/apparmor_2/output/usr/local/include/aalogparse'
make[3]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/include”
Making install in swig
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig”
Making install in perl
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/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_2/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_2/apparmor/libraries/libapparmor/swig/perl”
if test ../.. != ../.. ; then rm -f libapparmor_wrap.c ; fi
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/perl”
make -fMakefile.perl install_vendor
make[4]: 进入目录“/home/penghao/AppArmor/apparmor_2/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 /home/penghao/AppArmor/apparmor_2/output/usr/local/lib/perl5/5.36/vendor_perl/auto/LibAppArmor/LibAppArmor.so
Installing /home/penghao/AppArmor/apparmor_2/output/usr/local/lib/perl5/5.36/vendor_perl/LibAppArmor.pm
Appending installation info to /home/penghao/AppArmor/apparmor_2/output/usr/local/lib/perl5/5.36/core_perl/perllocal.pod
make[4]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/perl”
make[3]: 对“install-data-am”无需做任何事。make[3]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/perl”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/perl”
Making install in python
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python”
Making install in test
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python/test”
make[4]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python/test”
make[4]: 对“install-exec-am”无需做任何事。make[4]: 对“install-data-am”无需做任何事。make[4]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python/test”
make[3]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python/test”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/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_2/apparmor/libraries/libapparmor/swig/python”
/usr/bin/python3 setup.py install --root="//home/penghao/AppArmor/apparmor_2/output" --prefix="/usr/local"
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 //home/penghao/AppArmor/apparmor_2/output/usr/local/lib/python3.10
creating //home/penghao/AppArmor/apparmor_2/output/usr/local/lib/python3.10/site-packages
creating //home/penghao/AppArmor/apparmor_2/output/usr/local/lib/python3.10/site-packages/LibAppArmor
copying build/lib.linux-x86_64-cpython-310/LibAppArmor/LibAppArmor.py -> //home/penghao/AppArmor/apparmor_2/output/usr/local/lib/python3.10/site-packages/LibAppArmor
copying build/lib.linux-x86_64-cpython-310/LibAppArmor/_LibAppArmor.cpython-310-x86_64-linux-gnu.so -> //home/penghao/AppArmor/apparmor_2/output/usr/local/lib/python3.10/site-packages/LibAppArmor
copying build/lib.linux-x86_64-cpython-310/LibAppArmor/__init__.py -> //home/penghao/AppArmor/apparmor_2/output/usr/local/lib/python3.10/site-packages/LibAppArmor
creating //home/penghao/AppArmor/apparmor_2/output/usr/local/lib/python3.10/site-packages/LibAppArmor/__pycache__
copying build/lib.linux-x86_64-cpython-310/LibAppArmor/__pycache__/__init__.cpython-310.pyc -> //home/penghao/AppArmor/apparmor_2/output/usr/local/lib/python3.10/site-packages/LibAppArmor/__pycache__
copying build/lib.linux-x86_64-cpython-310/LibAppArmor/__pycache__/LibAppArmor.cpython-310.pyc -> //home/penghao/AppArmor/apparmor_2/output/usr/local/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 //home/penghao/AppArmor/apparmor_2/output/usr/local/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_2/apparmor/libraries/libapparmor/swig/python”
make[3]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/python”
Making install in ruby
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/ruby”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/ruby”
make[3]: 对“install-exec-am”无需做任何事。make[3]: 对“install-data-am”无需做任何事。make[3]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/ruby”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig/ruby”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig”
make[3]: 对“install-exec-am”无需做任何事。make[3]: 对“install-data-am”无需做任何事。make[3]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/swig”
Making install in testsuite
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite”
Making install in lib
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/lib”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/lib”
make[3]: 对“install-exec-am”无需做任何事。make[3]: 对“install-data-am”无需做任何事。make[3]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/lib”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/lib”
Making install in config
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/config”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/config”
make[3]: 对“install-exec-am”无需做任何事。make[3]: 对“install-data-am”无需做任何事。make[3]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/config”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/config”
Making install in libaalogparse.test
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/libaalogparse.test”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/libaalogparse.test”
make[3]: 对“install-exec-am”无需做任何事。make[3]: 对“install-data-am”无需做任何事。make[3]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/libaalogparse.test”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite/libaalogparse.test”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite”
make[3]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite”
make[3]: 对“install-exec-am”无需做任何事。make[3]: 对“install-data-am”无需做任何事。make[3]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite”
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor/testsuite”
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor”
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor”
make[2]: 对“install-exec-am”无需做任何事。make[2]: 对“install-data-am”无需做任何事。make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/libraries/libapparmor”

(5)查看生成内容

查看一下通过configure --prefix=/usr/local和make DESTDIR=/home/penghao/AppArmor/apparmor_2/output配置后实际的生成文件及路径: 

penghao@Ding-Perlis-MP260S48:~/AppArmor/apparmor_2/apparmor/libraries/libapparmor$ ls /home/penghao/AppArmor/apparmor_2/output/
usrpenghao@Ding-Perlis-MP260S48:~/AppArmor/apparmor_2/apparmor/libraries/libapparmor$ ls /home/penghao/AppArmor/apparmor_2/output/usr/
localpenghao@Ding-Perlis-MP260S48:~/AppArmor/apparmor_2/apparmor/libraries/libapparmor$ ls /home/penghao/AppArmor/apparmor_2/output/usr/local/
include  lib  sharepenghao@Ding-Perlis-MP260S48:~/AppArmor/apparmor_2/apparmor/libraries/libapparmor$ tree /home/penghao/AppArmor/apparmor_2/output/
/home/penghao/AppArmor/apparmor_2/output/
└── usr└── local├── include│   ├── aalogparse│   │   └── aalogparse.h│   └── sys│       ├── apparmor.h│       └── apparmor_private.h├── lib│   ├── libapparmor.a│   ├── libapparmor.la│   ├── libapparmor.so -> libapparmor.so.1.12.2│   ├── libapparmor.so.1 -> libapparmor.so.1.12.2│   ├── libapparmor.so.1.12.2│   ├── perl5│   │   └── 5.36│   │       ├── core_perl│   │       │   └── perllocal.pod│   │       └── vendor_perl│   │           ├── auto│   │           │   └── LibAppArmor│   │           │       └── LibAppArmor.so│   │           └── LibAppArmor.pm│   ├── pkgconfig│   │   └── libapparmor.pc│   └── python3.10│       └── site-packages│           ├── LibAppArmor│           │   ├── __init__.py│           │   ├── _LibAppArmor.cpython-310-x86_64-linux-gnu.so│           │   ├── LibAppArmor.py│           │   └── __pycache__│           │       ├── __init__.cpython-310.pyc│           │       └── LibAppArmor.cpython-310.pyc│           └── LibAppArmor-3.1.0-py3.10.egg-info│               ├── dependency_links.txt│               ├── PKG-INFO│               ├── SOURCES.txt│               └── top_level.txt└── share└── man├── man2│   ├── aa_change_hat.2│   ├── aa_change_profile.2│   ├── aa_find_mountpoint.2│   ├── aa_getcon.2│   ├── aa_query_label.2│   └── aa_stack_profile.2└── man3├── aa_features.3├── aa_kernel_interface.3├── aa_policy_cache.3└── aa_splitcon.322 directories, 31 files

在这里科普一下--prefix=选项和DESTDIR=的作用。参见以下博客:

make的DESTDIR和PREFIX

  • ./configure --prefix=***

决定了程序包在安装时的运行位置以及运行时将在何处查找其关联文件。如果您只是编译要在单个主机上使用的东西,那么应该使用它。

  • make install DESTDIR=***

用于安装到一个临时目录,而不是从中运行该软件包。例如,在构建deb软件包时使用它。构建软件包的人实际上并没有将所有内容安装到自己系统上的最终位置。他可能已经安装了其他版本,不想打扰它,甚至可能不是root用户。所以他用

./configure --prefix=/usr

因此该程序有望在/usr运行时安装在其中,然后

make install DESTDIR=debian/tmp

实际创建目录结构。

洞口生活网