rdp / ffmpeg-windows-build-helpers

Helper script for cross compiling some media tools for windows, like customizable ffmpeg.exe (with or without non-free components, etc), and some other bonuses like mplayer, mp4box, mxf, etc.
GNU General Public License v3.0
1.09k stars 414 forks source link

Set docker platform #658

Closed cmoore1776 closed 2 years ago

cmoore1776 commented 2 years ago

Explicitly set the docker platform to amd64. There are arm Ubuntu images, but this project won't currently build as-is in arm. This is necessary for environments which, when platform is not set, default to arm when pulling/building Docker images, e.g. Apple Silicon Macs.

rdp commented 2 years ago

Thanks!

BeyondVertical commented 1 year ago

I just tried the docker version of the script and it works great on my Synology. On my Pi 4 I could not get it to work - it stopped at libbs2b. Would it be somehow possible to get it to work on a Pi? That would be really cool.

rdp commented 1 year ago

what failure?

BeyondVertical commented 1 year ago

This one:

Already made /home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/win64 libbluray_git ...
configuring libbs2b-3.1.0 (/home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/win64/libbs2b-3.1.0) as $ PKG_CONFIG_PATH=/home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32/lib/pkgconfig PATH=/home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/bin:$PATH ./configure --host=x86_64-w64-mingw32 --prefix=/home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32 --disable-shared --enable-static
all touch files already_configured* touchname= already_configured_601112a27c06b8d4ad6f9cf3fcd85e2a-
config options --host=x86_64-w64-mingw32 --prefix=/home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32 --disable-shared --enable-static ./configure
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for x86_64-w64-mingw32-strip... x86_64-w64-mingw32-strip
checking for x86_64-w64-mingw32-g++... x86_64-w64-mingw32-g++
checking for C++ compiler default output file name... a.exe
checking whether the C++ compiler works... yes
checking whether we are cross compiling... yes
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether x86_64-w64-mingw32-g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of x86_64-w64-mingw32-g++... gcc3
checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc
checking whether we are using the GNU C compiler... yes
checking whether x86_64-w64-mingw32-gcc accepts -g... yes
checking for x86_64-w64-mingw32-gcc option to accept ISO C89... none needed
checking dependency style of x86_64-w64-mingw32-gcc... gcc3
checking build system type... build-aux/config.guess: unable to guess system type

This script, last modified 2009-06-03, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from

  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and
  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD

If the version you run (build-aux/config.guess) is already up to date, please
send the following data and any information you think might be
pertinent to <config-patches@gnu.org> in order to provide the needed
information to handle your system.

config.guess timestamp = 2009-06-03

uname -m = aarch64
uname -r = 5.15.76-v8+
uname -s = Linux
uname -v = #1597 SMP PREEMPT Fri Nov 4 12:16:41 GMT 2022

/usr/bin/uname -p = unknown
/bin/uname -X     =

hostinfo               =
/bin/universe          =
/usr/bin/arch -k       =
/bin/arch              = aarch64
/usr/bin/oslevel       =
/usr/convex/getsysinfo =

UNAME_MACHINE = aarch64
UNAME_RELEASE = 5.15.76-v8+
UNAME_SYSTEM  = Linux
UNAME_VERSION = #1597 SMP PREEMPT Fri Nov 4 12:16:41 GMT 2022
configure: error: cannot guess build type; you must specify one
failed configure libbs2b-3.1.0

I have a Pi 4 with 64 Bit PiOS.

rdp commented 1 year ago

I slightly modified b2sb, pull! :)

On Sun, Dec 11, 2022 at 12:20 AM BlackScreen @.***> wrote:

This one:

Already made /home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/win64 libbluray_git ... configuring libbs2b-3.1.0 (/home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/win64/libbs2b-3.1.0) as $ PKG_CONFIG_PATH=/home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32/lib/pkgconfig PATH=/home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/bin:$PATH ./configure --host=x86_64-w64-mingw32 --prefix=/home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32 --disable-shared --enable-static all touch files already_configured* touchname= already_configured_601112a27c06b8d4ad6f9cf3fcd85e2a- config options --host=x86_64-w64-mingw32 --prefix=/home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32 --disable-shared --enable-static ./configure configure: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used. checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking for x86_64-w64-mingw32-strip... x86_64-w64-mingw32-strip checking for x86_64-w64-mingw32-g++... x86_64-w64-mingw32-g++ checking for C++ compiler default output file name... a.exe checking whether the C++ compiler works... yes checking whether we are cross compiling... yes checking for suffix of executables... .exe checking for suffix of object files... o checking whether we are using the GNU C++ compiler... yes checking whether x86_64-w64-mingw32-g++ accepts -g... yes checking for style of include used by make... GNU checking dependency style of x86_64-w64-mingw32-g++... gcc3 checking for x86_64-w64-mingw32-gcc... x86_64-w64-mingw32-gcc checking whether we are using the GNU C compiler... yes checking whether x86_64-w64-mingw32-gcc accepts -g... yes checking for x86_64-w64-mingw32-gcc option to accept ISO C89... none needed checking dependency style of x86_64-w64-mingw32-gcc... gcc3 checking build system type... build-aux/config.guess: unable to guess system type

This script, last modified 2009-06-03, has failed to recognize the operating system you are using. It is advised that you download the most up to date version of the config scripts from

http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD and http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD

If the version you run (build-aux/config.guess) is already up to date, please send the following data and any information you think might be pertinent to @.***> in order to provide the needed information to handle your system.

config.guess timestamp = 2009-06-03

uname -m = aarch64 uname -r = 5.15.76-v8+ uname -s = Linux uname -v = #1597 SMP PREEMPT Fri Nov 4 12:16:41 GMT 2022

/usr/bin/uname -p = unknown /bin/uname -X =

hostinfo = /bin/universe = /usr/bin/arch -k = /bin/arch = aarch64 /usr/bin/oslevel = /usr/convex/getsysinfo =

UNAME_MACHINE = aarch64 UNAME_RELEASE = 5.15.76-v8+ UNAME_SYSTEM = Linux UNAME_VERSION = #1597 SMP PREEMPT Fri Nov 4 12:16:41 GMT 2022 configure: error: cannot guess build type; you must specify one failed configure libbs2b-3.1.0

— Reply to this email directly, view it on GitHub https://github.com/rdp/ffmpeg-windows-build-helpers/pull/658#issuecomment-1345477977, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAADBUAQ5HZXQ6AG3OXCQSTWMV6E3ANCNFSM6AAAAAAR6TGNXQ . You are receiving this because you modified the open/close state.Message ID: @.***>

BeyondVertical commented 1 year ago

I slightly modified b2sb, pull! :)

Thanks, I did - but the Pi still says no.

Already made /home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/win64 libbluray_git ...
configuring libbs2b-3.1.0 (/home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/win64/libbs2b-3.1.0) as $ PKG_CONFIG_PATH=/home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32/lib/pkgconfig PATH=/home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/bin:$PATH ./configure --host=x86_64-w64-mingw32 --prefix=/home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32 --disable-shared --enable-static --build=x86_64-w64-mingw32
all touch files already_configured* touchname= already_configured_d66ca5be383db9a93946d138523aed84-
config options --host=x86_64-w64-mingw32 --prefix=/home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32 --disable-shared --enable-static --build=x86_64-w64-mingw32 ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for x86_64-w64-mingw32-g++... x86_64-w64-mingw32-g++
checking for C++ compiler default output file name... a.exe
checking whether the C++ compiler works... configure: error: in `/home/pi/ffmpeg/ffmpeg-windows-build-helpers/sandbox/win64/libbs2b-3.1.0':
configure: error: cannot run C++ compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
failed configure libbs2b-3.1.0
Biswa96 commented 1 year ago

For cross compiling, you only need --host option. autotools will figure out the rest.

cmoore1776 commented 1 year ago

I slightly modified b2sb, pull! :)

Thanks, I did - but the Pi still says no.

configure: error: cannot run C++ compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
failed configure libbs2b-3.1.0

@rdp This is the same error I'm getting as discussed here

rdp commented 1 year ago

I reverted it for now, libbs2b seems pretty whacky...