8 грудня 2015 р.

Компіляція mpv player для OS Windows у VM OS OpenSUSE

https://github.com/mpv-player
Задача компілювати проект для операційної системи Windows x64, у VM linux OpenSUSE.
Є готове середовище для компіляції у вигляді образу для віртуальної машини.

Download from http://srsfckn.biz/mingw-images/ file MinGW-w64-env.x86_64-0.2.0.vmdk.xz (2015-Jun-16 17:55)


  1. extract MinGW-w64-env.x86_64-0.2.0.vmdk.xz
  2. Create new VM VMware. Linux (OpenSUSE 64-bit), 3072MB of RAM, 4 - CPU, DVD, Network Adapter, Display.

УВАГА: Пам'яті потрібно не менше ніж 2 ГБ.

  3. Add hard Disk, SCSI,  use an existing virtual disk, file name : MinGW-w64-env.x86_64-0.2.0.vmdk, convert to new format.
  4. Play VM.
  5. Boot as default.
boot VM

  6. Check IP, and connect to VM via SSH client. password: build.
  7. git clone https://github.com/lachs0r/mingw-w64-cmake
  8. cd mingw-w64-cmake

git clone
  9. cat README.rst
  10. mkdir build-64
  11. cd build-64
  12. cmake -DTARGET_ARCH=x86_64-w64-mingw32 -DCMAKE_INSTALL_PREFIX=prefix -G Ninja ..
cmake

  13. ninja mpv

У процесі компіляції, виявлено що процес переривається
[232/250] Performing configure step for 'ffmpeg'
FAILED: cd /root/mingw-w64-cmake/build-64/packages/ffmpeg-prefix/src/ffmpeg-build && /usr/bin/cmake -P /root/mingw-w64-cmake/build-64/packages/ffmpeg-prefix/src/ffmpeg-stamp/ffmpeg-configure.cmake && /usr/bin/cmake -E touch /root/mingw-w64-cmake/build-64/packages/ffmpeg-prefix/src/ffmpeg-stamp/ffmpeg-configure
CMake Error at /root/mingw-w64-cmake/build-64/packages/ffmpeg-prefix/src/ffmpeg-stamp/ffmpeg-configure.cmake:16 (message):
  Command failed: 1

   '/root/mingw-w64-cmake/build-64/exec' '/root/mingw-w64-cmake/build-64/packages/ffmpeg-prefix/src/ffmpeg/configure' '--cross-prefix=x86_64-w64-mingw32-' '--prefix=/root/mingw-w64-cmake/build-64/prefix/mingw' '--arch=x86_64' '--target-os=mingw32' '--target-exec=wine' '--pkg-config-flags=--static' '--enable-cross-compile' '--enable-runtime-cpudetect' '--enable-gpl' '--enable-version3' '--enable-nonfree' '--enable-avresample' '--enable-postproc' '--enable-avisynth' '--enable-libass' '--enable-libbluray' '--enable-libdcadec' '--enable-libfdk-aac' '--enable-libgme' '--enable-libmodplug' '--enable-libmp3lame' '--enable-libopencore-amrnb' '--enable-libopencore-amrwb' '--enable-libopus' '--enable-libspeex' '--enable-libtheora' '--enable-libvorbis' '--enable-libvpx' '--enable-libx264' '--enable-libxvid' '--enable-openssl'

  See also

    /root/mingw-w64-cmake/build-64/packages/ffmpeg-prefix/src/ffmpeg-stamp/ffmpeg-configure-*.log


ninja: build stopped: subcommand failed.
linux:~/mingw-w64-cmake/build-64 #
Після перегляду лог файлу з'ясовано що не знайдено openssl.
Інсталюємо пакунок до системи:
zypper install openssl

Після цього знову компілюємо:
ninja mpv
У разі успіху, маємо
Performing build step for 'mpv'
-- mpv build command succeeded.  See also /root/mingw-w64-cmake/build-64/packages/mpv-prefix/src/mpv-stamp/mpv-build-*.log
Completed 'mpv'


Результат тут: mpv.exe, mpv.com 
~/mingw-w64-cmake/build-64/packages/mpv-package
Результат статичної бібліотеки тут:  
~/mingw-w64-cmake/build-64/packages/mpv-dev/mpv-1.dll
libmpv.dll.a  aka  mpv.lib
Якщо треба змінити опції компіляції, наприклад додати --enable-gpl3 для права використання сторонніх модулів, то правимо файл.
~/mingw-w64-cmake/packages/mpv.cmake
Після цього знову компілюємо:
ninja mpv
P.S. Для редагування використовую пакунок  mc :
zypper install mc
 

Інший метод компіляції:
Компіляція mpv player (static) для OS Windows у MSYS2 

Немає коментарів:


Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready