error while compiling ffmpeg: gcc is unable to create an executable file

That means you don't have the necessary software to compile C code.

Run this:

apt-get install build-essential

You also want the build dependencies for ffmpeg:

apt-get build-dep ffmpeg

Then try again.


Your libc installation is incomplete or broken somehow. You should say what OS you use... the easiest fix is probably to reinstall the packages that comprise the libc.

Or if you are really interested in finding out exactly which part of it is broken, here are some tips:

On a typical glibc installation, the references to __libc_csu_init and __libc_csu_fini will be resolved by finding them in /usr/lib/libc_nonshared.a which you can check as follows:

$ nm /usr/lib/libc_nonshared.a | egrep '__libc_csu_(init|fini)'
0000000000000000 T __libc_csu_fini
0000000000000010 T __libc_csu_init

The use of /usr/lib/libc_nonshared.a will be triggered by linking to /usr/lib/libc.so (which is a text file, not an actual shared object). You can check that like this:

There may be some other stuff in it too. You can check that with

$ less /usr/lib/libc.so
[...]
GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a )

/usr/lib/libc.so will be used by the linker to satisfy the -lc requirement, which you can check like this:

$ ld --verbose -lc
[... lots of stuff ...]
opened script file /usr/lib64/libc.so
attempt to open /lib/libc.so.6 succeeded
/lib/libc.so.6
attempt to open /usr/lib/libc_nonshared.a succeeded

Tags:

Ubuntu

Gcc

Ffmpeg