Page 1 of 1
Problems cross compiling VLC using Docker for Windows
Posted: 08 Apr 2019 15:57
by mezzode
I'm having issues cross compiling VLC following
https://forum.videolan.org/viewtopic.php?f=14&t=146175
I keep running into this:
Code: Select all
[100%] Built target aom_av1_encoder_sse2
make[2]: Leaving directory '/vlc/contrib/contrib-win64/aom/aom_build'
make[1]: Leaving directory '/vlc/contrib/contrib-win64/aom/aom_build'
cd aom/aom_build && ../../../../contrib/src/pkg-static.sh aom.pc
mv: cannot move 'aom.pc.tmp' to 'aom.pc': No such file or directory
../../contrib/src/aom/rules.mak:94: recipe for target '.aom' failed
make: *** [.aom] Error 1
Re: Problems cross compiling VLC using Docker for Windows
Posted: 08 Apr 2019 16:00
by unidan
Hi, you should use the extras/package/win32/build.sh script directly
What are the steps that you did ?
Re: Problems cross compiling VLC using Docker for Windows
Posted: 09 Apr 2019 04:22
by mezzode
I just followed the most recent instructions at the post:
6 sudo docker run -v ~/win64:/win64 -i -t registry.videolan.org:5000/vlc-debian-win64 /bin/bash (...you will now be running the build environment from a docker container as root)
7 apt-get update (updates the docker repositories)
8 apt-get install python (installs python on the docker image. Needed to compile Qt stuff later)
9 cd win64
10 git clone
https://git.videolan.org/git/vlc
11 cd vlc
12 ./extras/package/win32/build.sh -a x86_64 -i r
Re: Problems cross compiling VLC using Docker for Windows
Posted: 09 Apr 2019 09:41
by unidan
First I would say that you should clone vlc before going into the docker container, otherwise you have to start from scratch each time it fails.
You can check this to understand how to build your full environment:
https://gitlab.com/garfvl/local-vlc-compile-env
Then, registry.videolan.org:5000/vlc-debian-win64 defaults to registry.videolan.org:5000/vlc-debian-win64:latest, which is not the latest docker image. You can see on the link above how to get the latest one.
Can you try again with these two points fixed ?
Re: Problems cross compiling VLC using Docker for Windows
Posted: 09 Apr 2019 11:39
by mezzode
I'm using a volume mount so the repo persists anyway.
I got the "real" latest image using the script from the repo:
Code: Select all
apt update && apt install curl -y && curl -X GET "https://registry.videolan.org/v2/vlc-debian-win64/tags/list" | sed 's;";;g' | grep -o 'tags:\[[^\]*]' | sed 's;tags:\[\([^\]*\)];\1;' | tr ',' '\n' | grep -v "latest" | sort | tail -n 1
Which told me to use the 20190408183412 tag, which unfortunately still fails.
Code: Select all
docker run -v D:\projects\vlc2:/vlc -i -t registry.videolan.org:5000/vlc-debian-win64:20190408183412 /bin/bash
In the container:
Code: Select all
./extras/package/win32/build.sh -a x86_64 -i n
Fails at the same place.
Re: Problems cross compiling VLC using Docker for Windows
Posted: 09 Apr 2019 11:45
by unidan
If you don't find why it fails, you can remove aom from the build in the ../bootstrap for the contribs (pass --disable-aom inside build.sh).
Re: Problems cross compiling VLC using Docker for Windows
Posted: 09 Apr 2019 13:15
by mezzode
It's getting past the original error now but failing down the line.
Code: Select all
mv: cannot move 'source/x265.pc.in.tmp' to 'source/x265.pc.in': No such file or directory
../../contrib/src/x265/rules.mak:28: recipe for target 'x265' failed
make: *** [x265] Error 1
make: Target 'all' not remade because of errors.
+ make -j1
rm -f -R aribb24 && tar xvzfo ../../contrib/tarballs/aribb24-1.0.3.tar.gz
aribb24-1.0.3/
aribb24-1.0.3/.gitignore
aribb24-1.0.3/COPYING
aribb24-1.0.3/Makefile.am
aribb24-1.0.3/README.md
aribb24-1.0.3/bootstrap
aribb24-1.0.3/configure.ac
aribb24-1.0.3/src/
aribb24-1.0.3/src/aribb24.c
aribb24-1.0.3/src/aribb24.pc.in
aribb24-1.0.3/src/aribb24/
aribb24-1.0.3/src/aribb24/aribb24.h
aribb24-1.0.3/src/aribb24/bits.h
aribb24-1.0.3/src/aribb24/decoder.h
aribb24-1.0.3/src/aribb24/parser.h
aribb24-1.0.3/src/aribb24_private.h
aribb24-1.0.3/src/convtable.h
aribb24-1.0.3/src/decoder.c
aribb24-1.0.3/src/decoder_macro.h
aribb24-1.0.3/src/decoder_private.h
aribb24-1.0.3/src/drcs.c
aribb24-1.0.3/src/drcs.h
aribb24-1.0.3/src/md5.c
aribb24-1.0.3/src/md5.h
aribb24-1.0.3/src/parser.c
aribb24-1.0.3/src/parser_private.h
(cd aribb24-1.0.3 && patch -fp1) < ../../contrib/src/aribb24/libm.patch
patching file configure.ac
patching file src/aribb24.pc.in
(cd aribb24-1.0.3 && ../../../contrib/src/pkg-static.sh "src/aribb24.pc.in")
mv: cannot move 'src/aribb24.pc.in.tmp' to 'src/aribb24.pc.in': No such file or directory
../../contrib/src/aribb24/rules.mak:21: recipe for target 'aribb24' failed
make: *** [aribb24] Error 1
I tried using prebuilt contrib (for 4.X) as recommended by
https://gitlab.com/garfvl/local-vlc-compile-env but that didn't fix it.
Tip 2: use prebuilt contrib
```bash
$ mkdir -p contrib/contrib-win64 && cd contrib/contrib-win64
$ export URLPREFIX="
http://nightlies.videolan.org/build/win ... 4-mingw32-" # for vlc 3.X
$ export URLPREFIX="
http://nightlies.videolan.org/build/win ... 4-mingw32-" # for vlc 4.X
$ wget ${URLPREFIX}`date +%Y%m%d`.tar.bz2 -O vlc-contrib-x86_64-w64-mingw32-latest.tar.bz2 || wget ${URLPREFIX}`date --date=yesterday +%Y%m%d`.tar.bz2 -O vlc-contrib-x86_64-w64-mingw32-latest.tar.bz2
$ cd ../..
$ compile-vlc-win64 extras/package/win32/build.sh -p -a x86_64
```
Re: Problems cross compiling VLC using Docker for Windows
Posted: 09 Apr 2019 13:21
by unidan
If you want to use prebuilt, first remove the contrib/contrib-win64 and contrib/x86_64-.... directories.
But something looks weird in your configuration. do you compile from vlc's root directory ?
Did you clean up everything before doing so ?
Re: Problems cross compiling VLC using Docker for Windows
Posted: 10 Apr 2019 13:33
by mezzode
I am compiling from the root directory. Wasn't sure what I needed to be cleaning up between compiles, I ended up just re-cloning the repo and using prebuilt and it didnt error out! Not sure what to do next though, I can't run win64/vlc.exe, do I need to package it like
https://wiki.videolan.org/Win32Compile#Packaging_VLC or something else?
Re: Problems cross compiling VLC using Docker for Windows
Posted: 10 Apr 2019 14:37
by unidan
After used build.sh, you can do
to have a directory that you can share.