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
> >
>

Reply via email to