Можно ли статически собрать gcc, используя buildroot? - PullRequest
1 голос
/ 10 октября 2011

Я использую buildroot для сборки свежего кросс-компилятора gcc на выделенной машине.

Это работало нормально, но теперь мне нужно запустить этот gcc с другой машины, на которой у меня не та же версия libc :-(. Конечно, gcc затем упал.

Возможно ли построить gcc статически, используя buildroot?

Ответы [ 2 ]

2 голосов
/ 10 октября 2011

Вы можете попробовать передать -static компоновщику (через LDFLAGS), но имейте в виду, что полное статическое соединение больше не поддерживается glibc (соответственно, ему нужна сборка glibc, которая поддерживает статическое соединение).Это связано с тем, что библиотеки nss (переключатель сервера имен) будут загружаться динамически (если только вы не скомпилируете свой собственный glibc - но это противоречит цели nss).Однако этого может быть достаточно для уменьшения зависимости от системных библиотек.

Но я могу предположить, что статически связанный gcc довольно велик - это может привести к длительному времени запуска.

0 голосов
/ 14 декабря 2015

Если ваша цель состоит только в том, чтобы создать перемещаемый набор инструментов, достаточно статически связать с expat, gmp, mpfr и mpc.Вы можете просто применить https://patchwork.ozlabs.org/patch/359841/

...