Opened 7 years ago

Closed 5 years ago

#6801 closed defect (duplicate)

libavformat/tls_openssl.c: implicit declaration of function 'BIO_meth_*'

Reported by: LigH Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: libopenssl
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Compilation fails, trying to build ffmpeg (static 32-bit) in media-autobuild_suite; see attached build log. It's related to their issue #622.

Attachments (4)

ab-suite.make.log (108.4 KB ) - added by LigH 7 years ago.
explicit build log
ab-suite.configure.log (17.3 KB ) - added by LigH 7 years ago.
ffmpeg configure log
logs.zip (134.4 KB ) - added by LigH 7 years ago.
logs archive
ffmpeg_options.txt (1.2 KB ) - added by LigH 7 years ago.
ffmpeg options set

Download all attachments as: .zip

Change History (26)

by LigH, 7 years ago

Attachment: ab-suite.make.log added

explicit build log

comment:1 by LigH, 7 years ago

Summary: implicit declaration of function 'BIO_meth_*'libavformat/tls_openssl.c: implicit declaration of function 'BIO_meth_*'

comment:2 by Hendrik, 7 years ago

Summary: libavformat/tls_openssl.c: implicit declaration of function 'BIO_meth_*'implicit declaration of function 'BIO_meth_*'

We cannot debug build issues with third party build systems.

To give this any chance, we need the full configure line as well as ffmpegs config.log.

comment:3 by Hendrik, 7 years ago

(also,Trac is dumb and for some reason reverts any edits that were in progress when you write a comment, wtf)

by LigH, 7 years ago

Attachment: ab-suite.configure.log added

ffmpeg configure log

by LigH, 7 years ago

Attachment: logs.zip added

logs archive

comment:4 by LigH, 7 years ago

Attached the configure log and the full archive of MABS logs. I hope it may contain everything that might be helpful to you.

comment:5 by LigH, 7 years ago

Summary: implicit declaration of function 'BIO_meth_*'libavformat/tls_openssl.c: implicit declaration of function 'BIO_meth_*'

comment:6 by Hendrik, 7 years ago

Which version of OpenSSl is this trying to use?

comment:7 by LigH, 7 years ago

Unfortunately I have only little experience using a Linux like shell...

MABS updates itself and the underlying MSYS2 environment before building software. According to the directories in the pacman package registry (msys64/var/lib/pacman/local), I assume it's libopenssl-1.0.2.l-2; to be certain, I would need to know which command to type into an MSYS2/MinGW shell...

comment:8 by Hendrik, 7 years ago

Check H:/development/media-autobuild_suite-master/local32/include/openssl/opensslv.h
It should list the version somewhere.

Browsing around in the script, it appears to use LibreSSL, and not OpenSSL. LibreSSL is not currently supported by FFmpeg. We only support OpenSSL or any of its forks that are actually version and binary compatible. LibreSSL typically claims to be OpenSSL in a very recent version, but not actually offer its full API.

comment:9 by LigH, 7 years ago

You are right: "LibreSSL 2.6.2"

I will mention this detail to the MABS developers; does it mean that ffmpeg or libavformat suddenly use OpenSSL features they did not use before, and which LibreSSL may not yet implement?

comment:10 by Hendrik, 7 years ago

These functions are in use since 10/2016 when support for OpenSSL 1.1 was added. LibreSSL breaks the version checks of OpenSSL by pretending to be OpenSSL in a very new version, but only offering the OpenSSL 1.0 API.

I don't know why the LibreSSL people didn't bother to do this properly, but alas.

comment:11 by LigH, 7 years ago

Surprising for me: The ffmpeg options set refers to gnutls instead of libressl. See next attachment.

by LigH, 7 years ago

Attachment: ffmpeg_options.txt added

ffmpeg options set

comment:12 by Hendrik, 7 years ago

I don't know how it does things, but I see --enable-openssl in there.

comment:13 by James, 7 years ago

gnutls and openssl can't go together, so just remove the --enable-openssl line, since it's obviously not working with your libressl install.

comment:14 by LigH, 7 years ago

I guess from here on, we will better wait for the MABS developers to check what happened. I believe they have some own experience with SSL/TLS libraries and their interdependencies... I won't be able to support much more.

comment:15 by Carl Eugen Hoyos, 7 years ago

Keywords: libopenssl added

comment:16 by LigH, 7 years ago

Resolution: invalid
Status: newclosed

Reading the development in MABS, I believe this ticket can be closed; they seem to agree that including both GnuTLS and OpenSSL is a mistake in the generation of the build options file.

comment:17 by Carl Eugen Hoyos, 7 years ago

Reproduced by developer: set
Resolution: invalid
Status: closedreopened

I have sent a patch that fixes the issue described in the ticket title (unrelated to MABS).

comment:18 by Carl Eugen Hoyos, 7 years ago

Component: build systemavformat

comment:19 by LigH, 7 years ago

I wonder if your commit got lost; I don't see any updates related to "tls" or "ssl" in the github repo since this one (which I suspect to have caused it, but I have no clue, just spotted changes around a "BIO_*" function name mask):

avformat/tls_openssl: move some functions up in the file

Can you link your submitted patch, please? (mere curiosity)

comment:20 by Hendrik, 7 years ago

The patch is still on the mailing list, being discussed.

comment:21 by Carl Eugen Hoyos, 5 years ago

Duplicate of ticket #6580

comment:22 by Carl Eugen Hoyos, 5 years ago

Resolution: duplicate
Status: reopenedclosed
Note: See TracTickets for help on using tickets.