Page 1 of 1

Where did I go wrong compiling FFMpeg? [SOLVED]

Posted: Sun Nov 13, 2022 12:19 pm
by Jasper

The title says it all :lol:

Using Fossapup64_9-5 DevX, it compiled successful and the screenshots display this. Today's snapshot 13 November 2022.

However complains of missing libraries once DevX file is unloaded.

Here's the input:

Code: Select all


./configure --prefix=/usr --enable-nonfree --enable-gpl --enable-shared --enable-small --enable-gray --enable-swscale-alpha --enable-autodetect --enable-ffmpeg --enable-ffplay --enable-ffprobe --disable-doc --disable-htmlpages --disable-podpages --disable-txtpages --enable-avdevice --enable-avcodec --enable-avformat --enable-swresample --enable-swscale --enable-postproc --enable-avfilter --enable-pthreads --disable-w32threads --disable-os2threads --enable-network --enable-dct --enable-dwt --enable-error-resilience --enable-lsp --enable-mdct --enable-rdft --enable-fft --enable-faan --enable-pixelutils --enable-alsa --enable-chromaprint --enable-gmp --enable-iconv --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdc1394 --enable-libfdk-aac --enable-libfontconfig --enable-libfribidi --enable-libgme --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librsvg --enable-librubberband --enable-librtmp --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxcb-shm --enable-libxcb-xfixes --enable-libxcb-shape --enable-libxvid --enable-libxml2 --enable-libzmq --enable-libzvbi --enable-libmysofa --enable-openal --enable-opengl --enable-sndio --enable-sdl2 --enable-version3

Screenshots:
https://www.mediafire.com/file/9b01rv6n ... ar.gz/file

Binaries:
https://www.mediafire.com/file/tdv17iab ... ar.gz/file


Re: Where did I go wrong compiling FFMpeg?

Posted: Sun Nov 13, 2022 3:28 pm
by fredx181

Did you do make install ? (before unloading devx), it should probably install the libraries required.


Re: Where did I go wrong compiling FFMpeg?

Posted: Sun Nov 13, 2022 3:58 pm
by jamesbond

Your newly compiled ffmpeg is using some of the libraries that only exist in devx.
Load devx, locate those libraries, and then touch them to copy them over to your pup_save.
Do this for all the missing libraries and you should be able to run ffmpeg without devx afterwards.

Example:

Code: Select all

# ffmpeg
ffmpeg: error while loading shared libraries: libx264.so.152: cannot open shared object file: No such file or directory
# find /usr -name libx264.so.152
/usr/lib64/libx264.so.152
# touch /usr/lib64/libx264.so.152

Good luck.


Re: Where did I go wrong compiling FFMpeg?

Posted: Sun Nov 13, 2022 6:42 pm
by Jasper

Thank you both for taking the time to look and reply back to me.

@fredx181

Yes, I did use the command at the very end.

@jamesbond

I did try the command you suggested. When I did so it did not give me reply, just return back to root#
Tried ffmpeg again and it returned the same error.

I did find a solution which has worked and that was simply to use the same command but change the following:

--enable-shared to --disable-shared

I decided to use the latest LTS build available instead of the snapshot that I had downloaded earlier.

As you can imagine I do know have larger binary files but they do work.


Re: Where did I go wrong compiling FFMpeg?

Posted: Sun Nov 13, 2022 6:51 pm
by Jasper

There has been a big difference in filesize for my earlier attempt.

Unsure as if I should upload them to share as originals are tiny in comparison.


Re: Where did I go wrong compiling FFMpeg?

Posted: Sun Nov 13, 2022 6:56 pm
by mikewalsh

@Jasper :-

Just for future reference, you may like to be aware of this site:-

https://johnvansickle.com/ffmpeg/

JvS has been compiling Linux static builds of ffmpeg for some years. Yes, they ARE considerably larger than Puppy's usually tiny, dynamically-compiled versions, but that's because they've already got everything linked & built inside of them.

Many of us now use these static builds. I have done for the last 4-5 years, and they've always served me well.

TBH, as I keep pointing out, the average Puppian's hardware is now way more powerful & capable than it would have been nearly 20 years ago when Pup was first released. That being the case, the overriding imperative to keep Puppy as tiny as possible is no longer anywhere near as important as it once was.....so these days, what's an extra 50-100 MB between friends? It's insignificant, really.

Mike. ;)


Re: Where did I go wrong compiling FFMpeg?

Posted: Sun Nov 13, 2022 7:06 pm
by Jasper

@mikewalsh

If only I knew before attempting this!!! Thanks for sharing the link and information, that's really useful to know :thumbup2:

Just in case anyone wants to try these?

Approx 22mb - Just the 3 binaries -FFmpeg & FFplay & FFprobe

https://www.mediafire.com/file/634yo2qc ... ar.gz/file


Re: Where did I go wrong compiling FFMpeg? [SOLVED]

Posted: Sun Nov 13, 2022 7:21 pm
by mikewalsh

@Jasper :-

You're welcome. I tend to forget, I've been knocking around these forums for so long that I've probably forgotten more than many of our newer members have yet learnt. Along with that, I've also been using a huge number of Puppy 'hacks' for so long that these days I take them for granted.....added to which, I've completely lost track even of where I found most of 'em!

I know it was either Fred or wiak who first unearthed these and brought them to the community's attention.

Mike. ;)


Re: Where did I go wrong compiling FFMpeg?

Posted: Sun Nov 13, 2022 7:58 pm
by fredx181
Jasper wrote: Sun Nov 13, 2022 7:06 pm

@mikewalsh

If only I knew before attempting this!!! Thanks for sharing the link and information, that's really useful to know :thumbup2:

Just in case anyone wants to try these?

Approx 22mb - Just the 3 binaries -FFmpeg & FFplay & FFprobe

https://www.mediafire.com/file/634yo2qc ... ar.gz/file

Tried it on my Debian Sid and at least these are required / missing:

Code: Select all

	libdc1394.so.22 => not found
	libmodplug.so.1 => not found
	libvpx.so.6 => not found
	libwebp.so.6 => not found
	libcrystalhd.so.3 => not found
	libaom.so.0 => not found
	libcodec2.so.0.9 => not found
	libfdk-aac.so.1 => not found
	libvo-amrwbenc.so.0 => not found
	libx264.so.155 => not found
	libx265.so.179 => not found

Not a problem for me though, just letting you know that it probably doesn't work out of the box on every system.


Re: Where did I go wrong compiling FFMpeg? [SOLVED]

Posted: Sun Nov 13, 2022 8:06 pm
by Jasper

Thanks for trying it out fredx181

I did compile this with Fosspup64-9.5, so it would have been a bonus if it worked for other builds.

I have just uploaded the 3 additional files which I believe you might need.

If you have the bandwith/time/patience they are here:

Approx 106mb

https://www.mediafire.com/file/tg4e16j2 ... ar.gz/file


Re: Where did I go wrong compiling FFMpeg? [SOLVED]

Posted: Mon Nov 14, 2022 9:16 am
by fredx181

@Jasper The "_g" files make no difference for me.
Actually, I was just curious if your build is 'static' (as johnvansickle builds) , anyway tried your build on Fossapup now, and works ok :thumbup:
The johnvansickle builds work practically on every system for me, reason could be that it has different (and far less) options enabled, to compare;

Johnvansickle build:

Code: Select all

ffmpeg version 5.1.1-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg

Your build:

Code: Select all

  ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
  configuration: --prefix=/usr --enable-nonfree --enable-gpl --disable-shared --enable-small --enable-gray --enable-swscale-alpha --enable-autodetect --enable-ffmpeg --enable-ffplay --enable-ffprobe --disable-doc --disable-htmlpages --disable-podpages --disable-txtpages --enable-avdevice --enable-avcodec --enable-avformat --enable-swresample --enable-swscale --enable-postproc --enable-avfilter --enable-pthreads --disable-w32threads --disable-os2threads --enable-network --enable-dct --enable-dwt --enable-error-resilience --enable-lsp --enable-mdct --enable-rdft --enable-fft --enable-faan --enable-pixelutils --enable-alsa --enable-chromaprint --enable-gmp --enable-iconv --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdc1394 --enable-libfdk-aac --enable-libfontconfig --enable-libfribidi --enable-libgme --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librsvg --enable-librubberband --enable-librtmp --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxcb-shm --enable-libxcb-xfixes --enable-libxcb-shape --enable-libxvid --enable-libxml2 --enable-libzmq --enable-libzvbi --enable-libmysofa --enable-openal --enable-opengl --enable-sndio --enable-sdl2 --enable-version

Re: Where did I go wrong compiling FFMpeg? [SOLVED]

Posted: Mon Nov 14, 2022 10:03 am
by Jasper

@fredx181

Thanks for trying it out and confirming that it works.

Also, for sharing the code input to build the application. I will compare both and see the differences.

I did have to cut back on a number of options as they did require additional applications being installed which did not come as default.

Glad it worked for you :thumbup:

**EDIT**
I built my version to include as my video/audio/graphic options to the end user. I thought this would be beneficial to the majority of users if they relied upon FFMpeg for encoding/decoding. Also, included FFPlay as this is a backend application for others @plinej ffplay-gtk 2.0 gtkdialog app using ffpl ... php?t=1951
In future I could compile a smaller binary with less options available now that shared the code with me :thumbup2: