Author Topic: Compiling Avidemux v2.5.6 on Windows  (Read 24189 times)

pulkitw

  • Newbie
  • *
  • Posts: 21
Re: Compiling Avidemux v2.5.6 on Windows
« Reply #15 on: July 04, 2012, 12:16:11 PM »
As i said earlier i had "coreutils-5.97-2-msys-1.0.11-bin"

gruntster

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 607
    • http://avidemux.razorbyte.com.au
Re: Compiling Avidemux v2.5.6 on Windows
« Reply #16 on: July 04, 2012, 12:27:17 PM »
I don't see that in your previous posts but no worries.  Perhaps try upgrading to coreutils 5.97-3 bin and ext packages.  You need pr.exe.

pulkitw

  • Newbie
  • *
  • Posts: 21
Re: Compiling Avidemux v2.5.6 on Windows
« Reply #17 on: July 04, 2012, 12:52:33 PM »
Apologies, i had forgot to mention it before.
upgrading coreutils has done the job.

but i guess avidemux has some serious issues with me..
Here's another problem while running make:


gruntster

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 607
    • http://avidemux.razorbyte.com.au
Re: Compiling Avidemux v2.5.6 on Windows
« Reply #18 on: July 05, 2012, 12:16:04 AM »
It looks like you're using a 64-bit compiler with 32-bit libraries.

My guide was written at a time when only 32-bit builds were possible.  32-bit is still easier to do than 64-bit because more libraries are available pre-built as 32-bit.

I'd recommend getting 32-bit to work first.  You have two options:
1. Use a 32-bit (i686) compiler instead of 64-bit (x86_64).
2. If you're using a multilib compiler such as niXman's then you can instruct your 64-bit compiler to produce 32-bit binaries.  Execute the following lines in your MSYS shell or add them to your MSYS profile:

Code: [Select]
export CFLAGS="$CFLAGS -m32"
export CXXFLAGS="$CXXFLAGS -m32"
export LDFLAGS="$LDFLAGS -m32"

You'll need to start again with an empty build folder once you've made your tweaks.

pulkitw

  • Newbie
  • *
  • Posts: 21
Re: Compiling Avidemux v2.5.6 on Windows
« Reply #19 on: July 05, 2012, 08:04:32 AM »
Thanks gruntster, i was using niXman's compiler, executing MSYS shell commands did the job :)

I got another error while running the make command. I tried to figure it out but i could understand why the error is there, like i did not find any error in the code.

« Last Edit: July 05, 2012, 09:45:19 AM by pulkitw »

gruntster

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 607
    • http://avidemux.razorbyte.com.au
Re: Compiling Avidemux v2.5.6 on Windows
« Reply #20 on: July 05, 2012, 10:41:10 AM »
Weird.  One of the external libraries must also declare something called DELETE.  I can't reproduce the issue.

You could rename the DELETE macro in ADM_videoFilter.h and all source files that use it.  Alternatively you could search the header files in your MSYS and MinGW include folders for a conflicting DELETE declaration.  It may provide some insight into how to work around the problem in a cleaner fashion.

Jan Gruuthuse

  • Hero Member
  • *****
  • Posts: 6051
Re: Compiling Avidemux v2.5.6 on Windows
« Reply #21 on: July 05, 2012, 12:35:39 PM »
DELETE was a reserved word in Visual FoxPro (database programming) perhaps some library is using this to? Don't know if this would be the case for other programs?

pulkitw

  • Newbie
  • *
  • Posts: 21
Re: Compiling Avidemux v2.5.6 on Windows
« Reply #22 on: July 06, 2012, 06:24:36 AM »
I renamed the DELETE macro, as i could not find any other file in MSYS and MinGW defining the same macro, it worked also but i got stuck here



I thought maybe i have modified wrong part of the file and so i downloaded the source code again and started compiling w/o changing the macro, it compiled smoothly through ADM_video/videoFilter, so i could not figure out exactly what was the issue with DELETE macro but anyways i got stuck at the same error mentioned above. I am out of ideas how should i cater this.

« Last Edit: July 06, 2012, 06:28:13 AM by pulkitw »

gruntster

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 607
    • http://avidemux.razorbyte.com.au
Re: Compiling Avidemux v2.5.6 on Windows
« Reply #23 on: July 06, 2012, 06:31:25 AM »
I'd say the ffmpeg build failed.  If you type "make ffmpeg" do you see an error in the output?

pulkitw

  • Newbie
  • *
  • Posts: 21
Re: Compiling Avidemux v2.5.6 on Windows
« Reply #24 on: July 06, 2012, 06:36:15 AM »
Yes, ffmpeg build failed.



how should i cater this?

gruntster

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 607
    • http://avidemux.razorbyte.com.au
Re: Compiling Avidemux v2.5.6 on Windows
« Reply #25 on: July 06, 2012, 06:43:24 AM »
If you're still using the niXman MinGW build then please delete dxva2api.h from MSYS/local/include.  A compatible version should already exist in mingw/x86_64-w64-mingw32/include.

pulkitw

  • Newbie
  • *
  • Posts: 21
Re: Compiling Avidemux v2.5.6 on Windows
« Reply #26 on: July 06, 2012, 07:04:56 AM »
Gruntster, even after deleting the dxva2api.h from MSYS/local/include i am getting the same error.

make ffmpeg gives this result :


gruntster

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 607
    • http://avidemux.razorbyte.com.au
Re: Compiling Avidemux v2.5.6 on Windows
« Reply #27 on: July 06, 2012, 07:07:17 AM »
What's the first error when executing "make ffmpeg"?

pulkitw

  • Newbie
  • *
  • Posts: 21
Re: Compiling Avidemux v2.5.6 on Windows
« Reply #28 on: July 06, 2012, 07:15:40 AM »
yea i have grabbed both the coreutils-5.97.3 packages as you said.
Sorry i could not redirect the errors to a file ( > filename did not work )
so here is the screen grab :


« Last Edit: July 06, 2012, 07:32:45 AM by pulkitw »

gruntster

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 607
    • http://avidemux.razorbyte.com.au
Re: Compiling Avidemux v2.5.6 on Windows
« Reply #29 on: July 06, 2012, 09:04:08 AM »
To capture errors to file, use "command 2> filename".

I guess it can't find dxva2api.h but I'd expect a missing header error instead.  I've actually added the include folder to my CFLAGS, CXXFLAGS and CMAKE_INCLUDE_PATH so maybe you need the same.  e.g.

Code: [Select]
export CMAKE_INCLUDE_PATH=/usr/local/include;/mingw/x86_64-w64-mingw32/include
export CFLAGS=-I/usr/local/include -I/mingw/x86_64-w64-mingw32/include
export CXXFLAGS=-I/usr/local/include -I/mingw/x86_64-w64-mingw32/include