tholu / homebrew-tap

My own homebrew tap.
10 stars 9 forks source link

error: incomplete definition of type 'struct bio_st' #8

Closed t-matsumo closed 5 years ago

t-matsumo commented 5 years ago

I got below error. 😢

$ brew install --with-unicode-path tholu/tap/subversion18
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
No changes to formulae.

==> Installing subversion18 from tholu/tap
==> Downloading https://www.apache.org/dyn/closer.cgi?path=subversion/subversion-1.8.16.tar.bz2
Already downloaded: /Users/username/Library/Caches/Homebrew/downloads/739776cd56d0ee92a7e0915f4ea1bade82c80b68ef6526f210aac0684bac7786--subversion-1.8.16.tar.bz2
==> Downloading https://gist.githubusercontent.com/tholu/fb5d30c586e33b53ecba/raw/a266b1aa01f95cdc38fcedda4c6bce253dfb58c2/svn_1.8.x_darwin_unicode_precomp.patch
Already downloaded: /Users/username/Library/Caches/Homebrew/downloads/5e379d7e8de627cc4210cf1e12a762045bfd327bdaecc90df234a152482bda6e--svn_1.8.x_darwin_unicode_precomp.patch
==> Patching
patching file configure
Hunk #1 succeeded at 25433 (offset 67 lines).
patching file subversion/bindings/swig/perl/native/Makefile.PL.in
patching file build/get-py-info.py
==> Applying svn_1.8.x_darwin_unicode_precomp.patch
patching file subversion/libsvn_subr/io.c
patching file subversion/libsvn_subr/path.c
patching file subversion/svn/proplist-cmd.c
patching file subversion/svn/status-cmd.c
==> Downloading https://archive.apache.org/dist/serf/serf-1.3.8.tar.bz2
Already downloaded: /Users/username/Library/Caches/Homebrew/downloads/21bc402f7e59867bb8a6027535b1c5cda70bae29838d2398fff3d60ff35fdf97--serf-1.3.8.tar.bz2
==> scons PREFIX=/usr/local/Cellar/subversion18/1.8.16/libexec/serf GSSAPI=/usr CC=/usr/bin/clang CFLAGS=-Os -w -pipe -march=nehalem -Xclang -target-feature -Xclang -aes -mmacosx-version-min=10.14 -isys
Last 15 lines from /Users/username/Library/Logs/Homebrew/subversion18/01.scons:
buckets/ssl_buckets.c:1169:12: error: incomplete definition of type 'struct bio_st'
        bio->ptr = cert_file;
        ~~~^
/usr/local/opt/openssl@1.1/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
typedef struct bio_st BIO;
               ^
buckets/ssl_buckets.c:1343:17: error: incomplete definition of type 'struct bio_st'
    ssl_ctx->bio->ptr = ssl_ctx;
    ~~~~~~~~~~~~^
/usr/local/opt/openssl@1.1/include/openssl/ossl_typ.h:79:16: note: forward declaration of 'struct bio_st'
typedef struct bio_st BIO;
               ^
12 errors generated.
scons: *** [buckets/ssl_buckets.o] Error 1
scons: building terminated because of errors.

If reporting this issue please do so at (not Homebrew/brew or Homebrew/core):
  https://github.com/tholu/homebrew-tap/issues

My environment is: OS: macOS Mojave ver.10.14.6

$ brew -v
Homebrew 2.1.11
Homebrew/homebrew-core (git revision 0da7a; last commit 2019-09-29)

I guess this error is related to openssl@1.1 from error message.

The apache/serf adapted to OpenSSL 1.1.x API changes in below commit. https://github.com/apache/serf/commit/03f3f8a6d56726bed26eb3202dfb1e485274ca90 The apache/serf ver.1.3.8 (used in subversion18 formula) don't contains it. And apache/serf ver.1.3.9 contains it.

I did run brew install --with-unicode-path tholu/tap/subversion18 with openssl@1.1 and apache/serf ver.1.3.9, without errors, like below commit. But I don't understand that there are no problems or not. https://github.com/t-matsumo/homebrew-tap/commit/949c01bb8d72eb45a8ccf7eb9d600963ce2fcf9c

tholu commented 5 years ago

@t-matsumo Thanks for reporting that. Can you create a pull request with your changes?

t-matsumo commented 5 years ago

@tholu Thanks for your reply. I created the pull request #9 .

tholu commented 5 years ago

Thank you! I merged the pull request.