apache / incubator-pagespeed-mod

Apache module for rewriting web pages to reduce latency and bandwidth.
http://modpagespeed.com
Apache License 2.0
693 stars 157 forks source link

Compilation fails on Alpine 3.9 with OpenSSL 1.1 #1856

Open csandanov opened 5 years ago

csandanov commented 5 years ago
  CC(target) out/Release/obj.target/grpc_core/third_party/grpc/src/src/core/lib/security/credentials/oauth2/oauth2_credentials.o
third_party/grpc/src/src/core/lib/security/credentials/jwt/jwt_verifier.c: In function 'pkey_from_jwk':
third_party/grpc/src/src/core/lib/security/credentials/jwt/jwt_verifier.c:498:10: error: dereferencing pointer to incomplete type 'RSA' {aka 'struct rsa_st'}
       rsa->n =
          ^~
make[1]: *** [third_party/grpc/grpc_core.target.mk:560: out/Release/obj.target/grpc_core/third_party/grpc/src/src/core/lib/security/credentials/jwt/jwt_verifier.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:209: build_libraries] Error 2

Probably just need to update GRPC https://github.com/grpc/grpc/issues/10589

oschaaf commented 5 years ago

There is a work-in-progress to resolve this over at https://github.com/apache/incubator-pagespeed-mod/pull/1853. Feel free to help out!

csandanov commented 4 years ago

I tried to compile 1.14.36.1, I get the following errors:

  AR(target) out/Release/obj.target/net/instaweb/libgraphs_js_opt.a
  AR(target) out/Release/obj.target/net/instaweb/libgraphs_js_dbg.a
third_party/serf/instaweb_ssl_buckets.c: At top level:
third_party/serf/instaweb_ssl_buckets.c:408:19: error: storage size of 'bio_bucket_method' isn't known
  408 | static BIO_METHOD bio_bucket_method = {
      |                   ^~~~~~~~~~~~~~~~~
third_party/serf/instaweb_ssl_buckets.c:423:19: error: storage size of 'bio_file_method' isn't known
  423 | static BIO_METHOD bio_file_method = {
      |                   ^~~~~~~~~~~~~~~
  AR(target) out/Release/obj.target/net/instaweb/libmessages_js_dbg.a
  AR(target) out/Release/obj.target/net/instaweb/libmessages_js_opt.a
make[1]: *** [third_party/serf/serf.target.mk:346: out/Release/obj.target/serf/third_party/serf/instaweb_ssl_buckets.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:209: build_libraries] Error 2

looks like ssl issue as well

csandanov commented 4 years ago

I was googling this issue and stumbled upon this discussion https://www.mail-archive.com/users@subversion.apache.org/msg27957.html. It seems the problem is that the latest serf release was in 2016 so it doesn't fully support openssl 1.1. A guy from apache recommends to use version 1.4, it says it quite stable