Я загрузил tar 1.28 и пытаюсь скомпилировать статический двоичный файл, который будет использоваться на носителе восстановления системы в Fedora Linux (x86_64). Он не должен включать в себя общие библиотеки, такие как LIBC или Pthreads, но я хотел бы, чтобы устранить зависимость от SELinux, ACL, атр, PCRE и LZMA и т.д.Как создать статическую команду tar
В файле README указывает я могу использовать ./configure CC=gcc LDFLAGS=-static
но это создает полностью статический двоичный файл (включая libc), но отсутствует поддержка чего-либо, обычно найденного в общих библиотеках (SELinux, ACL и т. д.). Чтение config.log показывает неудачные попытки найти статическую библиотеку для acl
Итак, я установил libselinux-devel-static RPM и на этот раз получил поддержку selinux там, но я не могу найти статические библиотеки для чего-либо остальное. Результаты поиска говорят, что libacl.a находится в libacl-devel, но не мой.
Полностью статический двоичный код в порядке, но на самом деле просто хочу получить нечетные шары, поэтому мне не нужно размещать разделяемые библиотеки на носителе.
Я до сих пор не получил ответа и не знаю, где еще искать. На данный момент я застрял в использовании разделяемых библиотек, которые делают загрузочный носитель болезненным и чрезмерно большим. – AJJ
Да Я видел эти типы сообщений при попытке статически связать что-то, что само пытается загрузить общую библиотеку во время выполнения, которая будет иметь версию-зависимую. Я просто хочу статически связать все, что могу, без того, чтобы весь libc становился статически связанным. Наконец-то я нашел файл libacl.a и теперь в системе есть статические библиотеки для selinux, pthread, attr и rt. Но скрипт конфигурации кажется все или ничего. Я не могу понять, как указать флаги, которые будут статически связываться в selinux, acl, attr, например, но не libc или pthread. – AJJ
Это тоже неудачно. Я бы хотел, чтобы tar был статичным и автономным, так как иногда мне нужно обновить другие компоненты в моей системе, и tar может выйти из строя. – shevy