Bug 218154
Summary: | sign-file.c:149:17: warning: implicit declaration of function ‘ENGINE_load_builtin_engines’ | ||
---|---|---|---|
Product: | Tools | Reporter: | Dennis Clarke (dclarke) |
Component: | Other | Assignee: | Tools.Other (tools_other) |
Status: | NEW --- | ||
Severity: | normal | ||
Priority: | P3 | ||
Hardware: | Intel | ||
OS: | Linux | ||
Kernel Version: | Subsystem: | ||
Regression: | No | Bisected commit-id: |
Description
Dennis Clarke
2023-11-16 16:34:40 UTC
A total clean extract of the kernel tarball and then make localmodconfig also fails : e# e# env | sort ADDR2LINE=/usr/local/bin/addr2line AR=/usr/local/bin/ar AS=/usr/local/bin/as CC=/usr/local/gcc13/bin/gcc CXX=/usr/local/gcc13/bin/g++ EDITOR=/usr/bin/vi ELFEDIT=/usr/local/bin/elfedit HOME=/root LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_TIME=C LDFLAGS=-rpath=/usr/local/openssl/lib -enable-new-dtags LD=/usr/local/bin/ld LOGNAME=root MAIL=/var/mail/root NM=/usr/local/bin/nm -p OBJCOPY=/usr/local/bin/objcopy OBJDUMP=/usr/local/bin/objdump OLDPWD=/usr/local/build PAGER=/bin/more PATH=/usr/local/gcc13/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin PWD=/usr/local/build/linux-6.1.62.003 RANLIB=/usr/local/bin/ranlib READELF=/usr/local/bin/readelf SHELL=/bin/bash SHLVL=1 SIZE=/usr/local/bin/size SRC=/usr/local/src STRINGS=/usr/local/bin/strings STRIP=/usr/local/bin/strip TERM=xterm TMPDIR=/var/tmp/root TZ=GMT0 USER=root _=/usr/bin/env VISUAL=/usr/bin/vi XTERM_LOCALE=en_US.UTF-8 XTERM_SHELL=/usr/bin/bash e# pwd /usr/local/build/linux-6.1.62.003 e# e# e# e# /usr/bin/time -p /usr/bin/nice -n +18 make 2>&1 | tee ../linux-6.1.62.003.make_j1.log SYNC include/config/auto.conf.cmd SYSHDR arch/x86/include/generated/uapi/asm/unistd_32.h SYSHDR arch/x86/include/generated/uapi/asm/unistd_64.h SYSHDR arch/x86/include/generated/uapi/asm/unistd_x32.h SYSTBL arch/x86/include/generated/asm/syscalls_32.h SYSHDR arch/x86/include/generated/asm/unistd_32_ia32.h SYSHDR arch/x86/include/generated/asm/unistd_64_x32.h SYSTBL arch/x86/include/generated/asm/syscalls_64.h SYSTBL arch/x86/include/generated/asm/syscalls_x32.h HYPERCALLS arch/x86/include/generated/asm/xen-hypercalls.h HOSTCC arch/x86/tools/relocs_32.o HOSTCC arch/x86/tools/relocs_64.o HOSTCC arch/x86/tools/relocs_common.o HOSTLD arch/x86/tools/relocs HOSTCC scripts/genksyms/genksyms.o YACC scripts/genksyms/parse.tab.[ch] HOSTCC scripts/genksyms/parse.tab.o LEX scripts/genksyms/lex.lex.c HOSTCC scripts/genksyms/lex.lex.o HOSTLD scripts/genksyms/genksyms HOSTCC scripts/selinux/genheaders/genheaders HOSTCC scripts/selinux/mdp/mdp HOSTCC scripts/bin2c HOSTCC scripts/kallsyms HOSTCC scripts/sorttable HOSTCC scripts/asn1_compiler HOSTCC scripts/sign-file scripts/sign-file.c: In function ‘read_private_key’: scripts/sign-file.c:149:17: warning: implicit declaration of function ‘ENGINE_load_builtin_engines’ [-Wimplicit-function-declaration] 149 | ENGINE_load_builtin_engines(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ scripts/sign-file.c:151:21: warning: implicit declaration of function ‘ENGINE_by_id’ [-Wimplicit-function-declaration] 151 | e = ENGINE_by_id("pkcs11"); | ^~~~~~~~~~~~ scripts/sign-file.c:151:19: warning: assignment to ‘ENGINE *’ {aka ‘struct engine_st *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 151 | e = ENGINE_by_id("pkcs11"); | ^ scripts/sign-file.c:153:21: warning: implicit declaration of function ‘ENGINE_init’ [-Wimplicit-function-declaration] 153 | if (ENGINE_init(e)) | ^~~~~~~~~~~ scripts/sign-file.c:158:30: warning: implicit declaration of function ‘ENGINE_ctrl_cmd_string’ [-Wimplicit-function-declaration] 158 | ERR(!ENGINE_ctrl_cmd_string(e, "PIN", key_pass, 0), | ^~~~~~~~~~~~~~~~~~~~~~ scripts/sign-file.c:114:32: note: in definition of macro ‘ERR’ 114 | bool __cond = (cond); \ | ^~~~ scripts/sign-file.c:160:31: warning: implicit declaration of function ‘ENGINE_load_private_key’ [-Wimplicit-function-declaration] 160 | private_key = ENGINE_load_private_key(e, private_key_name, | ^~~~~~~~~~~~~~~~~~~~~~~ scripts/sign-file.c:160:29: warning: assignment to ‘EVP_PKEY *’ {aka ‘struct evp_pkey_st *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 160 | private_key = ENGINE_load_private_key(e, private_key_name, | ^ /usr/local/bin/ld: /var/tmp/root/ccjWlRmg.o: in function `main': sign-file.c:(.text.startup+0x346): undefined reference to `ENGINE_load_builtin_engines' /usr/local/bin/ld: sign-file.c:(.text.startup+0x357): undefined reference to `ENGINE_by_id' /usr/local/bin/ld: sign-file.c:(.text.startup+0x37e): undefined reference to `ENGINE_init' /usr/local/bin/ld: sign-file.c:(.text.startup+0x3a8): undefined reference to `ENGINE_ctrl_cmd_string' /usr/local/bin/ld: sign-file.c:(.text.startup+0x3d3): undefined reference to `ENGINE_load_private_key' collect2: error: ld returned 1 exit status make[1]: *** [scripts/Makefile.host:111: scripts/sign-file] Error 1 make: *** [Makefile:1273: scripts] Error 2 real 6.49 user 5.60 sys 0.89 e# Using V=1 reveals not much : e# e# /usr/bin/time -p /usr/bin/nice -n +18 make V=1 2>&1 | tee ../linux-6.1.62.003.make_j1_v1.log make -f ./scripts/Makefile.build obj=arch/x86/entry/syscalls all make -f ./scripts/Makefile.build obj=scripts/basic make -f ./scripts/Makefile.build obj=arch/x86/tools relocs make -f ./scripts/Makefile.build obj=scripts/dtc make -f ./scripts/Makefile.build obj=scripts make -f ./scripts/Makefile.build obj=scripts/gcc-plugins \ need-builtin= \ need-modorder= \ make -f ./scripts/Makefile.build obj=scripts/genksyms \ need-builtin= \ need-modorder= \ make -f ./scripts/Makefile.build obj=scripts/selinux \ need-builtin= \ need-modorder= \ make -f ./scripts/Makefile.build obj=scripts/selinux/genheaders \ need-builtin= \ need-modorder= \ make -f ./scripts/Makefile.build obj=scripts/selinux/mdp \ need-builtin= \ need-modorder= \ gcc -Wp,-MMD,scripts/.sign-file.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -I/usr/local/include -o scripts/sign-file scripts/sign-file.c -L/usr/local/lib -lcrypto scripts/sign-file.c: In function ‘read_private_key’: scripts/sign-file.c:149:17: warning: implicit declaration of function ‘ENGINE_load_builtin_engines’ [-Wimplicit-function-declaration] 149 | ENGINE_load_builtin_engines(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ scripts/sign-file.c:151:21: warning: implicit declaration of function ‘ENGINE_by_id’ [-Wimplicit-function-declaration] 151 | e = ENGINE_by_id("pkcs11"); | ^~~~~~~~~~~~ scripts/sign-file.c:151:19: warning: assignment to ‘ENGINE *’ {aka ‘struct engine_st *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 151 | e = ENGINE_by_id("pkcs11"); | ^ scripts/sign-file.c:153:21: warning: implicit declaration of function ‘ENGINE_init’ [-Wimplicit-function-declaration] 153 | if (ENGINE_init(e)) | ^~~~~~~~~~~ scripts/sign-file.c:158:30: warning: implicit declaration of function ‘ENGINE_ctrl_cmd_string’ [-Wimplicit-function-declaration] 158 | ERR(!ENGINE_ctrl_cmd_string(e, "PIN", key_pass, 0), | ^~~~~~~~~~~~~~~~~~~~~~ scripts/sign-file.c:114:32: note: in definition of macro ‘ERR’ 114 | bool __cond = (cond); \ | ^~~~ scripts/sign-file.c:160:31: warning: implicit declaration of function ‘ENGINE_load_private_key’ [-Wimplicit-function-declaration] 160 | private_key = ENGINE_load_private_key(e, private_key_name, | ^~~~~~~~~~~~~~~~~~~~~~~ scripts/sign-file.c:160:29: warning: assignment to ‘EVP_PKEY *’ {aka ‘struct evp_pkey_st *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 160 | private_key = ENGINE_load_private_key(e, private_key_name, | ^ /usr/local/bin/ld: /var/tmp/root/ccKhfViI.o: in function `main': sign-file.c:(.text.startup+0x346): undefined reference to `ENGINE_load_builtin_engines' /usr/local/bin/ld: sign-file.c:(.text.startup+0x357): undefined reference to `ENGINE_by_id' /usr/local/bin/ld: sign-file.c:(.text.startup+0x37e): undefined reference to `ENGINE_init' /usr/local/bin/ld: sign-file.c:(.text.startup+0x3a8): undefined reference to `ENGINE_ctrl_cmd_string' /usr/local/bin/ld: sign-file.c:(.text.startup+0x3d3): undefined reference to `ENGINE_load_private_key' collect2: error: ld returned 1 exit status make[1]: *** [scripts/Makefile.host:111: scripts/sign-file] Error 1 make: *** [Makefile:1273: scripts] Error 2 real 0.87 user 0.68 sys 0.19 e# AH HA !!! New OpenSSL is the problem. Or rather the old old sign-file.c is the problem : e# e# cd / e# /opt/schily/bin/star -c -v -p -sparse -dump file=/root/new_openssl.star /usr/local/bin/openssl /usr/local/lib/libcrypto.a /usr/local/lib/libcrypto.so /usr/local/lib/libcrypto.so.3 /usr/local/lib/libssl.a /usr/local/lib/libssl.so /usr/local/lib/libssl.so.3 a /usr/local/bin/openssl 1908040 bytes, 3727 tape blocks a /usr/local/lib/libcrypto.a 18237188 bytes, 35620 tape blocks a /usr/local/lib/libcrypto.so symbolic link to libcrypto.so.3 a /usr/local/lib/libcrypto.so.3 11288056 bytes, 22047 tape blocks a /usr/local/lib/libssl.a 3530436 bytes, 6896 tape blocks a /usr/local/lib/libssl.so symbolic link to libssl.so.3 a /usr/local/lib/libssl.so.3 2278616 bytes, 4451 tape blocks star: 3639 blocks + 0 bytes (total of 37263360 bytes = 36390.00k). e# e# e# e# rm /usr/local/bin/openssl /usr/local/lib/libcrypto.a /usr/local/lib/libcrypto.so /usr/local/lib/libcrypto.so.3 /usr/local/lib/libssl.a /usr/local/lib/libssl.so /usr/local/lib/libssl.so.3 e# After I remove all the new OpenSSL ... then we get past the sign-file.c issue. The problem is the old old sign-file.c that needs a hug. -- Dennis Clarke RISC-V/SPARC/PPC/ARM/CISC UNIX and Linux spoken No doubt in my mind .. the old sign-file.c is borked : e# e# /usr/bin/time -p /usr/bin/nice -n +18 make V=1 2>&1 | tee ../linux-6.1.62.004.make_j1_v1.log make -f ./scripts/Makefile.build obj=arch/x86/entry/syscalls all sh ./scripts/syscallhdr.sh --abis i386 --emit-nr arch/x86/entry/syscalls/syscall_32.tbl arch/x86/include/generated/uapi/asm/unistd_32.h sh ./scripts/syscallhdr.sh --abis common,64 --emit-nr arch/x86/entry/syscalls/syscall_64.tbl arch/x86/include/generated/uapi/asm/unistd_64.h sh ./scripts/syscallhdr.sh --abis common,x32 --emit-nr --offset __X32_SYSCALL_BIT arch/x86/entry/syscalls/syscall_64.tbl arch/x86/include/generated/uapi/asm/unistd_x32.h sh ./scripts/syscalltbl.sh --abis i386 arch/x86/entry/syscalls/syscall_32.tbl arch/x86/include/generated/asm/syscalls_32.h sh ./scripts/syscallhdr.sh --abis i386 --emit-nr --prefix ia32_ arch/x86/entry/syscalls/syscall_32.tbl arch/x86/include/generated/asm/unistd_32_ia32.h sh ./scripts/syscallhdr.sh --abis x32 --emit-nr --prefix x32_ arch/x86/entry/syscalls/syscall_64.tbl arch/x86/include/generated/asm/unistd_64_x32.h sh ./scripts/syscalltbl.sh --abis common,64 arch/x86/entry/syscalls/syscall_64.tbl arch/x86/include/generated/asm/syscalls_64.h sh ./scripts/syscalltbl.sh --abis common,x32 arch/x86/entry/syscalls/syscall_64.tbl arch/x86/include/generated/asm/syscalls_x32.h sh 'scripts/xen-hypercalls.sh' arch/x86/include/generated/asm/xen-hypercalls.h include/xen/interface/xen-mca.h include/xen/interface/xen.h include/xen/interface/xenpmu.h make -f ./scripts/Makefile.build obj=scripts/basic make -f ./scripts/Makefile.build obj=arch/x86/tools relocs gcc -Wp,-MMD,arch/x86/tools/.relocs_32.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -I./tools/include -c -o arch/x86/tools/relocs_32.o arch/x86/tools/relocs_32.c gcc -Wp,-MMD,arch/x86/tools/.relocs_64.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -I./tools/include -c -o arch/x86/tools/relocs_64.o arch/x86/tools/relocs_64.c gcc -Wp,-MMD,arch/x86/tools/.relocs_common.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -I./tools/include -c -o arch/x86/tools/relocs_common.o arch/x86/tools/relocs_common.c gcc -o arch/x86/tools/relocs arch/x86/tools/relocs_32.o arch/x86/tools/relocs_64.o arch/x86/tools/relocs_common.o make -f ./scripts/Makefile.build obj=scripts/dtc make -f ./scripts/Makefile.build obj=scripts make -f ./scripts/Makefile.build obj=scripts/gcc-plugins \ need-builtin= \ need-modorder= \ g++ -Wp,-MMD,scripts/gcc-plugins/.stackleak_plugin.so.d -Wall -O2 -fPIC -include ./include/linux/compiler-version.h -DPLUGIN_VERSION='"6.1.62"' -I /usr/local/gcc13/lib/gcc/x86_64-pc-linux-gnu/13.2.0/plugin/include -I scripts/gcc-plugins -fno-rtti -fno-exceptions -fasynchronous-unwind-tables -ggdb -Wno-narrowing -Wno-unused-variable -Wno-format-diag -shared -o scripts/gcc-plugins/stackleak_plugin.so scripts/gcc-plugins/stackleak_plugin.c make -f ./scripts/Makefile.build obj=scripts/genksyms \ need-builtin= \ need-modorder= \ gcc -Wp,-MMD,scripts/genksyms/.genksyms.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -c -o scripts/genksyms/genksyms.o scripts/genksyms/genksyms.c bison --version >/dev/null; bison -o scripts/genksyms/parse.tab.c --defines=scripts/genksyms/parse.tab.h -t -l scripts/genksyms/parse.y 2>/dev/null gcc -Wp,-MMD,scripts/genksyms/.parse.tab.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -I ./scripts/genksyms -c -o scripts/genksyms/parse.tab.o scripts/genksyms/parse.tab.c flex -oscripts/genksyms/lex.lex.c -L scripts/genksyms/lex.l gcc -Wp,-MMD,scripts/genksyms/.lex.lex.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -I ./scripts/genksyms -c -o scripts/genksyms/lex.lex.o scripts/genksyms/lex.lex.c gcc -o scripts/genksyms/genksyms scripts/genksyms/genksyms.o scripts/genksyms/parse.tab.o scripts/genksyms/lex.lex.o make -f ./scripts/Makefile.build obj=scripts/selinux \ need-builtin= \ need-modorder= \ make -f ./scripts/Makefile.build obj=scripts/selinux/genheaders \ need-builtin= \ need-modorder= \ gcc -Wp,-MMD,scripts/selinux/genheaders/.genheaders.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -I./include/uapi -I./include -I./security/selinux/include -o scripts/selinux/genheaders/genheaders scripts/selinux/genheaders/genheaders.c make -f ./scripts/Makefile.build obj=scripts/selinux/mdp \ need-builtin= \ need-modorder= \ gcc -Wp,-MMD,scripts/selinux/mdp/.mdp.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -I./include/uapi -I./include -I./security/selinux/include -I./include -o scripts/selinux/mdp/mdp scripts/selinux/mdp/mdp.c gcc -Wp,-MMD,scripts/.bin2c.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -o scripts/bin2c scripts/bin2c.c gcc -Wp,-MMD,scripts/.kallsyms.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -o scripts/kallsyms scripts/kallsyms.c gcc -Wp,-MMD,scripts/.sorttable.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -I./tools/include -I./tools/arch/x86/include -DUNWINDER_ORC_ENABLED -DMCOUNT_SORT_ENABLED -o scripts/sorttable scripts/sorttable.c -lpthread gcc -Wp,-MMD,scripts/.asn1_compiler.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -I./include -o scripts/asn1_compiler scripts/asn1_compiler.c gcc -Wp,-MMD,scripts/.sign-file.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -Wdeclaration-after-statement -I/usr/local/include -o scripts/sign-file scripts/sign-file.c -L/usr/local/lib -lcrypto scripts/sign-file.c: In function ‘read_private_key’: scripts/sign-file.c:149:17: warning: implicit declaration of function ‘ENGINE_load_builtin_engines’ [-Wimplicit-function-declaration] 149 | ENGINE_load_builtin_engines(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ scripts/sign-file.c:151:21: warning: implicit declaration of function ‘ENGINE_by_id’ [-Wimplicit-function-declaration] 151 | e = ENGINE_by_id("pkcs11"); | ^~~~~~~~~~~~ scripts/sign-file.c:151:19: warning: assignment to ‘ENGINE *’ {aka ‘struct engine_st *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 151 | e = ENGINE_by_id("pkcs11"); | ^ scripts/sign-file.c:153:21: warning: implicit declaration of function ‘ENGINE_init’ [-Wimplicit-function-declaration] 153 | if (ENGINE_init(e)) | ^~~~~~~~~~~ scripts/sign-file.c:158:30: warning: implicit declaration of function ‘ENGINE_ctrl_cmd_string’ [-Wimplicit-function-declaration] 158 | ERR(!ENGINE_ctrl_cmd_string(e, "PIN", key_pass, 0), | ^~~~~~~~~~~~~~~~~~~~~~ scripts/sign-file.c:114:32: note: in definition of macro ‘ERR’ 114 | bool __cond = (cond); \ | ^~~~ scripts/sign-file.c:160:31: warning: implicit declaration of function ‘ENGINE_load_private_key’ [-Wimplicit-function-declaration] 160 | private_key = ENGINE_load_private_key(e, private_key_name, | ^~~~~~~~~~~~~~~~~~~~~~~ scripts/sign-file.c:160:29: warning: assignment to ‘EVP_PKEY *’ {aka ‘struct evp_pkey_st *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 160 | private_key = ENGINE_load_private_key(e, private_key_name, | ^ /usr/local/bin/ld: /tmp/ccVHuNbH.o: in function `main': sign-file.c:(.text.startup+0x346): undefined reference to `ENGINE_load_builtin_engines' /usr/local/bin/ld: sign-file.c:(.text.startup+0x357): undefined reference to `ENGINE_by_id' /usr/local/bin/ld: sign-file.c:(.text.startup+0x37e): undefined reference to `ENGINE_init' /usr/local/bin/ld: sign-file.c:(.text.startup+0x3a8): undefined reference to `ENGINE_ctrl_cmd_string' /usr/local/bin/ld: sign-file.c:(.text.startup+0x3d3): undefined reference to `ENGINE_load_private_key' collect2: error: ld returned 1 exit status make[1]: *** [scripts/Makefile.host:111: scripts/sign-file] Error 1 make: *** [Makefile:1273: scripts] Error 2 real 13.80 user 6.47 sys 1.00 e# |