Guys, I managed to get it to compile, at last!! So problem was I needed to install the packages as listed previously and change target-os to be mingw32 from win32. Thanks!!
I have few dependency issues to resolve like missing libwinpthread-1.dll, libgcc_s_dw2-1.dll, libbz2-1.dll, zlib1.dll. Is it possible to have FFmpeg build without depending on Msys2 environment DLLs? Thanks gain. On Sun, Sep 13, 2015 at 7:51 PM, Alan Petrus <[email protected]> wrote: > Thanks Greg, > > I went through the installation process again, and I was missing > base-devel package (which gave me make and bunch of other tools). So I > modified my installation steps as follows: > > start new installation, then > pacman -Syu > update-core > pacman -S base-devel > pacman -S mingw-w64-i686-toolchain > pacman -S yasm > start mingw32 shell > > got error the lib.exe was not found in tools. > > so I started Visual Studio x86 environment and from it launched mingw32 > msys2 shell, ran make again and it fails with same error: > gcc.exe: error: unrecognized command line option > '-implib:libavutil/avutil.lib' > > I'm not sure what else to try. > > Do we know if people have compiled FFmpeg under Msys2? I know the FFmpeg > released library for Windows is compiled under Linux using cross-compile > tools. > > Any suggestions moving forward? > > Thanks > > On Sun, Sep 13, 2015 at 6:02 PM, Greg Jung <[email protected]> wrote: > >> Hi Alan, >> If by " based on what I gathered from online" does not include a heavy >> dose of the >> msys2 wiki pages found via SourceForge, then you should go read those. >> >> 1. Download and installed msys2-i686-20150512.exe to c:\msys32 >>> 2. Start MSYS2 Shell, and grab packages like so: >>> >> >> There is a gui installer that should be better at getting your first >> configuration going than you doing this by hand. Again, if you read the >> wiki again, including the >> elucidations (DON'T SKIP the explanations) ... >> >> the files in /usr/ and lower constitute support for the shell. Period. >> They should >> not be incorporated into your builds. >> >> pacman -Ss <phrase> >> >> Where phrase=package name such as python, qt, cmake, pkgconfig, etc. >> The answers should come back to show you where it would be in three >> repositories, >> named >> mingw32, mingw64, and msys. Such as for cmake: >> >>> $ pacman -Ss cmake >>> >>> mingw32/mingw-w64-i686-cmake 3.3.1-1 [installed: 3.2.3-2] >>> >>> A cross-platform open-source make system (mingw-w64). >>> >>> mingw32/mingw-w64-i686-extra-cmake-modules 5.12.0-1 >>> >>> Extra CMake modules (mingw-w64) >>> >>> mingw64/mingw-w64-x86_64-cmake 3.3.1-1 >>> >>> A cross-platform open-source make system (mingw-w64). >>> >>> mingw64/mingw-w64-x86_64-extra-cmake-modules 5.12.0-1 >>> >>> Extra CMake modules (mingw-w64) >>> >>> msys/cmake 3.2.3-1 [installed] >>> >>> A cross-platform open-source make system >>> >>> >>> Although it is installed, I absolutely do not need msys/cmake but the >> one I use is >> fo 32-bit builds under /mingw32 and compiler toolchain + library >> depencies kept >> under that subdirectory. So to install cmake I say >> >> pacman -S mingw-w64-i686-cmake >> >> and the files will be installed under /mingw32. I will use them when I >> start the mingw32-msys2 shell and the $PATH is set such that /mingw32/bin >> is first in line. >> >> $ pacman -Ss tar >> < other stuff> >> >>> msys/bsdtar 3.1.2-5 (base) [installed] >>> >>> library that can create and read several streaming archive formats >>> >>> msys/perl 5.22.0-2 (base-devel) [installed] >>> >>> A highly capable, feature-rich programming language >>> >>> msys/tar 1.28-3 (compression) [installed] >>> >>> Utility used to store, backup, and transport files >>> >>> So these utilities are attached to msys because they just do stuff >> unrelated directly to building your compile. >> Be sure to get pkg-config: >> >>> $ pacman -Ss pkgconfig >>> >>> msys/perl-ExtUtils-PkgConfig 1.15-2 (perl-modules) >>> >>> The Perl Pkgconfig module >>> >>> msys/pkg-config 0.28-2 (base-devel) [installed] >>> >>> A system for managing library compile/link flags >>> >>> >>>> greg@Homerw7 MINGW64 ~ >>> >>> $ pacman -Ss pkg >>> >>> mingw32/mingw-w64-i686-pkg-config 0.28-5 (mingw-w64-i686-toolchain) >>>> [installed: 0.28-4] >>> >>> A system for managing library compile/link flags (mingw-w64) >>> >>> mingw64/mingw-w64-x86_64-pkg-config 0.28-5 (mingw-w64-x86_64-toolchain) >>>> [installed: 0.28-4] >>> >>> A system for managing library compile/link flags (mingw-w64) >>> >>> msys/perl-ExtUtils-PkgConfig 1.15-2 (perl-modules) >>> >>> The Perl Pkgconfig module >>> >>> msys/pkg-config 0.28-2 (base-devel) [installed] >>> >>> A system for managing library compile/link flags >>> >>> >> >>> > rename C:\msys32\usr\bin\link.exe to C:\msys32\usr\bin\link.exe.bak >>> > >>> >> If you've been experimenting with the /usr/ files you probably want to >> just wipe it all >> and start fresh. Use the gui installer, get the msys2 in the windows >> menu ... >> do it all "By The Book" >> >> On Sat, Sep 12, 2015 at 8:21 PM, Alan Petrus <[email protected]> >> wrote: >> >>> >>> Hi Guys, >>> >>> I'm trying to compile FFmpeg under Windows 10 using Msys2, targeting >>> 32-bit. However, compiling fails. Here are the steps that I put together >>> based on what I gathered from online: >>> >>> 1. Download and installed msys2-i686-20150512.exe to c:\msys32 >>> 2. Start MSYS2 Shell, and grab packages like so: >>> pacman -Syu (I've noticed bash.exe crash at times, but retying >>> works) >>> pacman -S make >>> pacman -S gcc >>> pacman -S diffutils >>> pacman -S coreutils >>> pacman -S pkg-config >>> pacman -S tar >>> pacman -S yasm >>> rename C:\msys32\usr\bin\link.exe to C:\msys32\usr\bin\link.exe.bak >>> start VS2015 x86 Native Tools Command Prompt, then start >>> c:\msys32\msys2_shell.bat (so we get access to lib.exe and link.exe) >>> >>> Then I run configure followed by make like so: >>> >>> ../../../configure --extra-ldflags="-Wl,-add-stdcall-alias" >>> --enable-memalign-hack --target-os=win32 --arch=x86 --enable-cross-compile >>> --enable-shared --disable-static --disable-d3d11va --disable-debug >>> --prefix=../../../output/win/x86 >>> >>> make >>> >>> Here is the error: >>> LD libavutil/avutil-54.dll >>> gcc: error: unrecognized command line option >>> ‘-implib:libavutil/avutil.lib’ >>> /home/Prezla/ffmpeg-2.7.2/library.mak:111: recipe for target >>> 'libavutil/avutil-54.dll' failed >>> make: *** [libavutil/avutil-54.dll] Error 1 >>> >>> >>> My impression is that Msys2 is sufficient to build FFmpeg. I don't >>> understand what Mingw's role is or if it's needed. Any suggestions? Did I >>> miss something? >>> >>> Thank you in advanced, >>> >>> /D >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> Msys2-users mailing list >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/msys2-users >>> >>> >> >
------------------------------------------------------------------------------
_______________________________________________ Msys2-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/msys2-users
