BtbN / FFmpeg-Builds

MIT License
7.43k stars 1.02k forks source link

Error building win32 lgpl-shared #266

Closed roddypratt closed 1 year ago

roddypratt commented 1 year ago

I'm using Docker desktop on Windows, VS Code with git bash terminal.

./makeimage.sh win32 lgpl-shared appears to run correctly

However ./build.sh win32 lgpl-shared fails with this:

+ docker run --rm -v /c/vmtest/FFmpeg-Builds:/uidtestdir ghcr.io/btbn/ffmpeg-builds/win32-lgpl-shared:latest touch /uidtestdir/uidtestfile
Unable to find image 'ghcr.io/btbn/ffmpeg-builds/win32-lgpl-shared:latest' locally
docker: Error response from daemon: Head "https://ghcr.io/v2/btbn/ffmpeg-builds/win32-lgpl-shared/manifests/latest": denied.
See 'docker run --help'.

In addition, a strangely named folder is created 'alongside' the repository folder.

$ ls -l
total 8
drwxr-xr-x 1 ibc 197121 0 May  3 14:28  FFmpeg-Builds/
drwxr-xr-x 1 ibc 197121 0 May  3 16:02 'FFmpeg-Builds;C'/

I suspect this is due to Windows path-naming? Any advice would be welcome.

BtbN commented 1 year ago

What image did it create? And how/what created that directory? Generally, I only ever test this set of scripts on Linux. If you want to run it on Windows, I'd highly recommend using WSL.

dustypigtv commented 1 year ago

I'm getting the same error for "./build.sh win64 nonfree 6.0," trying to compile on ubuntu

BtbN commented 1 year ago

It's expected for variants which don't have a pre-made image (like win32 or nonfree ones). You have to run the makeimage script first, to locally build the image.

It's not expected to still show up right after you built said image.

green-kartik commented 1 year ago

./makeimage.sh win32 lgpl-shared 5.0 debug I got this error running it on windows. Any suggestion for me?

 ERROR: failed to solve: process "/bin/sh -c git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng &&     ./bootstrap &&     ./configure --enable-local &&     make -j$(nproc) &&     cp /.config .config &&     ./ct-ng build &&     cd / &&     rm -rf ct-ng" did not complete successfully: exit code: 2
+ rm -f /tmp/tmp.oxpuYsMIJT.toml
+ docker container stop ffbuildreg
ffbuildreg
roddypratt commented 1 year ago

What image did it create? And how/what created that directory? Generally, I only ever test this set of scripts on Linux. If you want to run it on Windows, I'd highly recommend using WSL.

Thanks, I'll try with WSL.

It didn't appear to create any Docker image - even though it appeared to run cleanly. (apart from registry and moby/buildkit images) . Strangely, I can't repeat that today - now I get the same error reported by @green-kartik ABOVE.

roddypratt commented 1 year ago

If you want to run it on Windows, I'd highly recommend using WSL.

Seems to have built fine with WSL, once I'd got docker and WSL to play nicely. Thanks again.

Maybe worth noting that zip is also a prerequisite? My first build.sh failed because I was missing that.

BtbN commented 1 year ago

./makeimage.sh win32 lgpl-shared 5.0 debug I got this error running it on windows. Any suggestion for me?

 ERROR: failed to solve: process "/bin/sh -c git clone --filter=blob:none https://github.com/crosstool-ng/crosstool-ng.git /ct-ng && cd /ct-ng &&     ./bootstrap &&     ./configure --enable-local &&     make -j$(nproc) &&     cp /.config .config &&     ./ct-ng build &&     cd / &&     rm -rf ct-ng" did not complete successfully: exit code: 2
+ rm -f /tmp/tmp.oxpuYsMIJT.toml
+ docker container stop ffbuildreg
ffbuildreg

What's the actual error you're getting?

green-kartik commented 1 year ago

Thanks @BtbN @roddypratt Yes finally got it working in WSL ubuntu. But this didn't resolve my issue. What does debug flag actually do? I thought it would let me debug into the library. My code just skips over the the ffmpeg library calls when I try to step into ffmpeg code. How can I step into the ffmpeg code?

BtbN commented 1 year ago

The debug flag will disable stripping, so the final binaries will contain all debug symbols, so gdb can make sense of them. That's really all there is to it.

green-kartik commented 1 year ago

Ahh.. Okay. Thanks @BtbN.