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
实际创建目录结构。
相关文章:
libapparmor非默认目录构建和安装
在AppArmor零知识学习五、源码构建(2)中,详细介绍了libapparmor的构建步骤,但那完全使用的是官网给出的默认参数。如果需要将目标文件生成到指定目录而非默认的/usr,则需要进行一些修改,本文就来详述如何进…...

2023-04-14 算法面试中常见的查找表问题
2023-04-14 算法面试中常见的查找表问题 1 Set的使用 LeetCode349号问题:两个数组的交集 给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 [1,2,2,1], nums2 [2,2] 输出: [2] 示例 2:输入: nums1 [4,9,5], nums2 [9,4,9,8,4] 输出:…...

从TOP25榜单,看半导体之变
据SIA报告显示,2022年全球半导体销售额创历史新高达到5740亿美元。尽管2022年下半年,半导体市场出现了周期性的低迷,但其全年的销售额相较2021年增长了3.3%。 近日,市调机构Gartner发布了全球以及中国大陆TOP25名半导体厂商的排名…...
[异常]java常见异常
Java.io.NullPointerException null 空的,不存在的NullPointer 空指针 空指针异常,该异常出现在我们操作某个对象的属性或方法时,如果该对象是null时引发。 String str null; str.length();//空指针异常 上述代码中引用类型变量str的值为…...

gpt4all保姆级使用教程! 不用联网! 本地就能跑的GPT
原文:gpt4all保姆级使用教程! 不用联网! 本地就能跑的GPT 什么是gpt4all gpt4all是在大量干净数据上训练的一个开源聊天机器人的生态系统。它不用科学上网!甚至可以不联网!本地就能用,像这样↓: 如何使用ÿ…...

AcWing语法基础班 1.1 变量、输入输出、表达式和顺序语句
预备知识 首先先来了解一下最简单的C代码。 本文的所有代码操作均在AcWing的AC Editor中 #include <iostream>using namespace std;int main(){cout << "Hello World" << endl;return 0; }然后使用编译(点击调试,再点击运…...

DC:5靶机通关详解
信息收集 漏洞发现 扫个目录 发现存在footer.php 查看,发现好像没什么用 参考他人wp得知thankyou.php会包含footer.php 可以通过传参来包含别的文件 但是我们不知道参数,这里用fuzz来跑参数 这里用wfuzz的时候报错了 解决方法如下 卸载 sudo apt --purge remove python3-pycu…...

【测试开发篇9】Junit框架
目录 一、认识Junit框架 Junit和Selenium的关系是什么 导入Junit框架common-io包 二、Junit框架的使用 2.1Junit有哪些常用注解 2.1.1Test注解 2.1.2BeforeEach 2.1.3BeforeAll 2.1.4AfterAll 2.1.5AfterEach 2.2Junit的断言 Assertions.assertEquals(期待值&#…...
《Spring MVC》 第五章 实现RESTful
前言 教授大家如何实现RESTful 1、什么是RESTful resource Representational State Transfer 的缩写,就是“表现层资源表述状态转移” 1.1、Resource(资源) web应用的文件,uri定位 1.2、Representation(资源的描…...
Last Week in Milvus
What’s New Core Updates #23353 在 2.3 版本中, milvus 和 knowhere 引擎会移除了 Annoy 索引。Annoy 索引在性能和召回率方面均不如 IVF、HNSW 等索引,维护成本比较高所以经过讨论决定在 2.3 中移出 Annoy 索引的支持,有使用的用户要注意…...

Cursor IDE一个GPT4人工智能自动程序编辑器
让我们来了解一下Cursor IDE是什么。Cursor IDE是一个新型的编程工具,可以通过它生成、编辑以及与人工智能进行交互分析代码。官方网站上的三个单词“Build Software. Fast.”(快速构建软件)以及“Write, edit, and chat about your code wit…...

PPO算法-理论篇
1. Policy Gradient 【李宏毅深度强化学习笔记】1、策略梯度方法(Policy Gradient) 李宏毅深度强化学习-B站 2. PPO PPO 算法 PPO算法更新过程如下: 初始化policy参数 θ 0 \theta^0 θ0在每一步迭代中: 使用 θ k \theta^k …...
【现货】AP6317 同步3A锂电充电芯片 带短温度保护
AP6317是一款面向5V交流适配器的3A锂 离子电池充电器。它是采用800KHz固定频率的同 步降压型转换器,因此具有高达92%以上的充电效 率,自身发热量极小。 包括完整的充电终止电路、自动再充 电和一个精确度达1%的4.2V预设充电电压,内 部集成了防…...

MyBatis详解(2)
8、自定义映射resultMap 8.1、resultMap处理字段和属性的映射关系 若字段名和实体类中的属性名不一致,则可以通过resultMap设置自定义映射 <!--resultMap:设置自定义映射属性:id:表示自定义映射的唯一标识type:查询…...

2023-04-14 使用纯JS实现一个2048小游戏
文章目录 一.实现思路1.2048的逻辑2.移动操作的过程中会有三种情况 二.代码部分:分为初始化部分和移动部分1.初始化部分1.1.生成第一个方块:1.2.生成第二个方块: 2.移动过程部分: 三.实现代码1.HTML部分2.CSS部分3.JS部分3.1.game对象的属性3.2.game对象的start方法3.3.game对象…...

C++入门(3)
C入门 1.auto关键字(C11)1.1. 类型别名的思考1.2. auto简介1.3. auto使用情景1.4. auto的使用细则1.5. auto不能推导的场景 1.auto关键字(C11) 1.1. 类型别名的思考 随着程序越来越复杂,程序中用到的类型也越来越复杂…...

【亲测有效】更新了WIN11之后 右键无 新建WORD,PPT,EXCEL 选项 问题 解决方案
原本正常的正版系统,在昨天4月自动更新安装之后,发现右键找 不到新建文档了,word,ppt,excel都不见了。 看了网上大神的方法 Win11安装了Office右键没有新建Excel选项怎么办? - 知乎 可以解决一部分 官方解决方案,亲…...

2023年4月北京/西安/郑州/深圳CDGA/CDGP数据治理认证考试报名
DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业…...

Win10桌面我的电脑怎么调出来?最简单方法教学
Win10桌面我的电脑怎么调出来?有用户发现自己的电脑桌面没有我的电脑这个程序图标,每次要访问磁盘的时候,开启都非常的麻烦。那么怎么将这个图标设置到桌面显示呢?接下来我们一起来看看以下的解决方法吧。 方法一: 在开…...

开启单细胞及空间组学行业发展黄金时代!首届国际单细胞及空间组学大会在穗闭幕
2023年4月16日,首届TICSSO国际单细胞及空间组学大会圆满闭幕,本次大会吸引了2000余位来自产、学、研、资、医、政、媒等业界人士齐聚羊城,注册总人数5398人,网络播放总量达548245人次,网络观看覆盖美国、德国、日本、澳…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...

React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...

Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...

Qwen系列之Qwen3解读:最强开源模型的细节拆解
文章目录 1.1分钟快览2.模型架构2.1.Dense模型2.2.MoE模型 3.预训练阶段3.1.数据3.2.训练3.3.评估 4.后训练阶段S1: 长链思维冷启动S2: 推理强化学习S3: 思考模式融合S4: 通用强化学习 5.全家桶中的小模型训练评估评估数据集评估细节评估效果弱智评估和民间Arena 分析展望 如果…...