cd openssl-1.1.1b ./config --prefix=/usr/local/openssl shared && make && make install mv /usr/bin/openssl /usr/bin/openssl.OFF mv /usr/include/openssl /usr/include/openssl.OFF ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/openssl/include/openssl /usr/include/openssl echo "/usr/local/openssl/lib">>/etc/ld.so.conf ldconfig cd libevent-2.1.8 ./configure --prefix=/usr/local/libevent && make && make install checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe 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 nested variables... (cached) 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 we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... gcc3 checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether it is safe to define __EXTENSIONS__... yes checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking whether ln -s works... yes checking for a sed that does not truncate output... /usr/bin/sed checking whether gcc needs -traditional... no 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 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 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 checking for mt... no checking if : 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... no 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 -m elf_x86_64) 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 for library containing inet_ntoa... none required checking for library containing socket... none required checking for library containing inet_aton... none required checking for library containing clock_gettime... none required checking for clock_gettime... yes checking for library containing sendfile... none required checking for WIN32... no checking for MIDIPIX... no checking for CYGWIN... no checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes checking for library containing inflateEnd... -lz checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for pkg-config... /usr/bin/pkg-config checking if pkg-config is at least version 0.15.0... yes checking openssl/ssl.h usability... yes checking openssl/ssl.h presence... yes checking for openssl/ssl.h... yes checking arpa/inet.h usability... yes checking arpa/inet.h presence... yes checking for arpa/inet.h... yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking ifaddrs.h usability... yes checking ifaddrs.h presence... yes checking for ifaddrs.h... yes checking mach/mach_time.h usability... no checking mach/mach_time.h presence... no checking for mach/mach_time.h... no checking netdb.h usability... yes checking netdb.h presence... yes checking for netdb.h... yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking netinet/in6.h usability... no checking netinet/in6.h presence... no checking for netinet/in6.h... no checking netinet/tcp.h usability... yes checking netinet/tcp.h presence... yes checking for netinet/tcp.h... yes checking poll.h usability... yes checking poll.h presence... yes checking for poll.h... yes checking port.h usability... no checking port.h presence... no checking for port.h... no checking stdarg.h usability... yes checking stdarg.h presence... yes checking for stdarg.h... yes checking stddef.h usability... yes checking stddef.h presence... yes checking for stddef.h... yes checking sys/devpoll.h usability... no checking sys/devpoll.h presence... no checking for sys/devpoll.h... no checking sys/epoll.h usability... yes checking sys/epoll.h presence... yes checking for sys/epoll.h... yes checking sys/event.h usability... no checking sys/event.h presence... no checking for sys/event.h... no checking sys/eventfd.h usability... yes checking sys/eventfd.h presence... yes checking for sys/eventfd.h... yes checking sys/ioctl.h usability... yes checking sys/ioctl.h presence... yes checking for sys/ioctl.h... yes checking sys/mman.h usability... yes checking sys/mman.h presence... yes checking for sys/mman.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/queue.h usability... yes checking sys/queue.h presence... yes checking for sys/queue.h... yes checking sys/resource.h usability... yes checking sys/resource.h presence... yes checking for sys/resource.h... yes checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking sys/sendfile.h usability... yes checking sys/sendfile.h presence... yes checking for sys/sendfile.h... yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking for sys/stat.h... (cached) yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking sys/timerfd.h usability... yes checking sys/timerfd.h presence... yes checking for sys/timerfd.h... yes checking sys/uio.h usability... yes checking sys/uio.h presence... yes checking for sys/uio.h... yes checking sys/wait.h usability... yes checking sys/wait.h presence... yes checking for sys/wait.h... yes checking errno.h usability... yes checking errno.h presence... yes checking for errno.h... yes checking for sys/sysctl.h... yes checking for TAILQ_FOREACH in sys/queue.h... yes checking for timeradd in sys/time.h... yes checking for timercmp in sys/time.h... yes checking for timerclear in sys/time.h... yes checking for timerisset in sys/time.h... yes checking whether CTL_KERN is declared... yes checking whether KERN_RANDOM is declared... yes checking whether RANDOM_UUID is declared... yes checking whether KERN_ARND is declared... no checking for an ANSI C-conforming const... yes checking for inline... inline checking whether time.h and sys/time.h may both be included... yes checking for accept4... yes checking for arc4random... no checking for arc4random_buf... no checking for arc4random_addrandom... no checking for eventfd... yes checking for epoll_create1... yes checking for fcntl... yes checking for getegid... yes checking for geteuid... yes checking for getifaddrs... yes checking for getnameinfo... yes checking for getprotobynumber... yes checking for gettimeofday... yes checking for inet_ntop... yes checking for inet_pton... yes checking for issetugid... no checking for mach_absolute_time... no checking for mmap... yes checking for nanosleep... yes checking for pipe... yes checking for pipe2... yes checking for putenv... yes checking for sendfile... yes checking for setenv... yes checking for setrlimit... yes checking for sigaction... yes checking for signal... yes checking for splice... yes checking for strlcpy... no checking for strsep... yes checking for strtok_r... yes checking for strtoll... yes checking for sysctl... yes checking for timerfd_create... yes checking for umask... yes checking for unsetenv... yes checking for usleep... yes checking for vasprintf... yes checking for getservbyname... yes checking for getaddrinfo... yes checking for F_SETFD in fcntl.h... yes checking for select... yes checking for poll... yes checking for epoll_ctl... yes checking for port_create... no checking for pid_t... yes checking for size_t... yes checking for ssize_t... yes checking for uint64_t... yes checking for uint32_t... yes checking for uint16_t... yes checking for uint8_t... yes checking for uintptr_t... yes checking for fd_mask... yes checking size of long long... 8 checking size of long... 8 checking size of int... 4 checking size of short... 2 checking size of size_t... 8 checking size of void *... 8 checking size of off_t... 8 checking size of time_t... 8 checking for struct in6_addr... yes checking for struct sockaddr_in6... yes checking for sa_family_t... yes checking for struct addrinfo... yes checking for struct sockaddr_storage... yes checking for struct in6_addr.s6_addr32... yes checking for struct in6_addr.s6_addr16... yes checking for struct sockaddr_in.sin_len... no checking for struct sockaddr_in6.sin6_len... no checking for struct sockaddr_storage.ss_family... yes checking for struct sockaddr_storage.__ss_family... no checking for struct linger... yes checking for socklen_t... yes checking whether our compiler supports __func__... yes checking whether our compiler supports __FUNCTION__... yes checking for the pthreads library -lpthreads... no checking whether pthreads work without any flags... no checking whether pthreads work with -Kthread... no checking whether pthreads work with -kthread... no checking for the pthreads library -llthread... no checking whether pthreads work with -pthread... yes checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE checking if more special flags are required for pthreads... no checking size of pthread_t... 8 checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating libevent.pc config.status: creating libevent_openssl.pc config.status: creating libevent_pthreads.pc config.status: creating libevent_core.pc config.status: creating libevent_extra.pc config.status: creating Makefile config.status: creating config.h config.status: creating evconfig-private.h config.status: executing depfiles commands config.status: executing libtool commands GEN test/rpcgen-attempted GEN include/event2/event-config.h make all-am make[1]: Entering directory `/usr/local/xz/libevent-2.1.9-beta' CC sample/dns-example.o CC buffer.lo CC bufferevent.lo CC bufferevent_filter.lo CC bufferevent_pair.lo CC bufferevent_ratelim.lo CC bufferevent_sock.lo CC event.lo CC evmap.lo CC evthread.lo CC evutil.lo CC evutil_rand.lo CC evutil_time.lo CC listener.lo CC log.lo CC strlcpy.lo CC select.lo CC poll.lo CC epoll.lo CC signal.lo CC evdns.lo CC event_tagging.lo CC evrpc.lo CC http.lo CCLD libevent.la CCLD sample/dns-example CC sample/event-read-fifo.o CCLD sample/event-read-fifo CC sample/hello-world.o CCLD sample/hello-world CC sample/http-server.o CCLD sample/http-server CC sample/http-connect.o CCLD sample/http-connect CC sample/signal-test.o CCLD sample/signal-test CC sample/time-test.o CCLD sample/time-test CC sample/le_proxy-le-proxy.o CC libevent_openssl_la-bufferevent_openssl.lo CCLD libevent_openssl.la CCLD sample/le-proxy sample/le_proxy-le-proxy.o: In function `main': /usr/local/xz/libevent-2.1.9-beta/sample/le-proxy.c:276: undefined reference to `TLS_method' ./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_read' ./.libs/libevent_openssl.so: undefined reference to `BIO_set_shutdown' ./.libs/libevent_openssl.so: undefined reference to `BIO_get_data' ./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_write' ./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_ctrl' ./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_create' ./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_puts' ./.libs/libevent_openssl.so: undefined reference to `BIO_get_shutdown' ./.libs/libevent_openssl.so: undefined reference to `BIO_meth_new' ./.libs/libevent_openssl.so: undefined reference to `BIO_set_init' ./.libs/libevent_openssl.so: undefined reference to `BIO_get_init' ./.libs/libevent_openssl.so: undefined reference to `BIO_meth_set_destroy' ./.libs/libevent_openssl.so: undefined reference to `BIO_set_data' collect2: error: ld returned 1 exit status make[1]: *** [sample/le-proxy] Error 1 make[1]: Leaving directory `/usr/local/xz/libevent-2.1.9-beta' make: *** [all] Error 2
如果 OpenSSL 使用 1.0.2 版本,则不会出现问题。请问如何解决(我是纯小白,请把命令写清楚)? 我也去 GITHUB 问过作者,是支持 1.1.1 的,也给出了解决方法,但是我看不懂……提问也被关闭了。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.