Компиляция с -static-libgcc -static-libstdc ++ по-прежнему приводит к динамической зависимости от libc.so

Я пытаюсь сделать исполняемый файл максимально переносимым. После удаления нескольких зависимостей я столкнулся со следующим при запуске двоичного файла в другой системе:

/lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.15' not found (required by foob)
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by foob)
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by foob)

Я бы предпочел, чтобы мой бинарный файл не требовал от пользователя обновления его версииLibcтак что я бы тоже хотел удалить эту зависимость.

Флаги компоновщика, которые создали вышеупомянутый двоичный файл, уже включены-static-libgcc -static-libstdc++, Почему бинарный файл все еще требуется для общегоlibc.so.6?

Я пытался добавить-static флаг, однако, когда я пытаюсь запуститьтот двоичный результат очень странный:

$ ls -l foob
-rwxr-xr-x 1 claudiu claudiu 13278191 Oct 10 13:03 foob
$ ./foob
bash: ./foob: No such file or directory

Что делать?

РЕДАКТИРОВАТЬ:

$ file foob
foob: ELF 64-bit LSB  executable, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=5adee9a598b9261a29f1c7b0ffdadcfc72197cd7, not stripped
$ strace -f ./foob
execve("./foob", ["./foob"], [/* 64 vars */]) = -1 ENOENT (No such file or directory)
write(2, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory
) = 40
exit_group(1)                           = ?
+++ exited with 1 +++

Интересно, если бы яldd версиябез -static, у него есть дваМеньше записи, чем версия с-staticа именно:

libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f4f420c1000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f4f41636000)

Ответы на вопрос(2)

Ваш ответ на вопрос