Thank you Masaori. I am trying to build static build for trafficserver from code https://github.com/apache/trafficserver on Ubuntu 20.04
using commands: autoreconf -i --force ./configure CFLAGS="-DBIG_SECURITY_HOLE" CXXFLAGS="-DBIG_SECURITY_HOLE" LDFLAGS="-lpthread -ldl -lz -static" --prefix=/opt/ats/ configuration is successful, but make fails with below errors: (make succeeds if I remove -static above), any ideas? make[2]: Entering directory '/home/embedur/trafficserver/src/tscore' Makefile:2641: warning: overriding recipe for target 'CompileParseRules' Makefile:1199: warning: ignoring old recipe for target 'CompileParseRules' CXX unit_tests/freelist_benchmark-freelist_benchmark.o CXX Arena.lo CXX ArgParser.lo CXX BaseLogFile.lo CXX BufferWriterFormat.lo CXX ContFlags.lo CXX CryptoHash.lo In file included from ../../include/tscore/ink_config.h:40, from ../../include/tscore/ink_platform.h:27, from CryptoHash.cc:28: /usr/include/openssl/bio.h:553:6: error: expected ‘)’ before ‘*’ token 553 | void BIO_set_data(BIO *a, void *ptr);| ^~~~~~~~~~~~../../include/ink_autoconf.h:27:32: note: to match this ‘(’27 | #define BIO_set_data(a, _ptr) ((a)->ptr = (_ptr))| ^/usr/include/openssl/bio.h:553:6: error: expected ‘)’ before ‘*’ token 553 | void BIO_set_data(BIO *a, void *ptr);| ^~~~~~~~~~~~../../include/ink_autoconf.h:27:31: note: to match this ‘(’27 | #define BIO_set_data(a, _ptr) ((a)->ptr = (_ptr))| ^/usr/include/openssl/bio.h:554:7: error: expected ‘)’ before ‘*’ token 554 | void *BIO_get_data(BIO *a);| ^~~~~~~~~~~~../../include/ink_autoconf.h:12:26: note: to match this ‘(’12 | #define BIO_get_data(a) ((a)->ptr)| ^/usr/include/openssl/bio.h:554:7: error: expected ‘)’ before ‘*’ token 554 | void *BIO_get_data(BIO *a);| ^~~~~~~~~~~~../../include/ink_autoconf.h:12:25: note: to match this ‘(’12 | #define BIO_get_data(a) ((a)->ptr)| ^/usr/include/openssl/bio.h:558:5: error: expected ‘)’ before ‘*’ token 558 | int BIO_get_shutdown(BIO *a);| ^~~~~~~~~~~~~~~~../../include/ink_autoconf.h:15:30: note: to match this ‘(’15 | #define BIO_get_shutdown(a) ((a)->shutdown)| ^/usr/include/openssl/bio.h:558:5: error: expected ‘)’ before ‘*’ token 558 | int BIO_get_shutdown(BIO *a); | ^~~~~~~~~~~~~~~~ ../../include/ink_autoconf.h:15:29: note: to match this ‘(’ 15 | #define BIO_get_shutdown(a) ((a)->shutdown) | ^ /usr/include/openssl/bio.h:787:8: error: expected unqualified-id before ‘const’ 787 | long (*BIO_meth_get_ctrl(const BIO_METHOD *biom)) (BIO *, int, long, void *); | ^~~~~~~~~~~~~~~~~ /usr/include/openssl/bio.h:787:8: error: expected ‘)’ before ‘const’ ../../include/ink_autoconf.h:21:34: note: to match this ‘(’ 21 | #define BIO_meth_get_ctrl(biom) ((biom)->ctrl) | ^ /usr/include/openssl/bio.h:787:8: error: expected ‘)’ before ‘const’ 787 | long (*BIO_meth_get_ctrl(const BIO_METHOD *biom)) (BIO *, int, long, void *); | ^~~~~~~~~~~~~~~~~ ../../include/ink_autoconf.h:21:33: note: to match this ‘(’ 21 | #define BIO_meth_get_ctrl(biom) ((biom)->ctrl) | ^ /usr/include/openssl/bio.h:787:8: error: expected ‘)’ before ‘const’ 787 | long (*BIO_meth_get_ctrl(const BIO_METHOD *biom)) (BIO *, int, long, void *); | ^~~~~~~~~~~~~~~~~ In file included from /usr/include/openssl/evp.h:16, from ../../include/tscore/SHA256.h:28, from CryptoHash.cc:30: /usr/include/openssl/bio.h:787:6: note: to match this ‘(’ 787 | long (*BIO_meth_get_ctrl(const BIO_METHOD *biom)) (BIO *, int, long, void *); | ^ In file included from ../../include/tscore/ink_config.h:40, from ../../include/tscore/ink_platform.h:27, from CryptoHash.cc:28: /usr/include/openssl/bio.h:790:7: error: expected unqualified-id before ‘const’ 790 | int (*BIO_meth_get_create(const BIO_METHOD *bion)) (BIO *); | ^~~~~~~~~~~~~~~~~~~ /usr/include/openssl/bio.h:790:7: error: expected ‘)’ before ‘const’ ../../include/ink_autoconf.h:18:36: note: to match this ‘(’ 18 | #define BIO_meth_get_create(biom) ((biom)->create) | ^ /usr/include/openssl/bio.h:790:7: error: expected ‘)’ before ‘const’ 790 | int (*BIO_meth_get_create(const BIO_METHOD *bion)) (BIO *); | ^~~~~~~~~~~~~~~~~~~ ../../include/ink_autoconf.h:18:35: note: to match this ‘(’ 18 | #define BIO_meth_get_create(biom) ((biom)->create) | ^ /usr/include/openssl/bio.h:790:7: error: expected ‘)’ before ‘const’ 790 | int (*BIO_meth_get_create(const BIO_METHOD *bion)) (BIO *); | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/include/openssl/evp.h:16, from ../../include/tscore/SHA256.h:28, from CryptoHash.cc:30: /usr/include/openssl/bio.h:790:5: note: to match this ‘(’ 790 | int (*BIO_meth_get_create(const BIO_METHOD *bion)) (BIO *); | ^ In file included from ../../include/tscore/ink_config.h:40, from ../../include/tscore/ink_platform.h:27, from CryptoHash.cc:28: /usr/include/openssl/bio.h:792:7: error: expected unqualified-id before ‘const’ 792 | int (*BIO_meth_get_destroy(const BIO_METHOD *biom)) (BIO *); | ^~~~~~~~~~~~~~~~~~~~ /usr/include/openssl/bio.h:792:7: error: expected ‘)’ before ‘const’ ../../include/ink_autoconf.h:24:37: note: to match this ‘(’ 24 | #define BIO_meth_get_destroy(biom) ((biom)->destroy) | ^ /usr/include/openssl/bio.h:792:7: error: expected ‘)’ before ‘const’ 792 | int (*BIO_meth_get_destroy(const BIO_METHOD *biom)) (BIO *); | ^~~~~~~~~~~~~~~~~~~~ ../../include/ink_autoconf.h:24:36: note: to match this ‘(’ 24 | #define BIO_meth_get_destroy(biom) ((biom)->destroy) | ^ /usr/include/openssl/bio.h:792:7: error: expected ‘)’ before ‘const’ 792 | int (*BIO_meth_get_destroy(const BIO_METHOD *biom)) (BIO *);| ^~~~~~~~~~~~~~~~~~~~In file included from /usr/include/openssl/evp.h:16,from ../../include/tscore/SHA256.h:28,from CryptoHash.cc:30:/usr/include/openssl/bio.h:792:5: note: to match this ‘(’792 | int (BIO_meth_get_destroy(const BIO_METHOD biom)) (BIO );| ^In file included from ../../include/tscore/ink_config.h:40,from ../../include/tscore/ink_platform.h:27,from CryptoHash.cc:28:../../include/ink_autoconf.h:9:31: error: conflicting declaration of C function ‘const unsigned char ASN1_STRING_data(const ASN1_STRING)’9 | #define ASN1_STRING_get0_data ASN1_STRING_data| ^~~~~~~~~~~~~~~~In file included from /usr/include/openssl/evp.h:13,from ../../include/tscore/SHA256.h:28,from CryptoHash.cc:30:/usr/include/openssl/asn1.h:554:1: note: previous declaration ‘unsigned char ASN1_STRING_data(ASN1_STRING*)’ 554 | DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x)) | ^~~~~~~~~~~~~~~~~~ make[2]: *** [Makefile:1502: CryptoHash.lo] Error 1 make[2]: Leaving directory '/home/embedur/trafficserver/src/tscore' make[1]: *** [Makefile:1107: all] Error 2 make[1]: Leaving directory '/home/embedur/trafficserver/src/tscore' make: *** [Makefile:871: all-recursive] Error 1 Thanks & regards, Rajesh On Mon, Feb 21, 2022 at 4:21 AM Masaori Koshiba <masa...@apache.org> wrote: > Hello Rajesh, > > "#7353 static link"[*1] is the issue for it. Brian is working, I think. > > [*1] https://github.com/apache/trafficserver/issues/7353 > > Thanks, > Masaori > > On Fri, Feb 18, 2022 at 10:16 PM rajesh adapa <rajeshopensou...@gmail.com> > wrote: > > > Hi > > > > I am building ATS server using the latest code at: > > https://github.com/apache/trafficserver > > > > This seems to build binaries with dynamic libraries. > > > > It seems like the Traffic server once was supported with a static build > > i.e. executable with static libraries. > > > > Could you please help me, like how can I modify to build a static build > of > > this ATS or could you please point me to any code that could help achieve > > this? > > > > Good day :) > > > > Thanks & Regards, > > Rajesh > > >