Компиляция источников с компилятором, отличным от стандартного

Мне нужно реализовать схему аутентификации на встроенном устройстве и потребовать gmp для выполнения больших целых операций. После загрузки источников они должны быть скомпилированы с запатентованной версией инструментов компиляции, чтобы иметь возможность статически связывать библиотеки (только один двоичный файл может быть загружен на контроллер одновременно). После запуска configure создается следующий файл make.

Запуск make с помощью собственного компилятора

make CC=/home/TI/ccsv5/tools/compiler/gcc-arm-none-eabi-4_7-2012q4/arm-none-eabi/bin/gcc 

дает следующие ошибки:

 make[2]: Entering directory `/home/TI_workspace/gmp-6.0.0/mpn' /bin/bash ../libtool --tag=CC --mode=compile /home/TI/ccsv5/tools/compiler/gcc-arm-none-eabi-4_7-2012q4/arm-none-eabi/bin/gcc -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_`echo fib_table | sed 's/_$//'` -O2 -pedantic -fomit-frame-pointer -c -o fib_table.lo fib_table.c libtool: compile: /home/TI/ccsv5/tools/compiler/gcc-arm-none-eabi-4_7-2012q4/arm-none-eabi/bin/gcc -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_fib_table -O2 -pedantic -fomit-frame-pointer -c fib_table.c -fPIC -DPIC -o .libs/fib_table.o gcc: error trying to exec 'cc1': execvp: No such file or directory make[2]: *** [fib_table.lo] Error 1 make[2]: Leaving directory `/home/TI_workspace/gmp-6.0.0/mpn' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/TI_workspace/gmp-6.0.0' make: *** [all] Error 2 

cc1 находится в:

 $ sudo find . -name cc1 -print ./ccsv5/tools/compiler/gcc-arm-none-eabi-4_7-2012q4/lib/gcc/arm-none-eabi/4.7.3/cc1 

Возможно ли создать файл makefile, чтобы он использовал собственную цепочку инструментов вместо стандартной? Если да, как его настроить?

Настройка журналов:

 checking build system type... coreisbr-unknown-linux-gnu checking host system type... arm-unknown-linux-gnueabi checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-unknown-linux-gnueabi-strip... no checking for strip... strip checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking ABI=standard checking compiler arm-unknown-linux-gnueabi-gcc -marm -O2 -pedantic -fomit-frame-pointer ... no checking compiler arm-unknown-linux-gnueabi-gcc -O2 -pedantic -fomit-frame-pointer ... no checking compiler gcc -marm -O2 -pedantic -fomit-frame-pointer ... no checking compiler gcc -O2 -pedantic -fomit-frame-pointer ... yes checking whether ARM gcc unsigned division works... yes checking for arm-unknown-linux-gnueabi-gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for gcc option to accept ISO C99... -std=gnu99 checking for gcc -std=gnu99 option to accept ISO Standard C... (cached) -std=gnu99 checking how to run the C preprocessor... gcc -std=gnu99 -E checking build system compiler gcc -std=gnu99... yes checking for build system preprocessor... gcc -std=gnu99 -E checking for build system executable suffix... checking whether build system compiler is ANSI... yes checking for build system compiler math library... -lm checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E using ABI="standard" CC="gcc -std=gnu99" CFLAGS="-O2 -pedantic -fomit-frame-pointer" CPPFLAGS="" MPN_PATH=" arm generic" checking whether assembler supports --noexecstack option... yes checking for arm-unknown-linux-gnueabi-ar... no checking for ar... ar checking for BSD- or MS-compatible name lister (nm)... no checking for arm-unknown-linux-gnueabi-dumpbin... no checking for arm-unknown-linux-gnueabi-link... no checking for dumpbin... no checking for link... link -dump checking the name lister (nm) interface... BSD nm checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... (cached) BSD nm checking how to print strings... printf checking for a sed that does not truncate output... /bin/sed checking for fgrep... /bin/grep -F checking for ld used by gcc -std=gnu99... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking how to convert coreisbr-unknown-linux-gnu file names to arm-unknown-linux-gnueabi format... func_convert_file_noop checking how to convert coreisbr-unknown-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for arm-unknown-linux-gnueabi-objdump... objdump checking how to recognize dependent libraries... pass_all checking for arm-unknown-linux-gnueabi-dlltool... dlltool checking how to associate runtime and link libraries... printf %s\n checking for arm-unknown-linux-gnueabi-ar... ar checking for archiver @FILE support... @ checking for arm-unknown-linux-gnueabi-strip... strip checking for arm-unknown-linux-gnueabi-ranlib... no checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc -std=gnu99 object... ok checking for sysroot... no checking for arm-unknown-linux-gnueabi-mt... no checking for mt... mt checking if mt is a manifest tool... no checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc -std=gnu99 supports -fno-rtti -fno-exceptions... no checking for gcc -std=gnu99 option to produce PIC... -fPIC -DPIC checking if gcc -std=gnu99 PIC flag -fPIC -DPIC works... yes checking if gcc -std=gnu99 static flag -static works... yes checking if gcc -std=gnu99 supports -c -o file.o... yes checking if gcc -std=gnu99 supports -c -o file.o... (cached) yes checking whether the gcc -std=gnu99 linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for ANSI C header files... (cached) yes checking whether time.h and sys/time.h may both be included... yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking float.h usability... yes checking float.h presence... yes checking for float.h... yes checking invent.h usability... no checking invent.h presence... no checking for invent.h... no checking langinfo.h usability... yes checking langinfo.h presence... yes checking for langinfo.h... yes checking locale.h usability... yes checking locale.h presence... yes checking for locale.h... yes checking nl_types.h usability... yes checking nl_types.h presence... yes checking for nl_types.h... yes checking sys/attributes.h usability... no checking sys/attributes.h presence... no checking for sys/attributes.h... no checking sys/iograph.h usability... no checking sys/iograph.h presence... no checking for sys/iograph.h... no checking sys/mman.h usability... yes checking sys/mman.h presence... yes checking for sys/mman.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/processor.h usability... no checking sys/processor.h presence... no checking for sys/processor.h... no checking sys/pstat.h usability... no checking sys/pstat.h presence... no checking for sys/pstat.h... no checking sys/sysinfo.h usability... yes checking sys/sysinfo.h presence... yes checking for sys/sysinfo.h... yes checking sys/syssgi.h usability... no checking sys/syssgi.h presence... no checking for sys/syssgi.h... no checking sys/systemcfg.h usability... no checking sys/systemcfg.h presence... no checking for sys/systemcfg.h... no checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking sys/times.h usability... yes checking sys/times.h presence... yes checking for sys/times.h... yes checking for sys/resource.h... yes checking for sys/sysctl.h... yes checking for machine/hal_sysinfo.h... no checking whether fgetc is declared... yes checking whether fscanf is declared... yes checking whether optarg is declared... yes checking whether ungetc is declared... yes checking whether vfprintf is declared... yes checking whether sys_errlist is declared... yes checking whether sys_nerr is declared... yes checking return type of signal handlers... void checking for intmax_t... yes checking for long double... yes checking for long long... yes checking for ptrdiff_t... yes checking for quad_t... yes checking for uint_least32_t... yes checking for intptr_t... yes checking for preprocessor stringizing operator... yes checking for working volatile... yes checking for C/C++ restrict keyword... __restrict checking whether gcc __attribute__ ((const)) works... yes checking whether gcc __attribute__ ((malloc)) works... yes checking whether gcc __attribute__ ((mode (XX))) works... yes checking whether gcc __attribute__ ((noreturn)) works... yes checking for inline... inline checking for cos in -lm... yes checking for working alloca.h... yes checking for alloca (via gmp-impl.h)... yes checking how to allocate temporary memory... alloca checking whether byte ordering is bigendian... no checking format of `double' floating point... IEEE little endian checking for alarm... yes checking for attr_get... no checking for clock... yes checking for cputime... no checking for getpagesize... yes checking for getrusage... yes checking for gettimeofday... yes checking for getsysinfo... no checking for localeconv... yes checking for memset... yes checking for mmap... yes checking for mprotect... yes checking for nl_langinfo... yes checking for obstack_vprintf... yes checking for popen... yes checking for processor_info... no checking for pstat_getprocessor... no checking for raise... yes checking for read_real_time... no checking for sigaction... yes checking for sigaltstack... yes checking for sigstack... yes checking for syssgi... no checking for strchr... yes checking for strerror... yes checking for strnlen... yes checking for strtol... yes checking for strtoul... yes checking for sysconf... yes checking for sysctl... yes checking for sysctlbyname... no checking for times... yes checking for library containing clock_gettime... none required checking for vsnprintf... yes checking whether vsnprintf works... yes checking whether sscanf needs writable input... no checking for struct pst_processor.psp_iticksperclktick... no checking for suitable m4... m4 checking if m4wrap produces spurious output... no checking how to switch to text section... .text checking how to switch to data section... .data checking for assembler label suffix... : checking for assembler global directive... .globl checking for assembler global directive attribute... checking if globals are prefixed by underscore... no checking how to switch to read-only data section... .section .rodata checking for assembler .type directive... .type $1,@$2 checking for assembler .size directive... .size $1,$2 checking for assembler local label prefix... .L checking for assembler byte directive... .byte checking how to define a 32-bit word... .long checking if .align assembly directive is logarithmic... no checking size of void *... 8 checking size of unsigned short... 2 checking size of unsigned... 4 checking size of unsigned long... 8 checking size of mp_limb_t... 8 configure: error: Oops, mp_limb_t is 64 bits, but the assembler code in this configuration expects 32 bits. 

  • Как скомпилировать и использовать команду make для установки этой определенной программы / инструмента?
  • Создание пакетов из источника на Arch linux
  • Как установить переменную среды оболочки из файла autotools .am?
  • Как запустить скрипт Python в Makefile
  • Как сделать OpenWrt Makefile более быстрым?
  • make: *** Ошибка 2 во время make
  • Файл makefile для fortran-кода
  • Ошибка: TCA_HTB_PAD не объявлен при создании ядра
  • One Solution collect form web for “Компиляция источников с компилятором, отличным от стандартного”

    Согласно документации GMP https://gmplib.org/manual/Build-Options.html, вы должны использовать эти параметры:

    При кросс-компиляции система, используемая для компиляции, задается параметром '–build', а система, в которой будет запускаться библиотека, задается '-host'. Например, при использовании системы FreeBSD Athlon для создания бинарных файлов GNU / Linux m68k,

    ./configure –build = athlon-pc-freebsd3.5 –host = m68k-mac-linux-gnu

    Interesting Posts

    Запустите Ubuntu 10.04 LTS с помощью Apache2 SSL с парольной фразой

    telnet: «Без типа среды, указанного в терминале».

    Неожиданная обратная косая черта при преобразовании из шестнадцатеричного в двоичное число

    Печатать рекурсивно все каталоги и подкаталоги

    Убийство всех скриптов python, за исключением процесса grep и конкретного скрипта python

    Как контролировать использование огромных страниц на процесс

    При использовании btrfs, почему значения «Размер», «Использовать» и «Использовать» из df не совпадают?

    Выход, который я получаю через «echo», работает как команда при вставке в терминал, но не в скрипте

    Сопоставляет ли символическая ссылка с диска A на диск B на ввод-вывод на диске A?

    Проблема с шрифтами с Debian 8.2

    Как отсортировать блоки строк с определенной строкой из блока?

    Сценарий Bash с командой «выполнить» и странным регулярным выражением

    Не удалось добавить или удалить пользователей

    Сценарии оболочки для журналов базы данных

    Как настроить панель задач в просветлении DE?

    Linux и Unix - лучшая ОС в мире.