Skip to content

Some more smal fixes Dockerfile + question regarding ffmpeg hotfix #79

@abcnorio

Description

@abcnorio

Hij,

some more small fixes while creating the docker:

  1. Missing "/" in COPY command (gives out an error)
COPY --from=base /workspace/Python-3.12.5/libpython3.12.so* /workspace/Python-3.12.5/libpython3.so \
  /workspace/Python-3.12.5/libpython3.so /usr/lib/

requires / at the end (target) ie. /usr/lib/ and not /usr/lib

  1. Source does not exist in COPY command

COPY --from=base /usr/local/lib/x86_64-linux-gnu/vapoursynth /usr/local/lib/x86_64-linux-gnu/vapoursynth

error -> source does not exist (???) - unclear to me.
How does one gets access to a special stage image like here the base? I know how to do it with docker run --rm- it ID when there is an ID, but re-running the Dockerfile gives out IDs only for later stages. With docker images it lists a lot of images but unclear which one to choose? The

FROM ubuntu:24.04 AS base

call does not label the stage image? From the created images there is no image with tag base. So one cannot just run it with docker run --rm -it base. ??? So could not really validate the error later and building takes a whole day on my HW.

  1. Missing "/" in COPY command (gives out an error)

COPY --from=base /workspace/hotfix/* /workspace/

same as (1) -> added "/" so that it is /workspace/

  1. COPY error from tensorrt-ubuntu

Step 298/314 : COPY --from=tensorrt-ubuntu /usr/local/tensorrt/lib/libnvinfer_plugin.so* /usr/local/tensorrt/lib/libnvinfer_vc_plugin.so* /usr/local/tensorrt/lib/libnvonnxparser.so* /usr/lib/x86_64-linux-gnu/
COPY failed: no source files were specified

Could not understand that (typo somewhere??) and merged the call slightly with the next one to

COPY --from=tensorrt-ubuntu /usr/local/cudnn/lib/libcudnn*.so* /usr/local/tensorrt/lib/libnvinfer.so* /usr/local/tensorrt/lib/libnvinfer_builder_resource.so* /usr/local/tensorrt/lib/#libnvonnxparser.so* \
  /usr/local/tensorrt/lib/libnvonnxparser.so* /usr/local/tensorrt/lib/libnvparsers.so.8* /usr/local/tensorrt/lib/libnvinfer_plugin.so.8* /usr/local/tensorrt/lib/libnv* /usr/lib/x86_64-linux-gnu/

which worked.

  1. Does the ffmpeg hotfix "destroy" the "final" apt/deb system?
# ffmpeg hotfix
COPY --from=base /workspace/hotfix/* /workspace/
RUN dpkg --force-all -i *.deb  && rm -rf *deb

Just wanted to add vsmpeg and dgmpegdec (via wine) at the end for the final image, but it resulted in a broken libc6 - going back in the Dockerfile and after the "final" cuda image was introduced, only this hotfix was a real dpkg call that could lead to that. Any method to prevent this? Using LD_LIBRARY_PATH and copy all libs required by ffmpeg into one folder? Do some

dpkg-deb -R $PACKAGENAME $TARGETDIR
cp $TARGETDIR/... /$PATH-TO-FFMPEG-LIBS

etc.

and before at runtime check what ffmpeg depends on and collect that from the unpacked debs. Would that work or have you abstained from that due to the additional disk space required?

btw - with my addons it built fine, no chance to test it yet, but no errors.

Thx and best!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions