Problems trying to compile FFmpeg on MinGW under Cygwin - dependency contamination or something else?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Problems trying to compile FFmpeg on MinGW under Cygwin - dependency contamination or something else?

Hashim Aziz
I've spent the last few days trying to compile FFmpeg with superior libraries like libfdk and libopus. I've run Cygwin on top of Windows 7 for years, so want to compile using it or using packages that can be easily obtained via it (via the apt-cyg package manager). I've been adapting this guide from the FFmpeg Wiki:

https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

...for this purpose, and so far have managed to compile the five or six dependencies that I need from source using the instructions on that page. When eventually compiling FFmpeg itself however, I ran into the following error:
ERROR: aom >= 1.0.0 not found using pkg-config

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
[hidden email] mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.
Makefile:160: /tests/Makefile: No such file or directory
make: *** No rule to make target '/tests/Makefile'.  Stop.
Makefile:160: /tests/Makefile: No such file or directory
make: *** No rule to make target '/tests/Makefile'.  Stop.
I've read that cross-compilation requires that all dependences that the end binary relies on are built with the same toolchain that the end binary is - if this is true, could it be the source of my problem? Some of the dependencies I compiled from source were compiled with native gcc (libaom being one of them), while the ones that wouldn't play ball with the standard gcc (primarily x264 if I remember correctly) were compiled with the x86_64-w64-mingw32-gcc and x86_64-w64-mingw32-g++ packages available from the package manager. If it is likely to be the issue, then what about dependencies relied upon by the end binary to compile but that I didn't manually build from source? There are many more packages in the Cygwin package repository that I'm making use of to build the packages and FFmpeg itself from source. Do all of these used dependencies need to have x86_64-w64-mingw33 variants for me to successfully compile a better version of FFmpeg on Windows?

Here's the command I ran to get the error above:
cd /ffmpeg_sources &&
wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 &&
tar xjvf ffmpeg-snapshot.tar.bz2 &&
cd ffmpeg && ./configure --arch=x86_64 --cross-prefix=x86_64-w64-mingw32- --target-os=mingw32 \
--enable-cross-compile \
--extra-cflags="-I/usr/local/include" \
--extra-ldflags="-L/usr/local/lib" \
--prefix="/usr/local" \
--pkg-config-flags="--static" \
--extra-libs="-lpthread -lm" \
--enable-libaom \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-gpl \
--enable-nonfree 2>&1 | tee "/ffmpeg_compile.txt" &&
make -j$(nproc) 2>&1 | tee -a "/ffmpeg_compile.txt" &&
make install 2>&1 | tee -a "/ffmpeg_compile.txt"
If the "compilation contamination" thing isn't likely to be the issue, then does anyone have any idea what might be? The most I've been able to find on it is this:

https://github.com/rdp/ffmpeg-windows-build-helpers/issues/332

...which seems to apply to FFmpeg's Windows Build Helpers, suggesting the same route cuase (though there is no Cygwin support for that tool, before anyone insists I should use it). I've also Cygwin for several years now would rather not venture outside its ecosystem to install additional stuff when I use it a lot and it suits my needs.

Thank you, I'd really appreciate some help on this. I've attached my config.log file.

_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".

config.log (561K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Problems trying to compile FFmpeg on MinGW under Cygwin - dependency contamination or something else?

James Darnley
On 2019-03-14 17:50, Hashim Aziz wrote:
> ERROR: aom >= 1.0.0 not found using pkg-config

What is ambiguous about this message?  Either install libaom or don't
enable it.


_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".

signature.asc (616 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Problems trying to compile FFmpeg on MinGW under Cygwin - dependency contamination or something else?

Hashim Aziz
What kind of response is that? I'm obviously trying to install libaom, that's why I'm here in what is apparently the only official FFmpeg avenue and asking for help with it. Did you actually read my questions?

________________________________
From: ffmpeg-user <[hidden email]> on behalf of James Darnley <[hidden email]>
Sent: 14 March 2019 7:14 PM
To: FFmpeg user questions
Subject: Re: [FFmpeg-user] Problems trying to compile FFmpeg on MinGW under Cygwin - dependency contamination or something else?

On 2019-03-14 17:50, Hashim Aziz wrote:
> ERROR: aom >= 1.0.0 not found using pkg-config

What is ambiguous about this message?  Either install libaom or don't
enable it.

_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Problems trying to compile FFmpeg on MinGW under Cygwin - dependency contamination or something else?

James Darnley
On 2019-03-15 03:48, Hashim Aziz wrote:
> What kind of response is that? I'm obviously trying to install libaom, that's why I'm here in what is apparently the only official FFmpeg avenue and asking for help with it. Did you actually read my questions?

What kind of response do you expect from an *ffmpeg* list?  pkg-config
does not find the library *if you actually installed it*.

Cygwin does not have a package manager.  Cygwin does not have a libaom
package.  This means you must build from source.  This means you must
build with the mingw "cross compiler" if you don't want a dependency on
cygwin1.dll.  This means you must install into where pkg-config expects
to find packages otherwise you can use PKG_CONFIG_PATH to change it.

I don't build mingw executables so I don't even know if a cygwin lib
will link correctly with mingw ones in a mingw exe.  Pick one flavour.

Furthermore you appeared to ignore the fact that configure failed and
ran make anyway so I assume you can't read error messages that are printed.

Finally: do not top post.



_______________________________________________
ffmpeg-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".

signature.asc (616 bytes) Download Attachment