LINUX.ORG.RU

binutils static


0

1

Собираю arm-систему в chroot, gentoo, за выполнение отвечает qemu-arm.

Хочу увеличить скорость сборки, пустив в ход нативные x86-64 бинарники сборки вместо эмуляции arm, хотя бы binutils и gcc.

Однако со всеми указаниями static получаю всё равно динамически связанные файлы.

Собирал как-то так: CATEGORY=cross-armv5tel-softfloat-linux-gnueabi CBUILD=x86_64-pc-linux-gnu CHOST=x86_64-pc-linux-gnu CTARGET=armv5tel-softfloat-linux-gnueabi CFLAGS="-march=core2 -O2 -pipe -static" LDFLAGS="-Wl,-O1 -Wl,--as-needed -static -all-static" make CATEGORY=cross-armv5tel-softfloat-linux-gnueabi CBUILD=x86_64-pc-linux-gnu CHOST=x86_64-pc-linux-gnu CTARGET=armv5tel-softfloat-linux-gnueabi CFLAGS="-march=core2 -O2 -pipe -static" LDFLAGS="-Wl,-O1 -Wl,--as-needed -static -all-static" (export)

CATEGORY=cross-armv5tel-softfloat-linux-gnueabi CBUILD=x86_64-pc-linux-gnu CHOST=x86_64-pc-linux-gnu CTARGET=armv5tel-softfloat-linux-gnueabi CFLAGS="-march=core2 -O2 -pipe -static" LDFLAGS="-Wl,-O1 -Wl,--as-needed -static" ./configure --enable-gold --enable-plugins --without-included-gettext --with-zlib --build=x86_64-pc-linux-gnu --with-sysroot=/usr/armv5tel-softfloat-linux-gnueabi --enable-secureplt --prefix=/usr --host=x86_64-pc-linux-gnu --target=armv5tel-softfloat-linux-gnueabi --datadir=/usr/share/binutils-data/armv5tel-softfloat-linux-gnueabi/2.22.90 --infodir=/usr/share/binutils-data/armv5tel-softfloat-linux-gnueabi/2.22.90/info --mandir=/usr/share/binutils-data/armv5tel-softfloat-linux-gnueabi/2.22.90/man --bindir=/usr/x86_64-pc-linux-gnu/armv5tel-softfloat-linux-gnueabi/binutils-bin/2.22.90 --libdir=/usr/lib/binutils/armv5tel-softfloat-linux-gnueabi/2.22.90 --libexecdir=/usr/lib/binutils/armv5tel-softfloat-linux-gnueabi/2.22.90 --includedir=/usr/lib/binutils/armv5tel-softfloat-linux-gnueabi/2.22.90/include --enable-64-bit-bfd --enable-obsolete --disable-shared --enable-threads --disable-werror --with-bugurl=http://bugs.gentoo.org/ --enable-static

Поиск не помог.

★★★★★

Тебе не нужен статик. Вообще забудь об этом.

Тебе нужен кросс-тулчейн. emerge crossdev

Собирать что-то в эмуляторе - верх извращения.

annulen ★★★★★
()
Ответ на: комментарий от mittorn

если он что-то не собирает - значит ты его не правильно используешь или неправильно собираешь.

Возможно, имеет смысл собирать пакеты вручную, а не емержем.

annulen ★★★★★
()
Ответ на: комментарий от annulen

Иной раз легче подождать пару дней нормальной нативной сборке в эмуляторе, чем сидеть за сборкой вручную. Возможно, прийдётся запускать distcc в эмуляторе, так будет проще. Но последний раз я наткнулся на несовметстимые версии gcc и binutils. ld просто выдавал ошибку 44, ничем не поясняя.

Что нужно сделать, чтоб кросскомпиляция проходила нисколько не сложнее обычной сборки?

mittorn ★★★★★
() автор топика
Ответ на: комментарий от mittorn

Что нужно сделать, чтоб кросскомпиляция проходила нисколько не сложнее обычной сборки?

Собрать кросс-компилятор с совместимой версией binutils, или использовать готовый от производителя девайса.

annulen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.