Hi, I have attached this file, please check it out.
------------------------------------------------------- > Hi, > > Your boringssl paths look ok. > > What's in objs/autoconf.err ? > > > On 20 Feb 2024, at 12:29, Jinze YANG <rttw...@gmail.com> wrote: > > > > Hello, > > As you can see, boringssl's libcrypto.a and libssl.a are in two > separate directories, as shown below: > > root@VM-8-12-debian ~/boringssl/build # ls > > bssl CMakeCache.txt cmake_install.cmake crypto_test decrepit > embed_test_data_args.txt libpki.a pki_test ssl_test urandom_test > > build.ninja CMakeFiles crypto crypto_test_data.cc decrepit_test > libboringssl_gtest.a libtest_support_lib.a ssl tool util > > root@VM-8-12-debian ~/boringssl/build # cd crypto > > root@VM-8-12-debian ~/boringssl/build/crypto # ls > > chacha cipher_extra CMakeFiles cmake_install.cmake crypto_test > err_data.c fipsmodule libcrypto.a test urandom_test > > root@VM-8-12-debian ~/boringssl/build/crypto # cd .. > > root@VM-8-12-debian ~/boringssl/build # cd ssl > > root@VM-8-12-debian ~/boringssl/build/ssl # ls > > CMakeFiles cmake_install.cmake libssl.a ssl_test test > > > > I tried using absolute paths and adding > -Wl,-rpath=/root/boringssl/build/ssl > -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags but > this Doesn't play any role. > > > > -- > > Best Regards, > > Jinze Yang > > > > ------------------------------------------------------- > > > On Tue, Feb 20, 2024 at 12:23 AM 杨金泽 <rttw...@gmail.com > <mailto:rttw...@gmail.com>> wrote: > > > > > > > > I encountered the following error when using boringssl to build > > > Nginx: > > > > checking for OpenSSL library ... not found > > > > checking for OpenSSL library in /usr/local/ ... not found > > > > checking for OpenSSL library in /usr/pkg/ ... not found > > > > checking for OpenSSL library in /opt/local/ ... not found > > > > ./auto/configure: error: SSL modules require the OpenSSL > library. > > > > You can either do not enable the modules, or install the OpenSSL > > > library > > > > into the system, or build the OpenSSL library statically from > the > > > source > > > > with nginx by using --with-openssl=<path> option. > > > > > > > > At first I thought it was caused by openssl not existing, but > when I > > > ran openssl version -a, everything was normal: > > > > root@iZ2hmeokcpbj42Z ~/nginx # openssl version -a > > > > OpenSSL 3.0.11 19 Sep 2023 (Library: OpenSSL 3.0.11 19 Sep 2023) > > > > built on: Mon Oct 23 17:52:22 2023 UTC > > > > platform: debian-amd64 > > > > options: bn(64,64) > > > > compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall > > > -fzero-call-used-regs=used-gpr -DOPENSSL_TLS_SECURITY_LEVEL=2 > > > -Wa,--noexecstack -g -O2 -ffile-prefix-map= > > > /build/reproducible-path/openssl-3.0.11=. -fstack-protector-strong > > > -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN > > > -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time > > > -D_FORTIFY_SOURCE=2 > > > > OPENSSLDIR: "/usr/lib/ssl" > > > > ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-3" > > > > MODULESDIR: "/usr/lib/x86_64-linux-gnu/ossl-modules" > > > > Seeding source: os-specific > > > > CPUINFO: OPENSSL_ia32cap=0xfffa32035f8bffff:0xd01e4fbb > > > > > > > > Later my friend and I discovered that the latest boringssl > > > compatible OpenSSL version seems to have been upgraded to 3.2.x, > but I > > > am not sure if this is the problem. The final solution was to > switch > > > to https://github.com/google/boringssl > > > /commit/c39e6cd9ec5acebb6de2adffc03cfe03b07f08ab this commit.But I > > > don't think switching to a previous commit to build is a perfect > > > solution, so I'd like to ask for some help. > > > > > > > > My build steps are as follows: > > > > apt update > > > > apt install build-essential ca-certificates zlib1g-dev libpcre3 > > > libpcre3-dev tar unzip libssl-dev wget curl git cmake ninja-build > > > mercurial libunwind-dev pkg-config > > > > > > > > git clone https://github.com/google/boringssl.git > > > > cd boringssl > > > > mkdir build > > > > cd build > > > > cmake -GNinja .. > > > > ninja > > > > cd ../.. > > > > > > > > git clone --recurse-submodules -j8 > > > https://github.com/google/ngx_brotli > > > > cd ngx_brotli/deps/brotli > > > > mkdir out && cd out > > > > cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF > > > -DCMAKE_C_FLAGS="-Ofast -m64 -march=native -mtune=native -flto > > > -funroll-loops -ffunction-sections -fdata-sections > -Wl,--gc-sections" > > > -DCMAKE_CXX_FLAGS ="-Ofast -m64 -march=native -mtune=native -flto > > > -funroll-loops -ffunction-sections -fdata-sections > -Wl,--gc-sections" > > > -DCMAKE_INSTALL_PREFIX=./installed .. > > > > cmake --build . --config Release --target brotlienc > > > > cd ../../../.. > > > > > > > > hg clone https://hg.nginx.org/nginx > > > > cd nginx > > > > ./auto/configure --user=www --group=www > --prefix=/www/server/nginx > > > --with-pcre --add-module=/root/ngx_brotli --with-http_v2_module > > > --with-stream --with-stream_ssl_module --with-http_ssl_module > > > --with-http_gzip_static_module --with-http_gunzip_module > > > --with-http_sub_module --with-http_flv_module > > > --with-http_addition_module --with-http_realip_module > > > --with-http_mp4_module --with-ld -opt=-Wl,-E > --with-cc-opt=-Wno-error > > > --with-ld-opt=-ljemalloc --with-http_dav_module > --with-http_v3_module > > > --with-cc-opt=-I ../boringssl/include > > > --with-ld-opt='-L../boringssl/build/ssl > -L../boringssl/build/crypto' > > > > make > > > > make install > > > > > > > > System information: > > > > checking for OS > > > > + Linux 6.1.0-18-amd64 x86_64 > > > > checking for C compiler ... found > > > > + using GNU C compiler > > > > + gcc version: 12.2.0 (Debian 12.2.0-14) > > > > > > This does not look correct to me, based on my knowledge of > OpenSSL. (I > > > don't have experience with BoringSSL): > > > > > > --with-ld-opt='-L../boringssl/build/ssl > > > -L../boringssl/build/crypto' > > > > > > You are trying to link two OpenSSL-compatible libraries. They are > > > libcrypto.{a|so}, and libssl.{a|so}. Those artifacts are usually > > > placed in a lib/ directory, not in separate ssl/ and crypto/ > > > directories. (Two separate directories may be a BoringSSL-ism). > > > > > > So I believe the proper flag would be similar to: > > > > > > --with-ld-opt='-L../boringssl/build/lib > > > > > > You should also consider using the the following option so the > library > > > used at runtime is the same library used at compile and link time: > > > > > > -Wl,-rpath=../boringssl/build/lib -Wl,--enable-new-dtags > > > > > > But you should change ../boringssl/build/lib to the full path, and > not > > > use the relative path. > > > > > > Also see > > > > <https://wiki.openssl.org/index.php/Compilation_and_Installation#Using > > > _RPATHs> > > > or the BoringSSL equivalent document. > > > > > > Jeff > > > _______________________________________________ > > > nginx mailing list > > > nginx@nginx.org <mailto:nginx@nginx.org> > > > https://mailman.nginx.org/mailman/listinfo/nginx > > _______________________________________________ > > nginx mailing list > > nginx@nginx.org > > https://mailman.nginx.org/mailman/listinfo/nginx > > ---- > Roman Arutyunyan > a...@nginx.com > > > > > _______________________________________________ > nginx mailing list > nginx@nginx.org > https://mailman.nginx.org/mailman/listinfo/nginx -- Best Regards, Jinze Yang
---------------------------------------- checking for C compiler ---------------------------------------- checking for gcc -pipe switch ---------------------------------------- checking for --with-ld-opt="-L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags" ---------------------------------------- checking for -Wl,-E switch ---------------------------------------- checking for gcc builtin atomic operations ---------------------------------------- checking for C99 variadic macros ---------------------------------------- checking for gcc variadic macros ---------------------------------------- checking for gcc builtin 64 bit byteswap ---------------------------------------- checking for unistd.h ---------------------------------------- checking for inttypes.h ---------------------------------------- checking for limits.h ---------------------------------------- checking for sys/filio.h objs/autotest.c:3:10: fatal error: sys/filio.h: No such file or directory 3 | #include <sys/filio.h> | ^~~~~~~~~~~~~ compilation terminated. ---------- #include <sys/filio.h> int main(void) { return 0; } ---------- cc -o objs/autotest objs/autotest.c ---------- ---------------------------------------- checking for sys/param.h ---------------------------------------- checking for sys/mount.h ---------------------------------------- checking for sys/statvfs.h ---------------------------------------- checking for crypt.h ---------------------------------------- checking for epoll ---------------------------------------- checking for EPOLLRDHUP ---------------------------------------- checking for EPOLLEXCLUSIVE ---------------------------------------- checking for eventfd() ---------------------------------------- checking for O_PATH ---------------------------------------- checking for sendfile() ---------------------------------------- checking for sendfile64() ---------------------------------------- checking for sys/prctl.h ---------------------------------------- checking for prctl(PR_SET_DUMPABLE) ---------------------------------------- checking for prctl(PR_SET_KEEPCAPS) ---------------------------------------- checking for capabilities ---------------------------------------- checking for crypt_r() ---------------------------------------- checking for sys/vfs.h ---------------------------------------- checking for BPF sockhash ---------------------------------------- checking for SO_COOKIE ---------------------------------------- checking for UDP_SEGMENT ---------------------------------------- checking for poll() ---------------------------------------- checking for /dev/poll objs/autotest.c:4:10: fatal error: sys/devpoll.h: No such file or directory 4 | #include <sys/devpoll.h> | ^~~~~~~~~~~~~~~ compilation terminated. ---------- #include <sys/types.h> #include <unistd.h> #include <sys/devpoll.h> int main(void) { int n, dp; struct dvpoll dvp; dp = 0; dvp.dp_fds = NULL; dvp.dp_nfds = 0; dvp.dp_timeout = 0; n = ioctl(dp, DP_POLL, &dvp); if (n == -1) return 1; return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags ---------- ---------------------------------------- checking for kqueue objs/autotest.c:4:10: fatal error: sys/event.h: No such file or directory 4 | #include <sys/event.h> | ^~~~~~~~~~~~~ compilation terminated. ---------- #include <sys/types.h> #include <unistd.h> #include <sys/event.h> int main(void) { (void) kqueue(); return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags ---------- ---------------------------------------- checking for crypt() /usr/bin/ld: /tmp/ccYR4UY1.o: in function `main': autotest.c:(.text+0x19): undefined reference to `crypt' collect2: error: ld returned 1 exit status ---------- #include <sys/types.h> #include <unistd.h> int main(void) { crypt("test", "salt");; return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags ---------- ---------------------------------------- checking for crypt() in libcrypt ---------------------------------------- checking for F_READAHEAD objs/autotest.c: In function 'main': objs/autotest.c:7:14: error: 'F_READAHEAD' undeclared (first use in this function) 7 | fcntl(0, F_READAHEAD, 1);; | ^~~~~~~~~~~ objs/autotest.c:7:14: note: each undeclared identifier is reported only once for each function it appears in ---------- #include <sys/types.h> #include <unistd.h> #include <fcntl.h> int main(void) { fcntl(0, F_READAHEAD, 1);; return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags ---------- ---------------------------------------- checking for posix_fadvise() ---------------------------------------- checking for O_DIRECT ---------------------------------------- checking for F_NOCACHE objs/autotest.c: In function 'main': objs/autotest.c:7:14: error: 'F_NOCACHE' undeclared (first use in this function) 7 | fcntl(0, F_NOCACHE, 1);; | ^~~~~~~~~ objs/autotest.c:7:14: note: each undeclared identifier is reported only once for each function it appears in ---------- #include <sys/types.h> #include <unistd.h> #include <fcntl.h> int main(void) { fcntl(0, F_NOCACHE, 1);; return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags ---------- ---------------------------------------- checking for directio() objs/autotest.c: In function 'main': objs/autotest.c:8:5: warning: implicit declaration of function 'directio' [-Wimplicit-function-declaration] 8 | directio(0, DIRECTIO_ON);; | ^~~~~~~~ objs/autotest.c:8:17: error: 'DIRECTIO_ON' undeclared (first use in this function) 8 | directio(0, DIRECTIO_ON);; | ^~~~~~~~~~~ objs/autotest.c:8:17: note: each undeclared identifier is reported only once for each function it appears in ---------- #include <sys/types.h> #include <unistd.h> #include <sys/types.h> #include <sys/fcntl.h> int main(void) { directio(0, DIRECTIO_ON);; return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags ---------- ---------------------------------------- checking for statfs() ---------------------------------------- checking for statvfs() ---------------------------------------- checking for dlopen() ---------------------------------------- checking for sched_yield() ---------------------------------------- checking for sched_setaffinity() ---------------------------------------- checking for SO_SETFIB objs/autotest.c: In function 'main': objs/autotest.c:7:31: error: 'SO_SETFIB' undeclared (first use in this function) 7 | setsockopt(0, SOL_SOCKET, SO_SETFIB, NULL, 0); | ^~~~~~~~~ objs/autotest.c:7:31: note: each undeclared identifier is reported only once for each function it appears in ---------- #include <sys/types.h> #include <unistd.h> #include <sys/socket.h> int main(void) { setsockopt(0, SOL_SOCKET, SO_SETFIB, NULL, 0); return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags ---------- ---------------------------------------- checking for SO_REUSEPORT ---------------------------------------- checking for SO_ACCEPTFILTER objs/autotest.c: In function 'main': objs/autotest.c:7:31: error: 'SO_ACCEPTFILTER' undeclared (first use in this function); did you mean 'SO_LOCK_FILTER'? 7 | setsockopt(0, SOL_SOCKET, SO_ACCEPTFILTER, NULL, 0); | ^~~~~~~~~~~~~~~ | SO_LOCK_FILTER objs/autotest.c:7:31: note: each undeclared identifier is reported only once for each function it appears in ---------- #include <sys/types.h> #include <unistd.h> #include <sys/socket.h> int main(void) { setsockopt(0, SOL_SOCKET, SO_ACCEPTFILTER, NULL, 0); return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags ---------- ---------------------------------------- checking for SO_BINDANY objs/autotest.c: In function 'main': objs/autotest.c:7:31: error: 'SO_BINDANY' undeclared (first use in this function) 7 | setsockopt(0, SOL_SOCKET, SO_BINDANY, NULL, 0); | ^~~~~~~~~~ objs/autotest.c:7:31: note: each undeclared identifier is reported only once for each function it appears in ---------- #include <sys/types.h> #include <unistd.h> #include <sys/socket.h> int main(void) { setsockopt(0, SOL_SOCKET, SO_BINDANY, NULL, 0); return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags ---------- ---------------------------------------- checking for IP_TRANSPARENT ---------------------------------------- checking for IP_BINDANY objs/autotest.c: In function 'main': objs/autotest.c:8:31: error: 'IP_BINDANY' undeclared (first use in this function) 8 | setsockopt(0, IPPROTO_IP, IP_BINDANY, NULL, 0); | ^~~~~~~~~~ objs/autotest.c:8:31: note: each undeclared identifier is reported only once for each function it appears in ---------- #include <sys/types.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> int main(void) { setsockopt(0, IPPROTO_IP, IP_BINDANY, NULL, 0); return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags ---------- ---------------------------------------- checking for IP_BIND_ADDRESS_NO_PORT ---------------------------------------- checking for IP_RECVDSTADDR objs/autotest.c: In function 'main': objs/autotest.c:8:31: error: 'IP_RECVDSTADDR' undeclared (first use in this function); did you mean 'IP_ORIGDSTADDR'? 8 | setsockopt(0, IPPROTO_IP, IP_RECVDSTADDR, NULL, 0); | ^~~~~~~~~~~~~~ | IP_ORIGDSTADDR objs/autotest.c:8:31: note: each undeclared identifier is reported only once for each function it appears in ---------- #include <sys/types.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> int main(void) { setsockopt(0, IPPROTO_IP, IP_RECVDSTADDR, NULL, 0); return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags ---------- ---------------------------------------- checking for IP_SENDSRCADDR objs/autotest.c: In function 'main': objs/autotest.c:8:31: error: 'IP_SENDSRCADDR' undeclared (first use in this function) 8 | setsockopt(0, IPPROTO_IP, IP_SENDSRCADDR, NULL, 0); | ^~~~~~~~~~~~~~ objs/autotest.c:8:31: note: each undeclared identifier is reported only once for each function it appears in ---------- #include <sys/types.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> int main(void) { setsockopt(0, IPPROTO_IP, IP_SENDSRCADDR, NULL, 0); return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags ---------- ---------------------------------------- checking for IP_PKTINFO ---------------------------------------- checking for IPV6_RECVPKTINFO ---------------------------------------- checking for IP_MTU_DISCOVER ---------------------------------------- checking for IPV6_MTU_DISCOVER ---------------------------------------- checking for IP_DONTFRAG objs/autotest.c: In function 'main': objs/autotest.c:8:31: error: 'IP_DONTFRAG' undeclared (first use in this function); did you mean 'IPV6_DONTFRAG'? 8 | setsockopt(0, IPPROTO_IP, IP_DONTFRAG, NULL, 0); | ^~~~~~~~~~~ | IPV6_DONTFRAG objs/autotest.c:8:31: note: each undeclared identifier is reported only once for each function it appears in ---------- #include <sys/types.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> int main(void) { setsockopt(0, IPPROTO_IP, IP_DONTFRAG, NULL, 0); return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags ---------- ---------------------------------------- checking for IPV6_DONTFRAG ---------------------------------------- checking for TCP_DEFER_ACCEPT ---------------------------------------- checking for TCP_KEEPIDLE ---------------------------------------- checking for TCP_FASTOPEN ---------------------------------------- checking for TCP_INFO ---------------------------------------- checking for accept4() ---------------------------------------- checking for int size ---------------------------------------- checking for long size ---------------------------------------- checking for long long size ---------------------------------------- checking for void * size ---------------------------------------- checking for uint32_t ---------------------------------------- checking for uint64_t ---------------------------------------- checking for sig_atomic_t ---------------------------------------- checking for sig_atomic_t size ---------------------------------------- checking for socklen_t ---------------------------------------- checking for in_addr_t ---------------------------------------- checking for in_port_t ---------------------------------------- checking for rlim_t ---------------------------------------- checking for uintptr_t ---------------------------------------- checking for system byte ordering ---------------------------------------- checking for size_t size ---------------------------------------- checking for off_t size ---------------------------------------- checking for time_t size ---------------------------------------- checking for AF_INET6 ---------------------------------------- checking for setproctitle() objs/autotest.c: In function 'main': objs/autotest.c:7:5: warning: implicit declaration of function 'setproctitle' [-Wimplicit-function-declaration] 7 | setproctitle("test");; | ^~~~~~~~~~~~ /usr/bin/ld: /tmp/ccfGBZko.o: in function `main': autotest.c:(.text+0x14): undefined reference to `setproctitle' collect2: error: ld returned 1 exit status ---------- #include <sys/types.h> #include <unistd.h> #include <stdlib.h> int main(void) { setproctitle("test");; return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags ---------- ---------------------------------------- checking for pread() ---------------------------------------- checking for pwrite() ---------------------------------------- checking for pwritev() ---------------------------------------- checking for strerrordesc_np() objs/autotest.c: In function 'main': objs/autotest.c:7:16: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 7 | char *p; p = strerrordesc_np(0); | ^ ---------------------------------------- checking for localtime_r() ---------------------------------------- checking for clock_gettime(CLOCK_MONOTONIC) ---------------------------------------- checking for posix_memalign() ---------------------------------------- checking for memalign() ---------------------------------------- checking for mmap(MAP_ANON|MAP_SHARED) ---------------------------------------- checking for mmap("/dev/zero", MAP_SHARED) ---------------------------------------- checking for System V shared memory ---------------------------------------- checking for POSIX semaphores ---------------------------------------- checking for struct msghdr.msg_control ---------------------------------------- checking for ioctl(FIONBIO) ---------------------------------------- checking for ioctl(FIONREAD) ---------------------------------------- checking for struct tm.tm_gmtoff ---------------------------------------- checking for struct dirent.d_namlen objs/autotest.c: In function 'main': objs/autotest.c:8:29: error: 'struct dirent' has no member named 'd_namlen'; did you mean 'd_name'? 8 | struct dirent dir; dir.d_namlen = 0; | ^~~~~~~~ | d_name objs/autotest.c:9:42: error: 'struct dirent' has no member named 'd_namlen'; did you mean 'd_name'? 9 | printf("%d", (int) dir.d_namlen); | ^~~~~~~~ | d_name ---------- #include <sys/types.h> #include <unistd.h> #include <dirent.h> #include <stdio.h> int main(void) { struct dirent dir; dir.d_namlen = 0; printf("%d", (int) dir.d_namlen); return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags ---------- ---------------------------------------- checking for struct dirent.d_type ---------------------------------------- checking for sysconf(_SC_NPROCESSORS_ONLN) ---------------------------------------- checking for sysconf(_SC_LEVEL1_DCACHE_LINESIZE) ---------------------------------------- checking for openat(), fstatat() ---------------------------------------- checking for getaddrinfo() ---------------------------------------- checking for PCRE2 library objs/autotest.c:5:36: fatal error: pcre2.h: No such file or directory 5 | #include <pcre2.h> | ^~~~~~~~~ compilation terminated. ---------- #include <sys/types.h> #include <unistd.h> #define PCRE2_CODE_UNIT_WIDTH 8 #include <pcre2.h> int main(void) { pcre2_code *re; re = pcre2_compile(NULL, 0, 0, NULL, NULL, NULL); if (re == NULL) return 1; return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags -lpcre2-8 ---------- ---------------------------------------- checking for PCRE library ---------------------------------------- checking for PCRE JIT support ---------------------------------------- checking for OpenSSL library /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_lib.cc.o):(.data.rel.local.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to `__gxx_personality_v0' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o): in function `bssl::(anonymous namespace)::ECKeyShare::~ECKeyShare()': /root/boringssl/ssl/ssl_key_share.cc:41: undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o): in function `bssl::(anonymous namespace)::X25519KeyShare::~X25519KeyShare()': /root/boringssl/ssl/ssl_key_share.cc:138: undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o): in function `bssl::(anonymous namespace)::X25519Kyber768KeyShare::~X25519Kyber768KeyShare()': /root/boringssl/ssl/ssl_key_share.cc:194: undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o): in function `bssl::SSLKeyShare::~SSLKeyShare()': /root/boringssl/ssl/internal.h:1082: undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o):(.data.rel.ro+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o):(.data.rel.ro+0x18): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o):(.data.rel.ro+0x30): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o):(.data.rel.ro._ZTIN4bssl11SSLKeyShareE[_ZTIN4bssl11SSLKeyShareE]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info' collect2: error: ld returned 1 exit status ---------- #include <sys/types.h> #include <unistd.h> #include <openssl/ssl.h> int main(void) { SSL_CTX_set_options(NULL, 0); return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags -lssl -lcrypto ---------- ---------------------------------------- checking for OpenSSL library in /usr/local/ /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_lib.cc.o):(.data.rel.local.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to `__gxx_personality_v0' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o): in function `bssl::(anonymous namespace)::ECKeyShare::~ECKeyShare()': /root/boringssl/ssl/ssl_key_share.cc:41: undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o): in function `bssl::(anonymous namespace)::X25519KeyShare::~X25519KeyShare()': /root/boringssl/ssl/ssl_key_share.cc:138: undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o): in function `bssl::(anonymous namespace)::X25519Kyber768KeyShare::~X25519Kyber768KeyShare()': /root/boringssl/ssl/ssl_key_share.cc:194: undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o): in function `bssl::SSLKeyShare::~SSLKeyShare()': /root/boringssl/ssl/internal.h:1082: undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o):(.data.rel.ro+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o):(.data.rel.ro+0x18): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o):(.data.rel.ro+0x30): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o):(.data.rel.ro._ZTIN4bssl11SSLKeyShareE[_ZTIN4bssl11SSLKeyShareE]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info' collect2: error: ld returned 1 exit status ---------- #include <sys/types.h> #include <unistd.h> #include <openssl/ssl.h> int main(void) { SSL_CTX_set_options(NULL, 0); return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I /usr/local/include -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags -L/usr/local/lib -lssl -lcrypto ---------- ---------------------------------------- checking for OpenSSL library in /usr/pkg/ /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_lib.cc.o):(.data.rel.local.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to `__gxx_personality_v0' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o): in function `bssl::(anonymous namespace)::ECKeyShare::~ECKeyShare()': /root/boringssl/ssl/ssl_key_share.cc:41: undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o): in function `bssl::(anonymous namespace)::X25519KeyShare::~X25519KeyShare()': /root/boringssl/ssl/ssl_key_share.cc:138: undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o): in function `bssl::(anonymous namespace)::X25519Kyber768KeyShare::~X25519Kyber768KeyShare()': /root/boringssl/ssl/ssl_key_share.cc:194: undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o): in function `bssl::SSLKeyShare::~SSLKeyShare()': /root/boringssl/ssl/internal.h:1082: undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o):(.data.rel.ro+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o):(.data.rel.ro+0x18): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o):(.data.rel.ro+0x30): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o):(.data.rel.ro._ZTIN4bssl11SSLKeyShareE[_ZTIN4bssl11SSLKeyShareE]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info' collect2: error: ld returned 1 exit status ---------- #include <sys/types.h> #include <unistd.h> #include <openssl/ssl.h> int main(void) { SSL_CTX_set_options(NULL, 0); return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I /usr/pkg/include -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags -L/usr/pkg/lib -lssl -lcrypto ---------- ---------------------------------------- checking for OpenSSL library in /opt/local/ /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_lib.cc.o):(.data.rel.local.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to `__gxx_personality_v0' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o): in function `bssl::(anonymous namespace)::ECKeyShare::~ECKeyShare()': /root/boringssl/ssl/ssl_key_share.cc:41: undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o): in function `bssl::(anonymous namespace)::X25519KeyShare::~X25519KeyShare()': /root/boringssl/ssl/ssl_key_share.cc:138: undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o): in function `bssl::(anonymous namespace)::X25519Kyber768KeyShare::~X25519Kyber768KeyShare()': /root/boringssl/ssl/ssl_key_share.cc:194: undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o): in function `bssl::SSLKeyShare::~SSLKeyShare()': /root/boringssl/ssl/internal.h:1082: undefined reference to `operator delete(void*, unsigned long)' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o):(.data.rel.ro+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o):(.data.rel.ro+0x18): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o):(.data.rel.ro+0x30): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /usr/bin/ld: /root/boringssl/build/ssl/libssl.a(ssl_key_share.cc.o):(.data.rel.ro._ZTIN4bssl11SSLKeyShareE[_ZTIN4bssl11SSLKeyShareE]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info' collect2: error: ld returned 1 exit status ---------- #include <sys/types.h> #include <unistd.h> #include <openssl/ssl.h> int main(void) { SSL_CTX_set_options(NULL, 0); return 0; } ---------- cc -I/root/boringssl/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I /opt/local/include -o objs/autotest objs/autotest.c -L/root/boringssl/build/ssl -L/root/boringssl/build/crypto -Wl,-rpath=/root/boringssl/build/ssl -Wl,-rpath=/root/boringssl/build/crypto -Wl,--enable-new-dtags -L/opt/local/lib -lssl -lcrypto ----------
_______________________________________________ nginx mailing list nginx@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx