Skip to content

boringssl-with-bazel cannot compile shared lib #21733

@agudpp

Description

@agudpp

What version of gRPC and what language are you using?

Latest master (commit eba60d8)

What operating system (Linux, Windows,...) and version?

Linux ubuntu 16 / 18

What runtime / compiler are you using (e.g. python version or version of gcc)

g++ (any)

What did you do?

try to compile with CMAKE using -DBUILD_SHARED_LIBS=ON will fail
even if you try to compile boring ssl with -DBUILD_SHARED_LIBS=ON will fail

What did you expect to see?

to compile properly

What did you see instead?

undefined references to ssl / crypto:

ciphers.cc:(.text+0xba): undefined reference to `TLS_method'
ciphers.cc:(.text+0xc2): undefined reference to `SSL_CTX_new'
ciphers.cc:(.text+0xfa): undefined reference to `SSL_CTX_set_strict_cipher_list'
ciphers.cc:(.text+0x130): undefined reference to `ERR_print_errors_fp'
ciphers.cc:(.text+0x14e): undefined reference to `SSL_CTX_get_ciphers'
ciphers.cc:(.text+0x197): undefined reference to `SSL_CTX_cipher_in_group'
ciphers.cc:(.text+0x1ff): undefined reference to `SSL_CIPHER_get_name'
ciphers.cc:(.text+0x20d): undefined reference to `SSL_CIPHER_standard_name'
CMakeFiles/bssl.dir/src/tool/ciphers.cc.o: In function `sk_SSL_CIPHER_num':
ciphers.cc:(.text.sk_SSL_CIPHER_num[sk_SSL_CIPHER_num]+0x14): undefined reference to `sk_num'
CMakeFiles/bssl.dir/src/tool/ciphers.cc.o: In function `sk_SSL_CIPHER_value':
ciphers.cc:(.text.sk_SSL_CIPHER_value[sk_SSL_CIPHER_value]+0x1f): undefined reference to `sk_value'
CMakeFiles/bssl.dir/src/tool/ciphers.cc.o: In function `bssl::internal::DeleterImpl<ssl_ctx_st, void>::Free(ssl_ctx_st*)':
ciphers.cc:(.text._ZN4bssl8internal11DeleterImplI10ssl_ctx_stvE4FreeEPS2_[_ZN4bssl8internal11DeleterImplI10ssl_ctx_stvE4FreeEPS2_]+0x14): undefined reference to `SSL_CTX_free'
CMakeFiles/bssl.dir/src/tool/client.cc.o: In function `LoadPrivateKey(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
client.cc:(.text+0x5b): undefined reference to `BIO_s_file'
client.cc:(.text+0x63): undefined reference to `BIO_new'
client.cc:(.text+0xae): undefined reference to `BIO_read_filename'
client.cc:(.text+0xf8): undefined reference to `PEM_read_bio_PrivateKey'
...

Anything else we should know about your project / environment?

I tried in a VM and local machine, both fails the same, even if you pull the latest boringssl master-with-bazel branch it also fails to compile that library isolated.
I didn't have this issue before when compiling grpc on a previous version
Compiling statically works fine (but i need to use dynamic)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions