Bug 1383753

Summary: libgit2: FTBFS in Fedora Rawhide: dereferencing pointer to incomplete type 'BIO {aka struct bio_st}'
Product: [Fedora] Fedora Reporter: Igor Gnatenko <ignatenko>
Component: libgit2Assignee: Igor Gnatenko <ignatenko>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: i, ignatenko, jistone, veeti.paananen
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: http://apps.fedoraproject.org/koschei/package/libgit2
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-03 18:05:08 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1383740, 1383778    

Description Igor Gnatenko 2016-10-11 16:54:33 UTC
Description of problem:
Package libgit2 fails to build from source in Fedora Rawhide.

Version-Release number of selected component (if applicable):
0.24.2-2.fc26

Steps to Reproduce:
koji build --scratch f26 libgit2-0.24.2-2.fc26.src.rpm

Additional info:
This package is tracked by Koschei. See:
http://apps.fedoraproject.org/koschei/package/libgit2


/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c: In function 'bio_create':
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:159:3: error: dereferencing pointer to incomplete type 'BIO {aka struct bio_st}'
  b->init = 1;
   ^~
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c: At top level:
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:217:1: error: variable 'git_stream_bio_method' has initializer but incomplete type
 static BIO_METHOD git_stream_bio_method = {
 ^~~~~~
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:219:2: warning: excess elements in struct initializer
  "git_stream",
  ^~~~~~~~~~~~
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:219:2: note: (near initialization for 'git_stream_bio_method')
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:220:2: warning: excess elements in struct initializer
  bio_write,
  ^~~~~~~~~
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:220:2: note: (near initialization for 'git_stream_bio_method')
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:221:2: warning: excess elements in struct initializer
  bio_read,
  ^~~~~~~~
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:221:2: note: (near initialization for 'git_stream_bio_method')
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:222:2: warning: excess elements in struct initializer
  bio_puts,
  ^~~~~~~~
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:222:2: note: (near initialization for 'git_stream_bio_method')
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:223:2: warning: excess elements in struct initializer
  bio_gets,
  ^~~~~~~~
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:223:2: note: (near initialization for 'git_stream_bio_method')
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:224:2: warning: excess elements in struct initializer
  bio_ctrl,
  ^~~~~~~~
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:224:2: note: (near initialization for 'git_stream_bio_method')
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:225:2: warning: excess elements in struct initializer
  bio_create,
  ^~~~~~~~~~
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:225:2: note: (near initialization for 'git_stream_bio_method')
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:226:2: warning: excess elements in struct initializer
  bio_destroy
  ^~~~~~~~~~~
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:226:2: note: (near initialization for 'git_stream_bio_method')
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c: In function 'verify_server_cert':
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:342:4: warning: 'ASN1_STRING_data' is deprecated [-Wdeprecated-declarations]
    const char *name = (char *) ASN1_STRING_data(gn->d.ia5);
    ^~~~~
In file included from /usr/include/openssl/opensslconf.h:42:0,
                 from /usr/include/openssl/bn.h:31,
                 from /usr/include/openssl/asn1.h:24,
                 from /usr/include/openssl/objects.h:916,
                 from /usr/include/openssl/evp.h:27,
                 from /usr/include/openssl/x509.h:23,
                 from /usr/include/openssl/ssl.h:50,
                 from /builddir/build/BUILD/libgit2-0.24.2/src/global.h:22,
                 from /builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:12:
/usr/include/openssl/asn1.h:553:1: note: declared here
 DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x))
 ^
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:397:4: warning: 'ASN1_STRING_data' is deprecated [-Wdeprecated-declarations]
    memcpy(peer_cn, ASN1_STRING_data(str), size);
    ^~~~~~
In file included from /usr/include/openssl/opensslconf.h:42:0,
                 from /usr/include/openssl/bn.h:31,
                 from /usr/include/openssl/asn1.h:24,
                 from /usr/include/openssl/objects.h:916,
                 from /usr/include/openssl/evp.h:27,
                 from /usr/include/openssl/x509.h:23,
                 from /usr/include/openssl/ssl.h:50,
                 from /builddir/build/BUILD/libgit2-0.24.2/src/global.h:22,
                 from /builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:12:
/usr/include/openssl/asn1.h:553:1: note: declared here
 DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x))
 ^
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c: At top level:
/builddir/build/BUILD/libgit2-0.24.2/src/openssl_stream.c:217:19: error: storage size of 'git_stream_bio_method' isn't known
 static BIO_METHOD git_stream_bio_method = {
                   ^~~~~~~~~~~~~~~~~~~~~