qyot27 / mpv

Video player based on MPlayer/mplayer2
Other
2 stars 1 forks source link

Feedback on crosscompile-mingw-tedious goes here #1

Open qyot27 opened 11 years ago

qyot27 commented 11 years ago

https://github.com/qyot27/mpv/blob/extra-new/DOCS/crosscompile-mingw-tedious.txt

jb-alvarado commented 10 years ago

Hi, I have try your steps, and first all working fine but then it comes to iconv, and it breaks with an error. After that I am not able anymore to compile any packets. I always get this configure error:

checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make sets $(MAKE)... (cached) yes checking for i686-w64-mingw32-gcc... i686-w64-mingw32-gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.exe checking for suffix of executables... .exe checking whether we are cross compiling... configure: error: in /home/jb/mpv-build-deps/libiconv-1.14': configure: error: cannot run C compiled programs. If you meant to cross compile, use--host'. See `config.log' for more details

Have you an idea what is happen?

qyot27 commented 10 years ago

Did you install Wine?

jb-alvarado commented 10 years ago

No I don't. Is it important? Because the things before was compiling.

Edit: Ah that was it, thanks! I thought that I don't need it because I can test the apps in Windows :).

qyot27 commented 10 years ago

Lines 31 & 32:

# Wine is helpful for testing binaries while still under Ubuntu, and for more
# rigorously making the compilation process assume it's being run on Windows.

And the reason the stuff before Iconv worked is that out of the ones that use autotools, either they didn't have --build set or were setting it to i686-pc-linux-gnu (which is basically what happens if you don't set --build, assuming the OS is 32-bit). If --build is set to a MinGW environment, it needs to have Wine installed because the checks are being told to assume Windows, and without Wine, a Linux distro doesn't know what to do with Windows binaries.

jb-alvarado commented 10 years ago

Ah ok, now it gets clear for me, thanks for the explanation! At the moment it hangs on expat, but I think it is because of cmake configure and I think with ninja. apt-get install ninja-build was not working, only apt-get install ninja, and I have ubuntu 12.04 installed. I upgrade now to 14.04 and see after this how it works.

qyot27 commented 10 years ago

The 'ninja' package is not the same as 'ninja-build'. 'ninja' is a privilege escalation system, 'ninja-build' is the make tool and the package for it was first introduced in 12.10.

While I would certainly recommend moving up to 14.04, you could always grab it from the actual site: http://martine.github.io/ninja/