iiv 17 22 марта, 2021 Опубликовано 22 марта, 2021 · Жалоба Добрый день, есть ембеддед линукс, вернее его вариант на DE10-Nano или DE0-Nano-SoC на нем стоит Quote Linux de10-nano 4.1.33-ltsi-altera #1 SMP Thu Mar 30 10:37:56 PDT 2017 armv7l GNU/Linux с очень стародавним репозитарием на http://feeds.angstrom-distribution.org/feeds/v2016.12/ в котором нет lapack/blas, и есть желание собрать gcc, по возможности новее (или какой получится) с исходников, но чтоб там точно был gfortran и не менее С++14. Пробовал gcc-10.2, gcc-9-3, gcc-linaro-7.5 собирать там, и кросскомпиллить на 20.04 убунте. Во всех случаях после пары часов сборки возникает ошибка: Quote /mnt/data/1/gcc-l1/./gcc/xgcc -B/mnt/data/1/gcc-l1/./gcc/ -B/usr/local/armv7l-unknown-linux-gnueabihf/bin/ -B/usr/local/armv7l-unknown-linux-gnueabihf/lib/ -isystem /usr/local/armv7l-unknown-linux-gnueabihf/include -isystem /usr/local/armv7l-unknown-linux-gnueabihf/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -fno-inline -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -fPIC -fno-inline -I. -I. -I../.././gcc -I../../../gcc-linaro-snapshot-7.5-2019.11/libgcc -I../../../gcc-linaro-snapshot-7.5-2019.11/libgcc/. -I../../../gcc-linaro-snapshot-7.5-2019.11/libgcc/../gcc -I../../../gcc-linaro-snapshot-7.5-2019.11/libgcc/../include -DHAVE_CC_TLS -o _negdi2.o -MT _negdi2.o -MD -MP -MF _negdi2.dep -DL_negdi2 -c ../../../gcc-linaro-snapshot-7.5-2019.11/libgcc/libgcc2.c -fvisibility=hidden -DHIDE_EXPORTS In file included from /usr/include/features.h:392:0, from /usr/include/stdio.h:27, from ../../../gcc-linaro-snapshot-7.5-2019.11/libgcc/../gcc/tsystem.h:87, from ../../../gcc-linaro-snapshot-7.5-2019.11/libgcc/libgcc2.c:27: /usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^~~~~~~~~~~~~~~~~~ compilation terminated. make[3]: *** [Makefile:491: _muldi3.o] Error 1 make[3]: *** Waiting for unfinished jobs.... In file included from /usr/include/features.h:392:0, from /usr/include/stdio.h:27, from ../../../gcc-linaro-snapshot-7.5-2019.11/libgcc/../gcc/tsystem.h:87, from ../../../gcc-linaro-snapshot-7.5-2019.11/libgcc/libgcc2.c:27: /usr/include/gnu/stubs.h:7:11: fatal error: gnu/stubs-soft.h: No such file or directory # include <gnu/stubs-soft.h> ^~~~~~~~~~~~~~~~~~ compilation terminated. make[3]: *** [Makefile:491: _negdi2.o] Error 1 make[3]: Leaving directory '/mnt/data/1/gcc-l1/armv7l-unknown-linux-gnueabihf/libgcc' make[2]: *** [Makefile:18001: all-stage1-target-libgcc] Error 2 make[2]: Leaving directory '/mnt/data/1/gcc-l1' make[1]: *** [Makefile:22758: stage1-bubble] Error 2 make[1]: Leaving directory '/mnt/data/1/gcc-l1' make: *** [Makefile:932: all] Error 2 Гугление на эту ошибку приводит к тому, что надо установить -mfloat-abi=hard во время компиляции. Я пробовал собирать с такими флагами: Quote make BOOT_CFLAGS='-mfloat-abi=hard -O2' -j 2 дополнительно засовывал в Makefile в каждый вызов компилера '-mfloat-abi=hard' но падать не перестает. В репозитарии прикомпилленого gfortran нет, в linaro подходящего уже собраннного gcc, который содержит хотя бы c,c++,fortran - тоже нет. Пожалуйста, посоветуйте, что я делаю не так и куда правильно надо поместить эту опцию, чтобы избавитться от ошибки компилляции gcc c сорсов? Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amaora 20 22 марта, 2021 Опубликовано 22 марта, 2021 (изменено) · Жалоба Здесь важно с какими параметрами делали configure, в make не надо ничего передавать. Сначала наверно надо binutils установить, собрать временный gcc, им собрать glibc (или другую libc), а после уже собирать финальную версию gcc. Давно вручную не собирал, не помню точно. Можно попробовать вот здесь почитать, или спросить у автора темы. Изменено 22 марта, 2021 пользователем amaora Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
one_eight_seven 3 22 марта, 2021 Опубликовано 22 марта, 2021 (изменено) · Жалоба Как уже сказали, это опция configure. Куда её написать, можно прочитать здесь: https://gcc.gnu.org/install/configure.html Изменено 22 марта, 2021 пользователем one_eight_seven Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 23 марта, 2021 Опубликовано 23 марта, 2021 · Жалоба Не может найти файл gnu/stubs-soft.h. Чем добавлять к каждому Makefile, поставьте в командную строку как вы делали: make BOOT_CFLAGS='-mfloat-abi=hard', но поскольку это флаги компилятора, то надо написать: make CFLAGS='-mfloat-abi=hard' Поищите в мейк файлах какую переменную используют для флагов компилятора. Обычно это CFLAGS. Посмотрите какой переменной в Makefile (одном из) присваиваются вместе или поодиночке опции (достаточно найти любую из них):-g -O2 -DIN_GCC -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem -fPIC -fno-inline -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -fno-inline Если эта переменная не похожа на CFLAGS, то значит она будет использована позже для присвоения ее значения CFLAGS. Будет что-то вроде CFLAGS += -g -O2 и т.д.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iiv 17 23 марта, 2021 Опубликовано 23 марта, 2021 · Жалоба Спасибо большое, всем помогавшим и сочувствовавшим! Пробовал и в конфиг параметры передать: ./configure --with-float-abi=hard и в Makefile make CFLAGS='-mfloat-abi=hard' и даже залинковать soft include на hard include и дописывал дополнительно -march=armv7-a, -mfpu=neon, а в одной из попыток попробовал поставить --disable-multilib все разы падает, иногда правда проходит дальше, но все равно собирается не правильно и вникают ошибки. Скажите, пожалуйста, правильно ли я понимаю, что единственное оставшееся решение собирать на обычном компе, то есть crosscompile, мне правда надо, чтобы компилятор после сборки работал на arm, то есть на самой плате de10-nano, то есть какая-то часть сборки-проверки рабочести компилятора должна быть опущена, так? Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 25 марта, 2021 Опубликовано 25 марта, 2021 · Жалоба On 3/23/2021 at 4:59 AM, iiv said: все разы падает, иногда правда проходит дальше, но все равно собирается не правильно и вникают ошибки. Значит кроме описанной проблемы есть и друге. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться