Summary: | net-libs/google-cloud-cpp-0.10.0: build fails due to missing OpenSSL linking | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Liam Shepherd <liam> |
Component: | Current packages | Assignee: | Jason Zaman <perfinion> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | mjo |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | Full build log |
Description
Liam Shepherd
2019-08-03 16:51:41 UTC
I hit another but exactly the same bug. /////////////////////////////////////////////////////////////////// [ 87%] Linking CXX executable bigtable_quickstart cd /var/tmp/portage/net-libs/google-cloud-cpp-0.10.0/work/google-cloud-cpp-0.10.0_build/google/cloud/bigtable/examples && /usr/bin/cmake -E cmake_link_script CMakeFiles/bigtable_quickstart.dir/link.txt --verbose=1 /usr/bin/x86_64-pc-linux-gnu-g++ -march=broadwell -O2 -pipe -Wl,-O1 -Wl,--as-needed CMakeFiles/bigtable_quickstart.dir/bigtable_quickstart.cc.o -o bigtable_quickstart -L/var/tmp/portage/net-libs/google-cloud-cpp-0.10.0/work/google-cloud-cpp-0.10.0_build/external/lib64 -Wl,-rpath,/var/tmp/portage/net-libs/google-cloud-cpp-0.10.0/work/google-cloud-cpp-0.10.0_build/google/cloud/bigtable:/var/tmp/portage/net-libs/google-cloud-cpp-0.10.0/work/google-cloud-cpp-0.10.0_build/external/lib64:/var/tmp/portage/net-libs/google-cloud-cpp-0.10.0/work/google-cloud-cpp-0.10.0_build/google/cloud ../libbigtable_client.so.0.10.0 -lgoogleapis_cpp_bigtable_protos -lgoogleapis_cpp_longrunning_operations_protos -lgoogleapis_cpp_api_auth_protos -lgoogleapis_cpp_api_annotations_protos -lgoogleapis_cpp_api_http_protos -lgoogleapis_cpp_iam_v1_policy_protos -lgoogleapis_cpp_iam_v1_iam_policy_protos -lgoogleapis_cpp_rpc_status_protos -lgoogleapis_cpp_rpc_error_details_protos ../../libgoogle_cloud_cpp_common.so.0.8.0 /usr/lib64/libgrpc++.so /usr/lib64/libgrpc.so /usr/lib64/libprotobuf.so -lpthread /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `HMAC_CTX_cleanup' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `HMAC_CTX_init' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `sk_pop_free' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `sk_new_null' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `SSL_CTX_get_ex_new_index' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `SSL_load_error_strings' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `CRYPTO_get_locking_callback' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `SSL_library_init' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `OPENSSL_add_all_algorithms_noconf' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `EVP_MD_CTX_destroy' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `CRYPTO_set_id_callback' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `sk_num' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `CRYPTO_set_locking_callback' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `SSL_state' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `sk_value' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `EVP_MD_CTX_create' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `sk_push' /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libgrpc.so: undefined reference to `CRYPTO_num_locks' collect2: error: ld returned 1 exit status make[2]: *** [google/cloud/bigtable/examples/CMakeFiles/bigtable_quickstart.dir/build.make:98: google/cloud/bigtable/examples/bigtable_quickstart] Error 1 make[2]: Leaving directory '/var/tmp/portage/net-libs/google-cloud-cpp-0.10.0/work/google-cloud-cpp-0.10.0_build' make[1]: *** [CMakeFiles/Makefile2:700: google/cloud/bigtable/examples/CMakeFiles/bigtable_quickstart.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... (In reply to Weiping Xu from comment #1) > I hit another but exactly the same bug. > > /////////////////////////////////////////////////////////////////// > [ 87%] Linking CXX executable bigtable_quickstart > cd > /var/tmp/portage/net-libs/google-cloud-cpp-0.10.0/work/google-cloud-cpp-0.10. > 0_build/google/cloud/bigtable/examples && /usr/bin/cmake -E > cmake_link_script CMakeFiles/bigtable_quickstart.dir/link.txt --verbose=1 > /usr/bin/x86_64-pc-linux-gnu-g++ -march=broadwell -O2 -pipe -Wl,-O1 > -Wl,--as-needed CMakeFiles/bigtable_quickstart.dir/bigtable_quickstart.cc.o > -o bigtable_quickstart > -L/var/tmp/portage/net-libs/google-cloud-cpp-0.10.0/work/google-cloud-cpp-0. > 10.0_build/external/lib64 > -Wl,-rpath,/var/tmp/portage/net-libs/google-cloud-cpp-0.10.0/work/google- > cloud-cpp-0.10.0_build/google/cloud/bigtable:/var/tmp/portage/net-libs/ > google-cloud-cpp-0.10.0/work/google-cloud-cpp-0.10.0_build/external/lib64:/ > var/tmp/portage/net-libs/google-cloud-cpp-0.10.0/work/google-cloud-cpp-0.10. > 0_build/google/cloud ../libbigtable_client.so.0.10.0 > -lgoogleapis_cpp_bigtable_protos > -lgoogleapis_cpp_longrunning_operations_protos > -lgoogleapis_cpp_api_auth_protos -lgoogleapis_cpp_api_annotations_protos > -lgoogleapis_cpp_api_http_protos -lgoogleapis_cpp_iam_v1_policy_protos > -lgoogleapis_cpp_iam_v1_iam_policy_protos -lgoogleapis_cpp_rpc_status_protos > -lgoogleapis_cpp_rpc_error_details_protos > ../../libgoogle_cloud_cpp_common.so.0.8.0 /usr/lib64/libgrpc++.so > /usr/lib64/libgrpc.so /usr/lib64/libprotobuf.so -lpthread > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to `HMAC_CTX_cleanup' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to `HMAC_CTX_init' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to `sk_pop_free' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to `sk_new_null' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to `SSL_CTX_get_ex_new_index' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to `SSL_load_error_strings' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to > `CRYPTO_get_locking_callback' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to `SSL_library_init' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to > `OPENSSL_add_all_algorithms_noconf' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to `EVP_MD_CTX_destroy' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to `CRYPTO_set_id_callback' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to `sk_num' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to > `CRYPTO_set_locking_callback' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to `SSL_state' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to `sk_value' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to `EVP_MD_CTX_create' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to `sk_push' > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib64/libgrpc.so: undefined reference to `CRYPTO_num_locks' > collect2: error: ld returned 1 exit status > make[2]: *** > [google/cloud/bigtable/examples/CMakeFiles/bigtable_quickstart.dir/build. > make:98: google/cloud/bigtable/examples/bigtable_quickstart] Error 1 > make[2]: Leaving directory > '/var/tmp/portage/net-libs/google-cloud-cpp-0.10.0/work/google-cloud-cpp-0. > 10.0_build' > make[1]: *** [CMakeFiles/Makefile2:700: > google/cloud/bigtable/examples/CMakeFiles/bigtable_quickstart.dir/all] Error > 2 > make[1]: *** Waiting for unfinished jobs.... Enable static-libs USE for net-libs/grpc fixs my problem. @Liam Shepherd I could compile google-cloud-cpp with net-misc/curl and dev-python/pycurl switched to CURL_SSL="openssl". I'm having the same issue as the original post. google-cloud-cpp-0.5.0-openssl.patch is breaking google-cloud-cpp-0.10.0 and should be removed from the ebuild, or made dependent on a USE flag This should be an easy fix. The upstream INSTALL.md file states that OpenSSL is now (as of ~0.9.0) a hard requirement. Adding "dev-libs/openssl:=" to RDEPEND and dropping google-cloud-cpp-0.5.0-openssl.patch fixes the immediate problem. @perfinion: I can create an -r1 if you don't mind. Does anyone know why the patch files/google-cloud-cpp-0.5.0-openssl.patch was introduced? Or why it drops zlib in addition to openssl? (In reply to Michael Orlitzky from comment #5) > This should be an easy fix. The upstream INSTALL.md file states that OpenSSL > is now (as of ~0.9.0) a hard requirement. Adding "dev-libs/openssl:=" to > RDEPEND and dropping google-cloud-cpp-0.5.0-openssl.patch fixes the > immediate problem. > > @perfinion: I can create an -r1 if you don't mind. @mjo: Sure go ahead and fix it since you can repro the problem :) I don't recall the specifics of that patch at this point honestly so if you think it should be dropped its probably fine to drop. Thanks (In reply to Jason Zaman from comment #7) > > @mjo: Sure go ahead and fix it since you can repro the problem :) > > I don't recall the specifics of that patch at this point honestly so if you > think it should be dropped its probably fine to drop. > I can reproduce it on my desktop every time, but my laptop had no problem, which isn't 100% satisfying. Both are OK without the patch, though, so let's try dropping it. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=191d0e654981bf20a008426ab864c6b5b2fedd99 commit 191d0e654981bf20a008426ab864c6b5b2fedd99 Author: Michael Orlitzky <mjo@gentoo.org> AuthorDate: 2020-04-10 19:18:04 +0000 Commit: Michael Orlitzky <mjo@gentoo.org> CommitDate: 2020-04-10 19:37:19 +0000 net-libs/google-cloud-cpp: new revision depending on OpenSSL. As of v0.9.0, google-cloud-cpp now depends unconditionally on OpenSSL (according to upstream). We carry a patch that tries to eliminate the dependency, but several people (including myself) have reported that it only results in link failures these days. This commit introduces a new revision of google-cloud-cpp-0.10.0 without the patch. Note that the patch also dropped some zlib stuff, and no one remembers why. We might find out! Closes: https://bugs.gentoo.org/691352 Package-Manager: Portage-2.3.89, Repoman-2.3.20 Signed-off-by: Michael Orlitzky <mjo@gentoo.org> .../google-cloud-cpp-0.10.0-r1.ebuild | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) |