News:

--

Main Menu

Building Avidemux 2.6x with MINGW

Started by AQUAR, November 01, 2014, 12:16:09 PM

Previous topic - Next topic

AQUAR

Has anyone build Avidemux 2.6.x using MinGW lately?

There are a few issues with the crosscompiled windows version of avidemux.
I am curious if they still would exist if avidemux was build with this more native build environment.

If it has been successfully done before, I could try it (with some help!).
There is also the debugger that might help shed some light on such issues.


AQUAR

#2
Yes I've read the guide but have the impression it was written back in the days of Avidemux 2.5x.
For example: there are some URL's to fetch dependencies that point to 404's (no longer exist!).

I've DL MinGW (looking for the debugger!).
Time permitting I'll set it up and see what issues will crop up.
If esoteric issues do crop up to get to a working windows build platform, then I will be out of my depth.
Hence the reason why I was asking if others have paved the way.

mean

It should work with mingw still
The thing is that EVERYTHING must have been built with the same compiler / libc/libstdc++
else you'll have weird crashes

AQUAR

#4
I'll give it go on and see how far I get without pulling my hair out.
It won't be quick due to time constraints, having to relearn how to do this, and my now aging mind.

Last time I did any compiling was 20 years ago, on a turbo pascal program I wrote.
A reliability/availability program using Markov models (modelling creates a set of non linear differential equations - Kolmogorof equations).






AQUAR

#5
In case any windows based members are interested in this topic and want to join in.

No real problems, installing MinGW and the MSYS unix like CLI shell, using the installer from the MinGW site.
I was able to compile the "hello world" program but only after sorting out some issues with windows 7 Path variables .

Problem 1:

Seems windows 7 doesn't like Path variables in the User environment.
Instead I had to add the MinGW/MSYS paths to the Path variable in the System Environment (not the best idea!).

Even then the assembler was unable to find library entry points called for by the simple "hello world" program.
Problem here being that on my system there are various programs that also include these libraries.
The assembler finds these instead, unless in the Path variable string you shift the position of "MinGW/bin" to be ahead of these other program path entries.

In turn that broke the functioning of some of these other programs.

Problem 2:
The original MinGW project doesn't include QT which is one of the windows Avidemux dependencies.
The avidemux developer (J. Mean) made one thing clear in that everything needs to be compiled with the same compiler.
So I either compile QT with this version or maybe better - apparently QT is available as a binary that comes with a compatible MinGW (If I understand it correctly!).

Problem 3:
The original MinGW project is also only for 32 bit systems.
But there is a fork MinGW-w64 (for 32 bit and 64 bit systems) that seems more suited for this task.

So it seems I picked the wrong MinGW and also a too cluttered OS to create the avidemux/windows build environment.

Hence, I'll have to start again and better do it on a fresh windows 7 SP1 64 bit system (the KISS princple!).

mean

The mingw64 version is better
Warning, you'll probably need to recompile QT
It's not difficult, it just takes forever

pitoloko

#7
This is to try to solve the forward/backward problem I'm right?

A brief guideline is possible to those newbies like me who are not experienced with Linux and all what is related about that such as compilling under Windows using mingw ?

@Aquar talked about the problems, but for example someone could link the proper urls to download the software requisites to accomplish this task and explain how to compile it.

1. Is this the right Avidemux source that I should download?
http://sourceforge.net/projects/avidemux/files/avidemux/2.6.8/avidemux_2.6.8.tar.gz/download

2.  Is this the right MingW version that I should download?
http://sourceforge.net/projects/mingw-w64/
http://sourceforge.net/projects/mingw-w64/files/latest/download?source=files

3. Is this the right QT version that I should download?
http://download.qt-project.org/official_releases/online_installers/qt-opensource-windows-x86-1.6.0-5-online.exe

4. I should use the default installer config options when installing MingW or I select x86_x64 arquitecture?

5. What to do next about this task to compile AviDemux, and how?.

I'm under Windows 8 and 8.1 x64.

Jan Gruuthuse

Once you have this working, perhaps switching source code to git clone https://github.com/mean00/avidemux2.git

AQUAR

#9
Thanks Jan.
Mean seems to have settled on Github following the Berlios reorganisation.

Its nice that Github has a few options for cloning the source code repository.
Will try the SVN method!.

Jan Gruuthuse

I think it would be prudent to stay with QT 4.8.6, unless mean tells you otherwise ;)

AQUAR

I did wonder about that, whilst looking through various scripts in the source code.
Means comment, that I will probably need to recompile QT, suggests that as well
(ie - only since QT 5 that MinGW installer versions became available with QT 5 bundled as a binary).

I am certain I will make lots of false starts in setting up this windows based build environment.
Unavoidable on account of the steep learning curve (don't know much about C++, nor much about the modern programming methodology).
The fresh windows install is just for this project and will be configured for quick regression/recovery.
Plan is to break it down in small steps (try it - fix it - seek help if needed - move on).

Also send grunster a private email for help - just on the off chance he has some free time and willing to do that.
Hopefully he occasionally reads his avidemux emails.


mean

Gruntster did write a small doc about that
Not sure where it is now

AQUAR

#13
That would be another very helpful document.
The Wiki and the PDF from Grant Pedersen (very similar content) are also very useful.

If any member has a copy of Gruntsters doco - would you please share.

AQUAR

#14
It might be interesting if I add an occasional progress update (dot summary format) on this thread.
These will be from a totally green perspective, so will be low in techno babble and full of setup mistakes.

Try 2:
. Installed a fresh windows 7, SP1, 64 bit, onto a SSD, and created a multiboot to it.
. With earlier comments in mind (same compiler for all, QT 4.8.6, 64 bit OS etc) I DL these:
  From the QT site:  qt-4.8.6-x64-mingw482r3-seh-rev1.exe (turnd out to be a POSIX threading model)
  From sourceforce: msys+7za+wget+svn+git+mercurial+cvs-rev13.7z
. From these 2 packages I installed the QT binaries and the included MinGW (used to compile these QT binaries).
  Extracted the msys package that seems to include lots of the packages needed by the build system.
. Used SVN from the msys package to checkout the trunk branch of avidemux2 source from the github repository.
  (It got cloned in the \home\user virtual directory structure of MSYS - not sure if that is the desired location)
. Tested the helloworld program after adding all the Path variables in the windows environment variables GUI.
. G++ compiled the helloworld okay (I was amazed!).

Now it gets hard as I have no idea yet how to configure this all for building avidemux.
Judging from the avidemux wiki there is a lot of preliminary stuff to digest.
I did find one cmakelist.txt (probably not where it  begins!).

Next I will check-off all the dependencies listed in the WIKI (hope that this list is still valid for V2.6).