Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Куда при сборке gcc с сорсов написать -mfloat-abi=hard ?

22.03.21 13:30
Куда при сборке gcc с сорсов написать -mfloat-abi=hard ?
 
wasja-de посетитель

Добрый день,


У меня возник вопрос, который не могу решить сам уже больше недели, помогите, пожалуйста, советом.


Есть ембеддед линукс, вернее его вариант на DE10-Nano или DE0-Nano-SoC на нем стоит:


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 убунте. Во всех случаях после пары часов сборки возникает ошибка:


/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 во время компиляции.

Я пробовал собирать с такими флагами:


make BOOT_CFLAGS=‘-mfloat-abi=hard -O2’ -j 2


дополнительно засовывал в Makefile в каждый вызов компилера ‘-mfloat-abi=hard’ но падать не перестает.


В репозитарии прикомпилленого gfortran нет, в linaro подходящего уже собраннного gcc, который содержит хотя бы c,c++,fortran - тоже нет.


Пожалуйста, посоветуйте, что я делаю не так и куда правильно надо поместить эту опцию, чтобы избавитться от ошибки компилляции gcc c сорсов?


Спасибо!

 

Перейти на