News:

--

Main Menu

Building Avidemux 2.6x with MINGW

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

Previous topic - Next topic

Jan Gruuthuse

#45
Most are internal (provided by mean).
Building in terminal window, should show found or not found and would indicate what is there.
You might need to install any not found separately.
Search for logs:  logbuildCore, logbuildQt4, logbuildCli, logbuildPluginsCommon, logbuildPluginsQt4, logbuildPluginsCLI. in each search for Error 1 if build fails.

terminal info while build:
buildCore:
...
**************************
***  Optional Library  ***
***      Summary       ***
**************************
*** Miscellaneous      ***
    gettext        Yes
    SDL            Yes
    XVideo         Yes
    VDPAU          Yes
    LIBVA          Yes
...

Jan Gruuthuse

more from terminal while build:
-- Checking for Qt 4
-- *****************
...
-- Checking for x264
-- *****************
...
-- Checking for x265
-- *****************
-- Checking for FreeType2
-- **********************
...
**************************
***  Optional Library  ***
***      Summary       ***
**************************
*** Video Encoder      ***
    x264           Yes
    x265           Yes
*** Miscellaneous      ***
    OpenGL         Yes
    FreeType2      Yes
    FontConfig     Yes
    FRIBIDI        Yes
    FontConfig     Yes
*** User Interface     ***
    Common         No
    GTK+           No
    Qt 4           Yes
    CLI            No
...

should be something similar for windows

AQUAR

#47
Yes it is much the same under the Msys terminal.

The Library Summary shows that I do not have a lot of these optional libraries available in my OS.
Presumably these DLL and their header files need to be placed in BIN and Include folders that are findable by the buildroot.
I hope it automatically looks for them, or that there is a config file to enable the lookup for these options.

I will try the Mingw BIN and Include folders as these are already in the system environment path (I guess globally prefixed!).

Since I've already broken so many rules I just did another no no, pinched them from a nighly build (works - well almost - 99%).
(just giving frankenADM some nuts!)

I am going to create a new setup, starting with the current status - "try 3.
In part to move this from the SSD to a HDD (just a little too much writing/deleting on my small SSD!)

Jan Gruuthuse

I installed the missing programs under ubuntu, presume something same should go in windows
like: libx264-142, x264 video coding library
http://www.videolan.org/developers/x264.html (read me in source)
see also: http://stackoverflow.com/questions/23099999/windows-how-to-build-x264-lib-instead-of-dll
unless mean tells you to do something else ;)

AQUAR

Thanks Jan,

I'll try those approaches and see how/if it pans out under windows.
Working via MSYS, I expect that prefix info is needed to incorporate these libraries.

Pity there are no active member's that have paved the "windows" way.
This was never going to be straight forward (even with Cross platform Make!) without a deeper understanding of the whole avidemux build process.

I'll try a few other ideas about the pathing issues after I comprehend this need for a fake root directory with the fakeroot command.
It seems to me that since fakeroot is not needed by the later CMake versions, there is some fixit scope there.
It's probably a very simple fix with the "knowhow"! 

AQUAR

#50
Last entry for try 2:
After studying the adminstallDir.cmake file a bit more I trapped out the "C:\" issue just for the
AVIDEMUX_SEARCH_INCLUDE_DIR and AVIDEMUX_SEARCH_LIB_DIR   (by creating an intermediate variable for the regex replace command to work on!).

I'll put the revised code here later (after I clean it up from all the superfluous stuff I put in there!).

#
IF(NOT FAKEROOT)
SET(AVIDEMUX_FAKEROOT "")
else(NOT FAKEROOT)
SET(AVIDEMUX_FAKEROOT "${FAKEROOT}/")
endif(NOT FAKEROOT)

SET(adminclude ${AVIDEMUX_INCLUDE_DIR})
SET(admlib ${AVIDEMUX_LIB_DIR})
STRING(REGEX REPLACE "C:/" "" adminclude ${adminclude})
STRING(REGEX REPLACE "C:/" "" admlib ${admlib})
SET(AVIDEMUX_SEARCH_INCLUDE_DIR ${AVIDEMUX_FAKEROOT}${adminclude})
SET(AVIDEMUX_SEARCH_LIB_DIR     ${AVIDEMUX_FAKEROOT}${admlib})
#
MESSAGE(STATUS "FAKEROOT                   : ${AVIDEMUX_FAKEROOT}")
MESSAGE(STATUS "AVIDEMUX_BIN_DIR           : ${AVIDEMUX_BIN_DIR}")
MESSAGE(STATUS "AVIDEMUX_LIB_DIR           : ${AVIDEMUX_LIB_DIR}")
MESSAGE(STATUS "AVIDEMUX_INCLUDE_DIR       : ${AVIDEMUX_INCLUDE_DIR}")
MESSAGE(STATUS "AVIDEMUX_SEARCH_INCLUDE_DIR: ${AVIDEMUX_SEARCH_INCLUDE_DIR}")
MESSAGE(STATUS "AVIDEMUX_SEARCH_LIB_DIR    : ${AVIDEMUX_SEARCH_LIB_DIR}")
#


Within that section - the dirty fix it code is:

SET(adminclude ${AVIDEMUX_INCLUDE_DIR})
SET(admlib ${AVIDEMUX_LIB_DIR})
STRING(REGEX REPLACE "C:/" "" adminclude ${adminclude})
STRING(REGEX REPLACE "C:/" "" admlib ${admlib})
SET(AVIDEMUX_SEARCH_INCLUDE_DIR ${AVIDEMUX_FAKEROOT}${adminclude})
SET(AVIDEMUX_SEARCH_LIB_DIR     ${AVIDEMUX_FAKEROOT}${admlib})


If your build environment is not on the "C:/" HDD just replace that part with whatever the HDD mount point.

Now Core, QT4 and Plugins are build in one go (without me shifting folders around!) into the install folder.
The program seems to work okay but not really tested it in detail.

It does complain right at the end with:
make: *** no rule to make target 'install'. stop.     

In the install folder:
I am missing the IL8N folder and various support run time libraries.
Also have lots of dll.a link files in there that arent needed for the final product.
Is this last "make" action to fetch those extras and clean the unnecessary?


pitoloko

#51
Hi

Two months ago I did a question in this topic, someone could answer me (even those who taken a "last courtesy" on me) ?:
Quote from: http://avidemux.org/smuf/index.php/topic,16289.msg71322.html#msg71322This is to try to solve the forward/backward problem I'm right?

TL/DR I was confused because inactivity, I've moved these words to the right topic:
Now I see that the topic title changed to "Building Avidemux 2.6x with MINGW" but the OP started talking about the backward/forward  problem (or something related about it)?

While I don't know if the backward/forward is the purpose of this topic, and also I don't have the necessary Linux skills, I will not and I can't participate here.

But how is going the forward/backward problem resolution? good results? developers or helper users still working on that problem? I wonder yes.

There is any beta that I could test for Windows about this?, in the Avidemux sourceforge there is always the stable version... it is planning to update a new stable version when?

There is something that I could do about the backward/forward problem for you?

EDIT: Or maybe I'm confused and I'm in the wrong topic? sorr if yes


Thanks for read

AQUAR

Just bumping this topic.
Will be restarting this exercise soon.
AFAIR I was able to build a working windows version of avidemux using MINGW64.
It was a frankenbuild in that various dependancies were from other sources (rather than compiled from within the same build root).

Also missing were various libraries that provided for various video and audio functionalities (eg Xvid).
WRT these missing libraries:
Does the bootstrap.bash bash script look to build these libraries from source as part of the avidemux build root?
Or do I need to build them separately (using the same compiler of course) and then package them with the rest of the avidemux files?

I never did manage to visualise all of the components and arrangements to fully build avidemux inside MINGW.

 

Jan Gruuthuse

Something was added in avidemux wiki, perhaps you did not notice and could have some additional info for you: For windows user, msysgit is available


AQUAR

Thanks Jan,

Did not notice that but will check it out.
I see you are using valgrind and getting deeper into the issues of system building.

Finally bought an AVC capable media player (only $20) so haven't been transcoding to XVID lately.