cisco/joy

Errors compiling the latest version of joy

stevepp opened this issue · 0 comments

When compiling the latest version of joy, I am seeting similar errors as #121 . My OS is Ubuntu 16.04 and my OpenSSL version is 1.0.2l. I have ran the config script before the building and the necessary packages are in place. Here is the error output:

Building joy ...
gcc -Werror -Wall -Wbad-function-cast -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wformat -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wimport -Winline -Winvalid-pch -Wmain -Wmissing-braces -Wmissing-format-attribute -Wmissing-noreturn -Wmultichar -Wnested-externs -Wnonnull -Wparentheses -Wpointer-arith -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstrict-aliasing -Wstrict-prototypes -Wswitch -Wswitch-default -Wswitch-enum -Wsystem-headers -Wtrigraphs -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -Wwrite-strings -Wno-pointer-sign -Wextra -Wno-nullability-completeness -Wno-cast-align -Wno-expansion-to-defined -fPIC -fPIE -D_FORTIFY_SOURCE=2 -O -g -DLINUX=1 -DVERSION="4.0.1" -DUSE_GZIP -DCOMPRESSED_OUTPUT=1 -o "/home/techie/joy/bin/joy" -I ./include -I "/usr/local/lib/python2.7/dist-packages/external/boringssl/src/include" -I "/usr/local/lib/python2.7/dist-packages/external/curl/include" joy.c p2f.c config.c osdetect.c anon.c pkt_proc.c nfv9.c tls.c classify.c radix_trie.c hdr_dsc.c procwatch.c addr_attr.c addr.c wht.c http.c str_match.c acsm.c dns.c example.c updater.c ipfix.c ssh.c ike.c salt.c parson.c fingerprint.c ppi.c utils.c dhcp.c payload.c proto_identify.c -L "/usr/lib/x86_64-linux-gnu" -lpcap -lm -lcrypto -lcurl -lpthread -lz
/tmp/ccV6YBxM.o: In function tls_x509_get_validity_period': /home/techie/joy/src/tls.c:487: undefined reference to BIO_get_mem_ptr'
/home/techie/joy/src/tls.c:503: undefined reference to BIO_reset' /home/techie/joy/src/tls.c:518: undefined reference to BIO_get_mem_ptr'
/tmp/ccV6YBxM.o: In function tls_x509_get_extensions': /home/techie/joy/src/tls.c:1045: undefined reference to BIO_get_mem_ptr'
collect2: error: ld returned 1 exit status
Makefile:132: recipe for target 'joy' failed
make[1]: *** [joy] Error 1
make[1]: Leaving directory '/home/techie/joy/src'
Makefile:58: recipe for target 'all' failed
make: *** [all] Error 2

Seeing the error, I tried to directly build the deb package as suggested by @brilong. Running "./build_pkg -t deb -v 1.0", it kept asking me to install the missing packages as follows.

-t was triggered with option deb
-v was triggered with option 1.0
Please install the missing packages. All required packages
can be installed as follows:
apt-get install gcc git libcurl3 libcurl4-openssl-dev libpcap0.8 libpcap-dev libssl1.0.0 libssl-dev make python python-pip ruby ruby-ffi zlib1g zlib1g-dev

However, I have installed all the packages as directed.
Could you provide any suggestions for resolving this compiling issue?